main
nix 81 lines 1.35 KB
Raw
1 {
2 inputs,
3 lib,
4 ...
5 }:
6 let
7 flakesModule = {
8 imports = [
9 inputs.agenix.nixosModules.age
10 inputs.disko.nixosModules.disko
11 ];
12
13 nixpkgs.overlays = [
14 inputs.rfc39.overlays.default
15 ];
16 };
17 in
18 {
19 imports = [
20 ./colmena.nix
21 ];
22 colmena.hosts = {
23 haumea = { };
24 pluto = { };
25 mimas = { };
26 titan = { };
27 };
28
29 flake = {
30 nixosConfigurations.haumea = lib.nixosSystem {
31 system = "x86_64-linux";
32
33 specialArgs = { inherit inputs; };
34 modules = [
35 flakesModule
36 ./haumea
37 ];
38 };
39
40 nixosConfigurations.pluto = lib.nixosSystem {
41 system = "x86_64-linux";
42
43 specialArgs = { inherit inputs; };
44 modules = [
45 flakesModule
46 ./pluto
47 ];
48 };
49
50 nixosConfigurations.mimas = lib.nixosSystem {
51 system = "x86_64-linux";
52
53 specialArgs = { inherit inputs; };
54 modules = [
55 flakesModule
56 ./mimas
57 ];
58 };
59
60 nixosConfigurations.titan = lib.nixosSystem {
61 system = "x86_64-linux";
62
63 specialArgs = { inherit inputs; };
64 modules = [
65 flakesModule
66 ./titan
67 ];
68 };
69 };
70
71 perSystem =
72 { pkgs, inputs', ... }:
73 {
74 devShells.build = pkgs.mkShell {
75 buildInputs = [
76 inputs'.agenix.packages.agenix
77 inputs'.colmena.packages.colmena
78 ];
79 };
80 };
81 }