blob: 77d6f4d83f24ca69ab69229b236228ae3a83d02a [file] [log] [blame]
Skyler Greya0da6b22024-02-11 22:53:41 +00001{
Samuel Shuert02ffd1e2024-02-13 21:37:15 -05002 description = "The Chimera nix configuration flake, a shared system configuration";
Skyler Greya0da6b22024-02-11 22:53:41 +00003
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
6
7 snowfall-lib = {
8 url = "github:snowfallorg/lib";
9 inputs.nixpkgs.follows = "nixpkgs";
10 };
11
12 home-manager = {
13 url = "github:nix-community/home-manager";
14 inputs.nixpkgs.follows = "nixpkgs";
15 };
16
17 nix-index-database = {
18 url = "github:nix-community/nix-index-database";
19 inputs.nixpkgs.follows = "nixpkgs";
20 };
21
22 hyprland.url = "github:hyprwm/Hyprland";
23
24 anyrun = {
25 url = "github:Kirottu/anyrun";
26 inputs.nixpkgs.follows = "nixpkgs";
27 };
28
29 ewwsalmoomedits--eww-widgets = {
30 url = "github:saimoomedits/eww-widgets";
31 flake = false;
32 };
Skyler Grey4e230892024-02-13 22:58:46 +000033
34 nur.url = "github:nix-community/nur";
Skyler Greya0da6b22024-02-11 22:53:41 +000035 };
36
Skyler Grey4e230892024-02-13 22:58:46 +000037 outputs =
38 { self, nixpkgs, ... }@inputs:
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000039 let
40 extraHomeModules = [
41 inputs.anyrun.homeManagerModules.default
42 inputs.hyprland.homeManagerModules.default
43 inputs.nur.hmModules.nur
44 ];
45 in inputs.snowfall-lib.mkFlake {
Skyler Greya0da6b22024-02-11 22:53:41 +000046 inherit inputs;
47 src = ./.;
48
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000049 # homes.modules = [
50 # TODO: inputs.nix-index-database.hmModules.nix-index
51 # ];
Skyler Greya0da6b22024-02-11 22:53:41 +000052
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000053 homes.users."coded@shorthair".modules = extraHomeModules;
54
55 homes.users."minion@greylag".modules = extraHomeModules;
56
Skyler Greya0da6b22024-02-11 22:53:41 +000057
58 system.modules.nixos = [
59 inputs.hyprland.nixosModules.default
Samuel Shuert02ffd1e2024-02-13 21:37:15 -050060 inputs.nur.nixosModules.nur
Skyler Greya0da6b22024-02-11 22:53:41 +000061 ];
62
63 snowfall = {
Skyler Grey4e230892024-02-13 22:58:46 +000064 namespace = "chimera";
Skyler Greya0da6b22024-02-11 22:53:41 +000065
Skyler Grey4e230892024-02-13 22:58:46 +000066 meta.name = "chimera";
67 meta.title = "Coded and Minion's Nix Configurations";
Skyler Greya0da6b22024-02-11 22:53:41 +000068 };
69
70 outputs-builder = channels: {
Skyler Grey4e230892024-02-13 22:58:46 +000071 formatter = nixpkgs.legacyPackages.${channels.nixpkgs.system}.nixfmt-rfc-style;
Skyler Greya0da6b22024-02-11 22:53:41 +000072 };
73
74 channels-config = {
75 allowUnfree = true;
76 };
77 };
78}