@cryptotaxi247 / infra / commits / da17de1c

merge non-critical infra into toplevel flake

This allows us to have a single place to update nixpkgs

Jörg Thalheim committed Aug 18, 2024 at 12:52 UTC da17de1c9107b77659d305a8260a6acf0ed92011
6 files changed +319 -385
flake.lock
+240 -13
@@ -1,8 +1,113 @@
1 {
2 "nodes": {
3 + "colmena": {
4 + "inputs": {
5 + "flake-compat": "flake-compat",
6 + "flake-utils": [
7 + "flake-utils"
8 + ],
9 + "nixpkgs": [
10 + "nixpkgs"
11 + ],
12 + "stable": [
13 + "nixpkgs"
14 + ]
15 + },
16 + "locked": {
17 + "lastModified": 1711386353,
18 + "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=",
19 + "owner": "zhaofengli",
20 + "repo": "colmena",
21 + "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db",
22 + "type": "github"
23 + },
24 + "original": {
25 + "owner": "zhaofengli",
26 + "repo": "colmena",
27 + "type": "github"
28 + }
29 + },
30 + "disko": {
31 + "inputs": {
32 + "nixpkgs": [
33 + "nixpkgs"
34 + ]
35 + },
36 + "locked": {
37 + "lastModified": 1723685519,
38 + "narHash": "sha256-GkXQIoZmW2zCPp1YFtAYGg/xHNyFH/Mgm79lcs81rq0=",
39 + "owner": "nix-community",
40 + "repo": "disko",
41 + "rev": "276a0d055a720691912c6a34abb724e395c8e38a",
42 + "type": "github"
43 + },
44 + "original": {
45 + "owner": "nix-community",
46 + "repo": "disko",
47 + "type": "github"
48 + }
49 + },
50 + "first-time-contribution-tagger": {
51 + "inputs": {
52 + "flake-utils": [
53 + "flake-utils"
54 + ],
55 + "nixpkgs": [
56 + "nixpkgs"
57 + ],
58 + "pre-commit": "pre-commit"
59 + },
60 + "locked": {
61 + "lastModified": 1723636455,
62 + "narHash": "sha256-zy/rVDbaCd1fKfXDG/pXrda+ozFt8YQfr4mIATsexCo=",
63 + "owner": "Janik-Haag",
64 + "repo": "first-time-contribution-tagger",
65 + "rev": "b21f965d650fbdebf6ae4a8df4843871fbc64812",
66 + "type": "github"
67 + },
68 + "original": {
69 + "owner": "Janik-Haag",
70 + "repo": "first-time-contribution-tagger",
71 + "type": "github"
72 + }
73 + },
74 + "flake-compat": {
75 + "flake": false,
76 + "locked": {
77 + "lastModified": 1650374568,
78 + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
79 + "owner": "edolstra",
80 + "repo": "flake-compat",
81 + "rev": "b4a34015c698c7793d592d66adbab377907a2be8",
82 + "type": "github"
83 + },
84 + "original": {
85 + "owner": "edolstra",
86 + "repo": "flake-compat",
87 + "type": "github"
88 + }
89 + },
90 + "flake-compat_2": {
91 + "flake": false,
92 + "locked": {
93 + "lastModified": 1673956053,
94 + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
95 + "owner": "edolstra",
96 + "repo": "flake-compat",
97 + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
98 + "type": "github"
99 + },
100 + "original": {
101 + "owner": "edolstra",
102 + "repo": "flake-compat",
103 + "type": "github"
104 + }
105 + },
106 "flake-parts": {
107 "inputs": {
5 - "nixpkgs-lib": "nixpkgs-lib"
108 + "nixpkgs-lib": [
109 + "nixpkgs"
110 + ]
111 },
112 "locked": {
113 "lastModified": 1722555600,
@@ -18,6 +123,46 @@
123 "type": "github"
124 }
125 },
126 + "flake-utils": {
127 + "inputs": {
128 + "systems": "systems"
129 + },
130 + "locked": {
131 + "lastModified": 1710146030,
132 + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
133 + "owner": "numtide",
134 + "repo": "flake-utils",
135 + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
136 + "type": "github"
137 + },
138 + "original": {
139 + "owner": "numtide",
140 + "repo": "flake-utils",
141 + "type": "github"
142 + }
143 + },
144 + "gitignore": {
145 + "inputs": {
146 + "nixpkgs": [
147 + "first-time-contribution-tagger",
148 + "pre-commit",
149 + "nixpkgs"
150 + ]
151 + },
152 + "locked": {
153 + "lastModified": 1660459072,
154 + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
155 + "owner": "hercules-ci",
156 + "repo": "gitignore.nix",
157 + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
158 + "type": "github"
159 + },
160 + "original": {
161 + "owner": "hercules-ci",
162 + "repo": "gitignore.nix",
163 + "type": "github"
164 + }
165 + },
166 "nixpkgs": {
167 "locked": {
168 "lastModified": 1723688146,
@@ -34,18 +179,6 @@
179 "type": "github"
180 }
181 },
37 - "nixpkgs-lib": {
38 - "locked": {
39 - "lastModified": 1722555339,
40 - "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
41 - "type": "tarball",
42 - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
43 - },
44 - "original": {
45 - "type": "tarball",
46 - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
47 - }
48 - },
182 "nixpkgs_2": {
183 "locked": {
184 "lastModified": 1723637854,
@@ -62,13 +195,107 @@
195 "type": "github"
196 }
197 },
198 + "pre-commit": {
199 + "inputs": {
200 + "flake-compat": "flake-compat_2",
201 + "flake-utils": [
202 + "first-time-contribution-tagger",
203 + "flake-utils"
204 + ],
205 + "gitignore": "gitignore",
206 + "nixpkgs": [
207 + "first-time-contribution-tagger",
208 + "nixpkgs"
209 + ],
210 + "nixpkgs-stable": [
211 + "first-time-contribution-tagger"
212 + ]
213 + },
214 + "locked": {
215 + "lastModified": 1702456155,
216 + "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=",
217 + "owner": "cachix",
218 + "repo": "pre-commit-hooks.nix",
219 + "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc",
220 + "type": "github"
221 + },
222 + "original": {
223 + "owner": "cachix",
224 + "repo": "pre-commit-hooks.nix",
225 + "type": "github"
226 + }
227 + },
228 "root": {
229 "inputs": {
230 + "colmena": "colmena",
231 + "disko": "disko",
232 + "first-time-contribution-tagger": "first-time-contribution-tagger",
233 "flake-parts": "flake-parts",
234 + "flake-utils": "flake-utils",
235 "nixpkgs": "nixpkgs",
236 + "sops-nix": "sops-nix",
237 + "srvos": "srvos",
238 "treefmt-nix": "treefmt-nix"
239 }
240 },
241 + "sops-nix": {
242 + "inputs": {
243 + "nixpkgs": [
244 + "nixpkgs"
245 + ],
246 + "nixpkgs-stable": [
247 + "nixpkgs"
248 + ]
249 + },
250 + "locked": {
251 + "lastModified": 1723501126,
252 + "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
253 + "owner": "Mic92",
254 + "repo": "sops-nix",
255 + "rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
256 + "type": "github"
257 + },
258 + "original": {
259 + "owner": "Mic92",
260 + "repo": "sops-nix",
261 + "type": "github"
262 + }
263 + },
264 + "srvos": {
265 + "inputs": {
266 + "nixpkgs": [
267 + "nixpkgs"
268 + ]
269 + },
270 + "locked": {
271 + "lastModified": 1723896521,
272 + "narHash": "sha256-yWxfSFKRhRe8gH8PXcFmExJbOxEOGhSiBdhrHcxtNvo=",
273 + "owner": "numtide",
274 + "repo": "srvos",
275 + "rev": "6c45a75c604159167ef6f3bcd5658fc7ef649350",
276 + "type": "github"
277 + },
278 + "original": {
279 + "owner": "numtide",
280 + "repo": "srvos",
281 + "type": "github"
282 + }
283 + },
284 + "systems": {
285 + "locked": {
286 + "lastModified": 1681028828,
287 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
288 + "owner": "nix-systems",
289 + "repo": "default",
290 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
291 + "type": "github"
292 + },
293 + "original": {
294 + "owner": "nix-systems",
295 + "repo": "default",
296 + "type": "github"
297 + }
298 + },
299 "treefmt-nix": {
300 "inputs": {
301 "nixpkgs": "nixpkgs_2"
flake.nix
+35 -1
@@ -4,7 +4,41 @@
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
6 flake-parts.url = "github:hercules-ci/flake-parts";
7 + flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
8 +
9 + flake-utils.url = "github:numtide/flake-utils";
10 treefmt-nix.url = "github:numtide/treefmt-nix";
11 +
12 + colmena = {
13 + url = "github:zhaofengli/colmena";
14 + inputs = {
15 + flake-utils.follows = "flake-utils";
16 + nixpkgs.follows = "nixpkgs";
17 + stable.follows = "nixpkgs";
18 + };
19 + };
20 + disko = {
21 + url = "github:nix-community/disko";
22 + inputs.nixpkgs.follows = "nixpkgs";
23 + };
24 + srvos = {
25 + url = "github:numtide/srvos";
26 + inputs.nixpkgs.follows = "nixpkgs";
27 + };
28 + sops-nix = {
29 + url = "github:Mic92/sops-nix";
30 + inputs = {
31 + nixpkgs.follows = "nixpkgs";
32 + nixpkgs-stable.follows = "nixpkgs";
33 + };
34 + };
35 + first-time-contribution-tagger = {
36 + url = "github:Janik-Haag/first-time-contribution-tagger";
37 + inputs = {
38 + nixpkgs.follows = "nixpkgs";
39 + flake-utils.follows = "flake-utils";
40 + };
41 + };
42 };
43 outputs =
44 inputs@{ flake-parts, ... }:
@@ -18,7 +52,7 @@
52 imports = [
53 ./formatter/flake-module.nix
54 ./terraform/flake-module.nix
55 + ./non-critical-infra/flake-module.nix
56 ];
57 };
23 -
58 }
non-critical-infra/.envrc
+1 -1
@@ -1 +1 @@
1 -use flake
1 +use flake .#non-critical-infra
non-critical-infra/flake-module.nix new
+43
@@ -0,0 +1,43 @@
1 +{ inputs, lib, ... }:
2 +{
3 + flake =
4 + let
5 + importConfig =
6 + path:
7 + (lib.mapAttrs (name: _value: import (path + "/${name}/default.nix")) (
8 + lib.filterAttrs (_: v: v == "directory") (builtins.readDir path)
9 + ));
10 + in
11 + {
12 + nixosConfigurations = builtins.mapAttrs (
13 + _name: value:
14 + inputs.nixpkgs.lib.nixosSystem {
15 + inherit lib;
16 + system = "x86_64-linux";
17 + specialArgs = {
18 + inherit inputs;
19 + };
20 + modules = [
21 + value
22 + inputs.disko.nixosModules.disko
23 + inputs.first-time-contribution-tagger.nixosModule
24 + inputs.sops-nix.nixosModules.sops
25 + ];
26 + extraModules = [ inputs.colmena.nixosModules.deploymentOptions ];
27 +
28 + }
29 + ) (importConfig ./hosts);
30 + };
31 +
32 + perSystem =
33 + { pkgs, inputs', ... }:
34 + {
35 + devShells.non-critical-infra = pkgs.mkShellNoCC {
36 + packages = [
37 + inputs'.colmena.packages.colmena
38 + pkgs.sops
39 + pkgs.ssh-to-age
40 + ];
41 + };
42 + };
43 +}
non-critical-infra/flake.lock deleted
-264
@@ -1,264 +0,0 @@
1 -{
2 - "nodes": {
3 - "colmena": {
4 - "inputs": {
5 - "flake-compat": "flake-compat",
6 - "flake-utils": [
7 - "flake-utils"
8 - ],
9 - "nixpkgs": [
10 - "nixpkgs"
11 - ],
12 - "stable": [
13 - "nixpkgs"
14 - ]
15 - },
16 - "locked": {
17 - "lastModified": 1711386353,
18 - "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=",
19 - "owner": "zhaofengli",
20 - "repo": "colmena",
21 - "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db",
22 - "type": "github"
23 - },
24 - "original": {
25 - "owner": "zhaofengli",
26 - "repo": "colmena",
27 - "type": "github"
28 - }
29 - },
30 - "disko": {
31 - "inputs": {
32 - "nixpkgs": [
33 - "nixpkgs"
34 - ]
35 - },
36 - "locked": {
37 - "lastModified": 1723426710,
38 - "narHash": "sha256-yrS9al6l3fYfFfvovnyBWnyELDQOdfKyai4K/jKgoBw=",
39 - "owner": "nix-community",
40 - "repo": "disko",
41 - "rev": "0d510fe40b56ed74907a021d7e1ffd0042592914",
42 - "type": "github"
43 - },
44 - "original": {
45 - "owner": "nix-community",
46 - "repo": "disko",
47 - "type": "github"
48 - }
49 - },
50 - "first-time-contribution-tagger": {
51 - "inputs": {
52 - "flake-utils": [
53 - "flake-utils"
54 - ],
55 - "nixpkgs": [
56 - "nixpkgs"
57 - ],
58 - "pre-commit": "pre-commit"
59 - },
60 - "locked": {
61 - "lastModified": 1723636455,
62 - "narHash": "sha256-zy/rVDbaCd1fKfXDG/pXrda+ozFt8YQfr4mIATsexCo=",
63 - "owner": "Janik-Haag",
64 - "repo": "first-time-contribution-tagger",
65 - "rev": "b21f965d650fbdebf6ae4a8df4843871fbc64812",
66 - "type": "github"
67 - },
68 - "original": {
69 - "owner": "Janik-Haag",
70 - "repo": "first-time-contribution-tagger",
71 - "type": "github"
72 - }
73 - },
74 - "flake-compat": {
75 - "flake": false,
76 - "locked": {
77 - "lastModified": 1650374568,
78 - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
79 - "owner": "edolstra",
80 - "repo": "flake-compat",
81 - "rev": "b4a34015c698c7793d592d66adbab377907a2be8",
82 - "type": "github"
83 - },
84 - "original": {
85 - "owner": "edolstra",
86 - "repo": "flake-compat",
87 - "type": "github"
88 - }
89 - },
90 - "flake-compat_2": {
91 - "flake": false,
92 - "locked": {
93 - "lastModified": 1673956053,
94 - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
95 - "owner": "edolstra",
96 - "repo": "flake-compat",
97 - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
98 - "type": "github"
99 - },
100 - "original": {
101 - "owner": "edolstra",
102 - "repo": "flake-compat",
103 - "type": "github"
104 - }
105 - },
106 - "flake-utils": {
107 - "inputs": {
108 - "systems": "systems"
109 - },
110 - "locked": {
111 - "lastModified": 1710146030,
112 - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
113 - "owner": "numtide",
114 - "repo": "flake-utils",
115 - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
116 - "type": "github"
117 - },
118 - "original": {
119 - "owner": "numtide",
120 - "repo": "flake-utils",
121 - "type": "github"
122 - }
123 - },
124 - "gitignore": {
125 - "inputs": {
126 - "nixpkgs": [
127 - "first-time-contribution-tagger",
128 - "pre-commit",
129 - "nixpkgs"
130 - ]
131 - },
132 - "locked": {
133 - "lastModified": 1660459072,
134 - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
135 - "owner": "hercules-ci",
136 - "repo": "gitignore.nix",
137 - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
138 - "type": "github"
139 - },
140 - "original": {
141 - "owner": "hercules-ci",
142 - "repo": "gitignore.nix",
143 - "type": "github"
144 - }
145 - },
146 - "nixpkgs": {
147 - "locked": {
148 - "lastModified": 1723556749,
149 - "narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=",
150 - "owner": "NixOS",
151 - "repo": "nixpkgs",
152 - "rev": "4a92571f9207810b559c9eac203d1f4d79830073",
153 - "type": "github"
154 - },
155 - "original": {
156 - "owner": "NixOS",
157 - "ref": "nixos-24.05",
158 - "repo": "nixpkgs",
159 - "type": "github"
160 - }
161 - },
162 - "pre-commit": {
163 - "inputs": {
164 - "flake-compat": "flake-compat_2",
165 - "flake-utils": [
166 - "first-time-contribution-tagger",
167 - "flake-utils"
168 - ],
169 - "gitignore": "gitignore",
170 - "nixpkgs": [
171 - "first-time-contribution-tagger",
172 - "nixpkgs"
173 - ],
174 - "nixpkgs-stable": [
175 - "first-time-contribution-tagger"
176 - ]
177 - },
178 - "locked": {
179 - "lastModified": 1702456155,
180 - "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=",
181 - "owner": "cachix",
182 - "repo": "pre-commit-hooks.nix",
183 - "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc",
184 - "type": "github"
185 - },
186 - "original": {
187 - "owner": "cachix",
188 - "repo": "pre-commit-hooks.nix",
189 - "type": "github"
190 - }
191 - },
192 - "root": {
193 - "inputs": {
194 - "colmena": "colmena",
195 - "disko": "disko",
196 - "first-time-contribution-tagger": "first-time-contribution-tagger",
197 - "flake-utils": "flake-utils",
198 - "nixpkgs": "nixpkgs",
199 - "sops-nix": "sops-nix",
200 - "srvos": "srvos"
201 - }
202 - },
203 - "sops-nix": {
204 - "inputs": {
205 - "nixpkgs": [
206 - "nixpkgs"
207 - ],
208 - "nixpkgs-stable": [
209 - "nixpkgs"
210 - ]
211 - },
212 - "locked": {
213 - "lastModified": 1723501126,
214 - "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
215 - "owner": "Mic92",
216 - "repo": "sops-nix",
217 - "rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
218 - "type": "github"
219 - },
220 - "original": {
221 - "owner": "Mic92",
222 - "repo": "sops-nix",
223 - "type": "github"
224 - }
225 - },
226 - "srvos": {
227 - "inputs": {
228 - "nixpkgs": [
229 - "nixpkgs"
230 - ]
231 - },
232 - "locked": {
233 - "lastModified": 1723423676,
234 - "narHash": "sha256-E+DdXV2cFj77vU35cVNoEEE5YueE075HXiJLXwAxJ0k=",
235 - "owner": "numtide",
236 - "repo": "srvos",
237 - "rev": "a7cc81cd76c4c07bb7db01b731199ecd4be17305",
238 - "type": "github"
239 - },
240 - "original": {
241 - "owner": "numtide",
242 - "repo": "srvos",
243 - "type": "github"
244 - }
245 - },
246 - "systems": {
247 - "locked": {
248 - "lastModified": 1681028828,
249 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
250 - "owner": "nix-systems",
251 - "repo": "default",
252 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
253 - "type": "github"
254 - },
255 - "original": {
256 - "owner": "nix-systems",
257 - "repo": "default",
258 - "type": "github"
259 - }
260 - }
261 - },
262 - "root": "root",
263 - "version": 7
264 -}
non-critical-infra/flake.nix deleted
-106
@@ -1,106 +0,0 @@
1 -{
2 - description = "Non critical nixos org infra";
3 -
4 - inputs = {
5 - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
6 - colmena = {
7 - url = "github:zhaofengli/colmena";
8 - inputs = {
9 - flake-utils.follows = "flake-utils";
10 - nixpkgs.follows = "nixpkgs";
11 - stable.follows = "nixpkgs";
12 - };
13 - };
14 - flake-utils.url = "github:numtide/flake-utils";
15 - disko = {
16 - url = "github:nix-community/disko";
17 - inputs.nixpkgs.follows = "nixpkgs";
18 - };
19 - srvos = {
20 - url = "github:numtide/srvos";
21 - inputs.nixpkgs.follows = "nixpkgs";
22 - };
23 - sops-nix = {
24 - url = "github:Mic92/sops-nix";
25 - inputs = {
26 - nixpkgs.follows = "nixpkgs";
27 - nixpkgs-stable.follows = "nixpkgs";
28 - };
29 - };
30 -
31 - first-time-contribution-tagger = {
32 - url = "github:Janik-Haag/first-time-contribution-tagger";
33 - inputs = {
34 - nixpkgs.follows = "nixpkgs";
35 - flake-utils.follows = "flake-utils";
36 - };
37 - };
38 - };
39 -
40 - outputs =
41 - {
42 - self,
43 - nixpkgs,
44 - flake-utils,
45 - colmena,
46 - disko,
47 - first-time-contribution-tagger,
48 - sops-nix,
49 - ...
50 - }@inputs:
51 - let
52 - importConfig =
53 - path:
54 - (lib.mapAttrs (name: _value: import (path + "/${name}/default.nix")) (
55 - lib.filterAttrs (_: v: v == "directory") (builtins.readDir path)
56 - ));
57 - inherit (nixpkgs) lib;
58 - in
59 - {
60 -
61 - nixosConfigurations = builtins.mapAttrs (
62 - _name: value:
63 - nixpkgs.lib.nixosSystem {
64 - inherit lib;
65 - system = "x86_64-linux";
66 - specialArgs = {
67 - inherit inputs;
68 - };
69 - modules = [
70 - value
71 - disko.nixosModules.disko
72 - first-time-contribution-tagger.nixosModule
73 - sops-nix.nixosModules.sops
74 - ];
75 - extraModules = [ inputs.colmena.nixosModules.deploymentOptions ];
76 -
77 - }
78 - ) (importConfig ./hosts);
79 -
80 - colmena = {
81 - meta = {
82 - nixpkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
83 - nodeNixpkgs = builtins.mapAttrs (_: v: v.pkgs) self.nixosConfigurations;
84 - nodeSpecialArgs = builtins.mapAttrs (_: v: v._module.specialArgs) self.nixosConfigurations;
85 - specialArgs.lib = lib;
86 - };
87 - } // builtins.mapAttrs (_: v: { imports = v._module.args.modules; }) self.nixosConfigurations;
88 -
89 - }
90 - // flake-utils.lib.eachDefaultSystem (
91 - system:
92 - let
93 - pkgs = nixpkgs.legacyPackages.${system};
94 - in
95 - {
96 - devShell = pkgs.mkShell {
97 - buildInputs = with pkgs; [
98 - colmena.packages.${system}.colmena
99 - sops
100 - ssh-to-age
101 - ];
102 - };
103 - }
104 - );
105 -
106 -}