@cryptotaxi247 / infra / commits / 792ccc9c

merge build flake into main flake

This allows us to update dependencies and check in a single CI. Currently we don't build the core infra in our CI and this fixes it.

Jörg Thalheim committed Feb 22, 2025 at 17:58 UTC 792ccc9c2d7f663a494ce83cea66f6f6aebae989
5 files changed +438 -605
build/flake-module.nix new
+77
@@ -0,0 +1,77 @@
1 +{
2 + self,
3 + inputs,
4 + lib,
5 + ...
6 +}:
7 +let
8 + flakesModule = {
9 + imports = [
10 + inputs.agenix.nixosModules.age
11 + inputs.disko.nixosModules.disko
12 + inputs.hydra.nixosModules.hydra
13 + ];
14 +
15 + nixpkgs.overlays = [
16 + inputs.nix.overlays.default
17 + inputs.hydra.overlays.default
18 + inputs.nixos-channel-scripts.overlays.default
19 + inputs.rfc39.overlays.default
20 + ];
21 + };
22 +in
23 +{
24 + flake = {
25 + nixosConfigurations.haumea = lib.nixosSystem {
26 + system = "x86_64-linux";
27 +
28 + modules = [
29 + flakesModule
30 + ./haumea
31 + ];
32 + };
33 +
34 + nixosConfigurations.pluto = lib.nixosSystem {
35 + system = "x86_64-linux";
36 +
37 + modules = [
38 + flakesModule
39 + ./pluto
40 + ];
41 + };
42 +
43 + nixosConfigurations.mimas = lib.nixosSystem {
44 + system = "x86_64-linux";
45 +
46 + modules = [
47 + flakesModule
48 + ./mimas
49 + ];
50 + };
51 + colmena =
52 + {
53 + meta = {
54 + description = "NixOS.org infrastructure";
55 + nixpkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
56 + };
57 + }
58 + // builtins.mapAttrs (name: value: {
59 + nixpkgs.system = value.config.nixpkgs.system;
60 + imports = value._module.args.modules;
61 + deployment = {
62 + targetHost = "${name}.nixos.org";
63 + };
64 + }) self.nixosConfigurations;
65 + };
66 +
67 + perSystem =
68 + { pkgs, inputs', ... }:
69 + {
70 + devShells.default = pkgs.mkShell {
71 + buildInputs = [
72 + inputs'.agenix.packages.agenix
73 + inputs'.colmena.packages.colmena
74 + ];
75 + };
76 + };
77 +}
build/flake.lock deleted
-475
@@ -1,475 +0,0 @@
1 -{
2 - "nodes": {
3 - "agenix": {
4 - "inputs": {
5 - "darwin": "darwin",
6 - "home-manager": "home-manager",
7 - "nixpkgs": [
8 - "nixpkgs"
9 - ],
10 - "systems": "systems"
11 - },
12 - "locked": {
13 - "lastModified": 1736955230,
14 - "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
15 - "owner": "ryantm",
16 - "repo": "agenix",
17 - "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
18 - "type": "github"
19 - },
20 - "original": {
21 - "owner": "ryantm",
22 - "repo": "agenix",
23 - "type": "github"
24 - }
25 - },
26 - "colmena": {
27 - "inputs": {
28 - "flake-compat": "flake-compat",
29 - "flake-utils": "flake-utils",
30 - "nix-github-actions": "nix-github-actions",
31 - "nixpkgs": [
32 - "nixpkgs"
33 - ],
34 - "stable": "stable"
35 - },
36 - "locked": {
37 - "lastModified": 1739900653,
38 - "narHash": "sha256-hPSLvw6AZQYrZyGI6Uq4XgST7benF/0zcCpugn/P0yM=",
39 - "owner": "zhaofengli",
40 - "repo": "colmena",
41 - "rev": "2370d4336eda2a9ef29fce10fa7076ae011983ab",
42 - "type": "github"
43 - },
44 - "original": {
45 - "owner": "zhaofengli",
46 - "repo": "colmena",
47 - "type": "github"
48 - }
49 - },
50 - "darwin": {
51 - "inputs": {
52 - "nixpkgs": [
53 - "agenix",
54 - "nixpkgs"
55 - ]
56 - },
57 - "locked": {
58 - "lastModified": 1700795494,
59 - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
60 - "owner": "lnl7",
61 - "repo": "nix-darwin",
62 - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
63 - "type": "github"
64 - },
65 - "original": {
66 - "owner": "lnl7",
67 - "ref": "master",
68 - "repo": "nix-darwin",
69 - "type": "github"
70 - }
71 - },
72 - "disko": {
73 - "inputs": {
74 - "nixpkgs": [
75 - "nixpkgs"
76 - ]
77 - },
78 - "locked": {
79 - "lastModified": 1739841949,
80 - "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=",
81 - "owner": "nix-community",
82 - "repo": "disko",
83 - "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0",
84 - "type": "github"
85 - },
86 - "original": {
87 - "owner": "nix-community",
88 - "repo": "disko",
89 - "type": "github"
90 - }
91 - },
92 - "flake-compat": {
93 - "flake": false,
94 - "locked": {
95 - "lastModified": 1650374568,
96 - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
97 - "owner": "edolstra",
98 - "repo": "flake-compat",
99 - "rev": "b4a34015c698c7793d592d66adbab377907a2be8",
100 - "type": "github"
101 - },
102 - "original": {
103 - "owner": "edolstra",
104 - "repo": "flake-compat",
105 - "type": "github"
106 - }
107 - },
108 - "flake-parts": {
109 - "inputs": {
110 - "nixpkgs-lib": [
111 - "nix-eval-jobs",
112 - "nixpkgs"
113 - ]
114 - },
115 - "locked": {
116 - "lastModified": 1736143030,
117 - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
118 - "owner": "hercules-ci",
119 - "repo": "flake-parts",
120 - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
121 - "type": "github"
122 - },
123 - "original": {
124 - "owner": "hercules-ci",
125 - "repo": "flake-parts",
126 - "type": "github"
127 - }
128 - },
129 - "flake-utils": {
130 - "locked": {
131 - "lastModified": 1659877975,
132 - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
133 - "owner": "numtide",
134 - "repo": "flake-utils",
135 - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
136 - "type": "github"
137 - },
138 - "original": {
139 - "owner": "numtide",
140 - "repo": "flake-utils",
141 - "type": "github"
142 - }
143 - },
144 - "flake-utils_2": {
145 - "inputs": {
146 - "systems": "systems_2"
147 - },
148 - "locked": {
149 - "lastModified": 1705309234,
150 - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
151 - "owner": "numtide",
152 - "repo": "flake-utils",
153 - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
154 - "type": "github"
155 - },
156 - "original": {
157 - "owner": "numtide",
158 - "repo": "flake-utils",
159 - "type": "github"
160 - }
161 - },
162 - "home-manager": {
163 - "inputs": {
164 - "nixpkgs": [
165 - "agenix",
166 - "nixpkgs"
167 - ]
168 - },
169 - "locked": {
170 - "lastModified": 1703113217,
171 - "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
172 - "owner": "nix-community",
173 - "repo": "home-manager",
174 - "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
175 - "type": "github"
176 - },
177 - "original": {
178 - "owner": "nix-community",
179 - "repo": "home-manager",
180 - "type": "github"
181 - }
182 - },
183 - "hydra": {
184 - "inputs": {
185 - "libgit2": "libgit2",
186 - "nix": "nix",
187 - "nix-eval-jobs": [
188 - "nix-eval-jobs"
189 - ],
190 - "nixpkgs": [
191 - "nixpkgs"
192 - ]
193 - },
194 - "locked": {
195 - "lastModified": 1739708846,
196 - "narHash": "sha256-WJCBCifrYsbHPrXaCjGtHGU/cBJnUXApPmeEMa1LsbM=",
197 - "owner": "NixOS",
198 - "repo": "hydra",
199 - "rev": "c3b6e7b425325b2ea65a0ed638c5913ac32d1a28",
200 - "type": "github"
201 - },
202 - "original": {
203 - "owner": "NixOS",
204 - "ref": "hydra.nixos.org",
205 - "repo": "hydra",
206 - "type": "github"
207 - }
208 - },
209 - "libgit2": {
210 - "flake": false,
211 - "locked": {
212 - "lastModified": 1715853528,
213 - "narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=",
214 - "owner": "libgit2",
215 - "repo": "libgit2",
216 - "rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96",
217 - "type": "github"
218 - },
219 - "original": {
220 - "owner": "libgit2",
221 - "ref": "v1.8.1",
222 - "repo": "libgit2",
223 - "type": "github"
224 - }
225 - },
226 - "nix": {
227 - "inputs": {
228 - "flake-compat": [
229 - "hydra"
230 - ],
231 - "flake-parts": [
232 - "hydra"
233 - ],
234 - "git-hooks-nix": [
235 - "hydra"
236 - ],
237 - "libgit2": [
238 - "hydra",
239 - "libgit2"
240 - ],
241 - "nixpkgs": [
242 - "hydra",
243 - "nixpkgs"
244 - ],
245 - "nixpkgs-23-11": [
246 - "hydra"
247 - ],
248 - "nixpkgs-regression": [
249 - "hydra"
250 - ]
251 - },
252 - "locked": {
253 - "lastModified": 1726787955,
254 - "narHash": "sha256-XFznzb8L4SdUm9u+w3DPpMWJhffuv+/6+aiVl00slns=",
255 - "owner": "NixOS",
256 - "repo": "nix",
257 - "rev": "a7fdef6858dd45b9d7bda7c92324c63faee7f509",
258 - "type": "github"
259 - },
260 - "original": {
261 - "owner": "NixOS",
262 - "ref": "2.24-maintenance",
263 - "repo": "nix",
264 - "type": "github"
265 - }
266 - },
267 - "nix-eval-jobs": {
268 - "inputs": {
269 - "flake-parts": "flake-parts",
270 - "nix-github-actions": "nix-github-actions_2",
271 - "nixpkgs": [
272 - "nixpkgs"
273 - ],
274 - "treefmt-nix": "treefmt-nix"
275 - },
276 - "locked": {
277 - "lastModified": 1739500569,
278 - "narHash": "sha256-3wIReAqdTALv39gkWXLMZQvHyBOc3yPkWT2ZsItxedY=",
279 - "owner": "nix-community",
280 - "repo": "nix-eval-jobs",
281 - "rev": "4b392b284877d203ae262e16af269f702df036bc",
282 - "type": "github"
283 - },
284 - "original": {
285 - "owner": "nix-community",
286 - "repo": "nix-eval-jobs",
287 - "type": "github"
288 - }
289 - },
290 - "nix-github-actions": {
291 - "inputs": {
292 - "nixpkgs": [
293 - "colmena",
294 - "nixpkgs"
295 - ]
296 - },
297 - "locked": {
298 - "lastModified": 1729742964,
299 - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
300 - "owner": "nix-community",
301 - "repo": "nix-github-actions",
302 - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
303 - "type": "github"
304 - },
305 - "original": {
306 - "owner": "nix-community",
307 - "repo": "nix-github-actions",
308 - "type": "github"
309 - }
310 - },
311 - "nix-github-actions_2": {
312 - "inputs": {
313 - "nixpkgs": [
314 - "nix-eval-jobs",
315 - "nixpkgs"
316 - ]
317 - },
318 - "locked": {
319 - "lastModified": 1731952509,
320 - "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=",
321 - "owner": "nix-community",
322 - "repo": "nix-github-actions",
323 - "rev": "7b5f051df789b6b20d259924d349a9ba3319b226",
324 - "type": "github"
325 - },
326 - "original": {
327 - "owner": "nix-community",
328 - "repo": "nix-github-actions",
329 - "type": "github"
330 - }
331 - },
332 - "nixos-channel-scripts": {
333 - "inputs": {
334 - "nixpkgs": [
335 - "nixpkgs"
336 - ]
337 - },
338 - "locked": {
339 - "lastModified": 1730996281,
340 - "narHash": "sha256-p2v3w3Kj7iXFT6RHAWi/Hq8KcRiotzVt20VtnuzwwJ8=",
341 - "owner": "NixOS",
342 - "repo": "nixos-channel-scripts",
343 - "rev": "6192f53a652f9d8711a9ad5da80c07d8650b0b54",
344 - "type": "github"
345 - },
346 - "original": {
347 - "owner": "NixOS",
348 - "repo": "nixos-channel-scripts",
349 - "type": "github"
350 - }
351 - },
352 - "nixpkgs": {
353 - "locked": {
354 - "lastModified": 1739923778,
355 - "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=",
356 - "owner": "NixOS",
357 - "repo": "nixpkgs",
358 - "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1",
359 - "type": "github"
360 - },
361 - "original": {
362 - "owner": "NixOS",
363 - "ref": "nixos-24.11-small",
364 - "repo": "nixpkgs",
365 - "type": "github"
366 - }
367 - },
368 - "rfc39": {
369 - "inputs": {
370 - "flake-utils": "flake-utils_2",
371 - "nixpkgs": [
372 - "nixpkgs"
373 - ]
374 - },
375 - "locked": {
376 - "lastModified": 1733230283,
377 - "narHash": "sha256-aTGF9zSFQGMWttXebra0xrmHD1FxYEZPFI1zCwUrLPs=",
378 - "owner": "NixOS",
379 - "repo": "rfc39",
380 - "rev": "7523f3c250481a85dab5424f72e7e26af9e98186",
381 - "type": "github"
382 - },
383 - "original": {
384 - "owner": "NixOS",
385 - "repo": "rfc39",
386 - "type": "github"
387 - }
388 - },
389 - "root": {
390 - "inputs": {
391 - "agenix": "agenix",
392 - "colmena": "colmena",
393 - "disko": "disko",
394 - "hydra": "hydra",
395 - "nix": [
396 - "hydra",
397 - "nix"
398 - ],
399 - "nix-eval-jobs": "nix-eval-jobs",
400 - "nixos-channel-scripts": "nixos-channel-scripts",
401 - "nixpkgs": "nixpkgs",
402 - "rfc39": "rfc39"
403 - }
404 - },
405 - "stable": {
406 - "locked": {
407 - "lastModified": 1730883749,
408 - "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
409 - "owner": "NixOS",
410 - "repo": "nixpkgs",
411 - "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
412 - "type": "github"
413 - },
414 - "original": {
415 - "owner": "NixOS",
416 - "ref": "nixos-24.05",
417 - "repo": "nixpkgs",
418 - "type": "github"
419 - }
420 - },
421 - "systems": {
422 - "locked": {
423 - "lastModified": 1681028828,
424 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
425 - "owner": "nix-systems",
426 - "repo": "default",
427 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
428 - "type": "github"
429 - },
430 - "original": {
431 - "owner": "nix-systems",
432 - "repo": "default",
433 - "type": "github"
434 - }
435 - },
436 - "systems_2": {
437 - "locked": {
438 - "lastModified": 1681028828,
439 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
440 - "owner": "nix-systems",
441 - "repo": "default",
442 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
443 - "type": "github"
444 - },
445 - "original": {
446 - "owner": "nix-systems",
447 - "repo": "default",
448 - "type": "github"
449 - }
450 - },
451 - "treefmt-nix": {
452 - "inputs": {
453 - "nixpkgs": [
454 - "nix-eval-jobs",
455 - "nixpkgs"
456 - ]
457 - },
458 - "locked": {
459 - "lastModified": 1736154270,
460 - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=",
461 - "owner": "numtide",
462 - "repo": "treefmt-nix",
463 - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b",
464 - "type": "github"
465 - },
466 - "original": {
467 - "owner": "numtide",
468 - "repo": "treefmt-nix",
469 - "type": "github"
470 - }
471 - }
472 - },
473 - "root": "root",
474 - "version": 7
475 -}
build/flake.nix deleted
-122
@@ -1,122 +0,0 @@
1 -{
2 - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11-small";
3 -
4 - inputs.agenix.url = "github:ryantm/agenix";
5 - inputs.agenix.inputs.nixpkgs.follows = "nixpkgs";
6 -
7 - inputs.colmena.url = "github:zhaofengli/colmena";
8 - inputs.colmena.inputs.nixpkgs.follows = "nixpkgs";
9 -
10 - inputs.disko.url = "github:nix-community/disko";
11 - inputs.disko.inputs.nixpkgs.follows = "nixpkgs";
12 -
13 - inputs.nix-eval-jobs.url = "github:nix-community/nix-eval-jobs";
14 - inputs.nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs";
15 -
16 - inputs.hydra.url = "github:NixOS/hydra/hydra.nixos.org";
17 - inputs.hydra.inputs.nixpkgs.follows = "nixpkgs";
18 - inputs.hydra.inputs.nix-eval-jobs.follows = "nix-eval-jobs";
19 - inputs.nix.follows = "hydra/nix";
20 -
21 - inputs.nixos-channel-scripts.url = "github:NixOS/nixos-channel-scripts";
22 - inputs.nixos-channel-scripts.inputs.nixpkgs.follows = "nixpkgs";
23 -
24 - inputs.rfc39.url = "github:NixOS/rfc39";
25 - inputs.rfc39.inputs.nixpkgs.follows = "nixpkgs";
26 -
27 - outputs =
28 - {
29 - self,
30 - agenix,
31 - colmena,
32 - disko,
33 - hydra,
34 - nix,
35 - nixpkgs,
36 - nixos-channel-scripts,
37 - rfc39,
38 - ...
39 - }:
40 - let
41 - inherit (nixpkgs) lib;
42 -
43 - flakesModule = {
44 - imports = [
45 - agenix.nixosModules.age
46 - disko.nixosModules.disko
47 - hydra.nixosModules.hydra
48 - ];
49 -
50 - nixpkgs.overlays = [
51 - nix.overlays.default
52 - hydra.overlays.default
53 - nixos-channel-scripts.overlays.default
54 - rfc39.overlays.default
55 - ];
56 - };
57 - in
58 - {
59 - nixosConfigurations.haumea = nixpkgs.lib.nixosSystem {
60 - system = "x86_64-linux";
61 -
62 - modules = [
63 - flakesModule
64 - ./haumea
65 - ];
66 - };
67 -
68 - nixosConfigurations.pluto = nixpkgs.lib.nixosSystem {
69 - system = "x86_64-linux";
70 -
71 - modules = [
72 - flakesModule
73 - ./pluto
74 - ];
75 - };
76 -
77 - nixosConfigurations.mimas = nixpkgs.lib.nixosSystem {
78 - system = "x86_64-linux";
79 -
80 - modules = [
81 - flakesModule
82 - ./mimas
83 - ];
84 - };
85 -
86 - colmena =
87 - {
88 - meta = {
89 - description = "NixOS.org infrastructure";
90 - nixpkgs = import nixpkgs { system = "x86_64-linux"; };
91 - };
92 - }
93 - // builtins.mapAttrs (name: value: {
94 - nixpkgs.system = value.config.nixpkgs.system;
95 - imports = value._module.args.modules;
96 - deployment = {
97 - targetHost = "${name}.nixos.org";
98 - };
99 - }) self.nixosConfigurations;
100 -
101 - devShells =
102 - nixpkgs.lib.genAttrs
103 - [
104 - "aarch64-linux"
105 - "aarch64-darwin"
106 - "x86_64-linux"
107 - "x86_64-darwin"
108 - ]
109 - (system: {
110 - default =
111 - let
112 - pkgs = nixpkgs.legacyPackages.${system};
113 - in
114 - pkgs.mkShell {
115 - buildInputs = [
116 - agenix.packages.${system}.agenix
117 - colmena.packages.${system}.colmena
118 - ];
119 - };
120 - });
121 - };
122 -}
flake.lock
+341 -7
@@ -1,5 +1,28 @@
1 {
2 "nodes": {
3 + "agenix": {
4 + "inputs": {
5 + "darwin": "darwin",
6 + "home-manager": "home-manager",
7 + "nixpkgs": [
8 + "nixpkgs"
9 + ],
10 + "systems": "systems"
11 + },
12 + "locked": {
13 + "lastModified": 1736955230,
14 + "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
15 + "owner": "ryantm",
16 + "repo": "agenix",
17 + "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
18 + "type": "github"
19 + },
20 + "original": {
21 + "owner": "ryantm",
22 + "repo": "agenix",
23 + "type": "github"
24 + }
25 + },
26 "blobs": {
27 "flake": false,
28 "locked": {
@@ -45,6 +68,28 @@
68 }
69 },
70 "darwin": {
71 + "inputs": {
72 + "nixpkgs": [
73 + "agenix",
74 + "nixpkgs"
75 + ]
76 + },
77 + "locked": {
78 + "lastModified": 1700795494,
79 + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
80 + "owner": "lnl7",
81 + "repo": "nix-darwin",
82 + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
83 + "type": "github"
84 + },
85 + "original": {
86 + "owner": "lnl7",
87 + "ref": "master",
88 + "repo": "nix-darwin",
89 + "type": "github"
90 + }
91 + },
92 + "darwin_2": {
93 "inputs": {
94 "nixpkgs": [
95 "nixpkgs"
@@ -177,9 +222,30 @@
222 "type": "github"
223 }
224 },
225 + "flake-parts_2": {
226 + "inputs": {
227 + "nixpkgs-lib": [
228 + "nix-eval-jobs",
229 + "nixpkgs"
230 + ]
231 + },
232 + "locked": {
233 + "lastModified": 1736143030,
234 + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
235 + "owner": "hercules-ci",
236 + "repo": "flake-parts",
237 + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
238 + "type": "github"
239 + },
240 + "original": {
241 + "owner": "hercules-ci",
242 + "repo": "flake-parts",
243 + "type": "github"
244 + }
245 + },
246 "flake-utils": {
247 "inputs": {
182 - "systems": "systems"
248 + "systems": "systems_2"
249 },
250 "locked": {
251 "lastModified": 1731533236,
@@ -195,6 +261,24 @@
261 "type": "github"
262 }
263 },
264 + "flake-utils_2": {
265 + "inputs": {
266 + "systems": "systems_3"
267 + },
268 + "locked": {
269 + "lastModified": 1705309234,
270 + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
271 + "owner": "numtide",
272 + "repo": "flake-utils",
273 + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
274 + "type": "github"
275 + },
276 + "original": {
277 + "owner": "numtide",
278 + "repo": "flake-utils",
279 + "type": "github"
280 + }
281 + },
282 "gitignore": {
283 "inputs": {
284 "nixpkgs": [
@@ -217,6 +301,134 @@
301 "type": "github"
302 }
303 },
304 + "home-manager": {
305 + "inputs": {
306 + "nixpkgs": [
307 + "agenix",
308 + "nixpkgs"
309 + ]
310 + },
311 + "locked": {
312 + "lastModified": 1703113217,
313 + "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
314 + "owner": "nix-community",
315 + "repo": "home-manager",
316 + "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
317 + "type": "github"
318 + },
319 + "original": {
320 + "owner": "nix-community",
321 + "repo": "home-manager",
322 + "type": "github"
323 + }
324 + },
325 + "hydra": {
326 + "inputs": {
327 + "libgit2": "libgit2",
328 + "nix": "nix",
329 + "nix-eval-jobs": [
330 + "nix-eval-jobs"
331 + ],
332 + "nixpkgs": [
333 + "nixpkgs"
334 + ]
335 + },
336 + "locked": {
337 + "lastModified": 1739708846,
338 + "narHash": "sha256-WJCBCifrYsbHPrXaCjGtHGU/cBJnUXApPmeEMa1LsbM=",
339 + "owner": "NixOS",
340 + "repo": "hydra",
341 + "rev": "c3b6e7b425325b2ea65a0ed638c5913ac32d1a28",
342 + "type": "github"
343 + },
344 + "original": {
345 + "owner": "NixOS",
346 + "ref": "hydra.nixos.org",
347 + "repo": "hydra",
348 + "type": "github"
349 + }
350 + },
351 + "libgit2": {
352 + "flake": false,
353 + "locked": {
354 + "lastModified": 1715853528,
355 + "narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=",
356 + "owner": "libgit2",
357 + "repo": "libgit2",
358 + "rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96",
359 + "type": "github"
360 + },
361 + "original": {
362 + "owner": "libgit2",
363 + "ref": "v1.8.1",
364 + "repo": "libgit2",
365 + "type": "github"
366 + }
367 + },
368 + "nix": {
369 + "inputs": {
370 + "flake-compat": [
371 + "hydra"
372 + ],
373 + "flake-parts": [
374 + "hydra"
375 + ],
376 + "git-hooks-nix": [
377 + "hydra"
378 + ],
379 + "libgit2": [
380 + "hydra",
381 + "libgit2"
382 + ],
383 + "nixpkgs": [
384 + "hydra",
385 + "nixpkgs"
386 + ],
387 + "nixpkgs-23-11": [
388 + "hydra"
389 + ],
390 + "nixpkgs-regression": [
391 + "hydra"
392 + ]
393 + },
394 + "locked": {
395 + "lastModified": 1726787955,
396 + "narHash": "sha256-XFznzb8L4SdUm9u+w3DPpMWJhffuv+/6+aiVl00slns=",
397 + "owner": "NixOS",
398 + "repo": "nix",
399 + "rev": "a7fdef6858dd45b9d7bda7c92324c63faee7f509",
400 + "type": "github"
401 + },
402 + "original": {
403 + "owner": "NixOS",
404 + "ref": "2.24-maintenance",
405 + "repo": "nix",
406 + "type": "github"
407 + }
408 + },
409 + "nix-eval-jobs": {
410 + "inputs": {
411 + "flake-parts": "flake-parts_2",
412 + "nix-github-actions": "nix-github-actions_2",
413 + "nixpkgs": [
414 + "nixpkgs"
415 + ],
416 + "treefmt-nix": "treefmt-nix"
417 + },
418 + "locked": {
419 + "lastModified": 1739500569,
420 + "narHash": "sha256-3wIReAqdTALv39gkWXLMZQvHyBOc3yPkWT2ZsItxedY=",
421 + "owner": "nix-community",
422 + "repo": "nix-eval-jobs",
423 + "rev": "4b392b284877d203ae262e16af269f702df036bc",
424 + "type": "github"
425 + },
426 + "original": {
427 + "owner": "nix-community",
428 + "repo": "nix-eval-jobs",
429 + "type": "github"
430 + }
431 + },
432 "nix-github-actions": {
433 "inputs": {
434 "nixpkgs": [
@@ -238,18 +450,59 @@
450 "type": "github"
451 }
452 },
453 + "nix-github-actions_2": {
454 + "inputs": {
455 + "nixpkgs": [
456 + "nix-eval-jobs",
457 + "nixpkgs"
458 + ]
459 + },
460 + "locked": {
461 + "lastModified": 1731952509,
462 + "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=",
463 + "owner": "nix-community",
464 + "repo": "nix-github-actions",
465 + "rev": "7b5f051df789b6b20d259924d349a9ba3319b226",
466 + "type": "github"
467 + },
468 + "original": {
469 + "owner": "nix-community",
470 + "repo": "nix-github-actions",
471 + "type": "github"
472 + }
473 + },
474 + "nixos-channel-scripts": {
475 + "inputs": {
476 + "nixpkgs": [
477 + "nixpkgs"
478 + ]
479 + },
480 + "locked": {
481 + "lastModified": 1730996281,
482 + "narHash": "sha256-p2v3w3Kj7iXFT6RHAWi/Hq8KcRiotzVt20VtnuzwwJ8=",
483 + "owner": "NixOS",
484 + "repo": "nixos-channel-scripts",
485 + "rev": "6192f53a652f9d8711a9ad5da80c07d8650b0b54",
486 + "type": "github"
487 + },
488 + "original": {
489 + "owner": "NixOS",
490 + "repo": "nixos-channel-scripts",
491 + "type": "github"
492 + }
493 + },
494 "nixpkgs": {
495 "locked": {
243 - "lastModified": 1739624908,
244 - "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=",
496 + "lastModified": 1740100311,
497 + "narHash": "sha256-MDE8XCXtldWNtKwg6bdLvyP4gzK8TBc5xeG0j+jqjpY=",
498 "owner": "NixOS",
499 "repo": "nixpkgs",
247 - "rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
500 + "rev": "8d81223bea413099ce9fcfe54c4b93842e6d7311",
501 "type": "github"
502 },
503 "original": {
504 "owner": "NixOS",
252 - "ref": "nixos-24.11",
505 + "ref": "nixos-24.11-small",
506 "repo": "nixpkgs",
507 "type": "github"
508 }
@@ -330,19 +583,49 @@
583 "type": "github"
584 }
585 },
586 + "rfc39": {
587 + "inputs": {
588 + "flake-utils": "flake-utils_2",
589 + "nixpkgs": [
590 + "nixpkgs"
591 + ]
592 + },
593 + "locked": {
594 + "lastModified": 1733230283,
595 + "narHash": "sha256-aTGF9zSFQGMWttXebra0xrmHD1FxYEZPFI1zCwUrLPs=",
596 + "owner": "NixOS",
597 + "repo": "rfc39",
598 + "rev": "7523f3c250481a85dab5424f72e7e26af9e98186",
599 + "type": "github"
600 + },
601 + "original": {
602 + "owner": "NixOS",
603 + "repo": "rfc39",
604 + "type": "github"
605 + }
606 + },
607 "root": {
608 "inputs": {
609 + "agenix": "agenix",
610 "colmena": "colmena",
336 - "darwin": "darwin",
611 + "darwin": "darwin_2",
612 "disko": "disko",
613 "first-time-contribution-tagger": "first-time-contribution-tagger",
614 "flake-parts": "flake-parts",
615 "flake-utils": "flake-utils",
616 + "hydra": "hydra",
617 + "nix": [
618 + "hydra",
619 + "nix"
620 + ],
621 + "nix-eval-jobs": "nix-eval-jobs",
622 + "nixos-channel-scripts": "nixos-channel-scripts",
623 "nixpkgs": "nixpkgs",
624 + "rfc39": "rfc39",
625 "simple-nixos-mailserver": "simple-nixos-mailserver",
626 "sops-nix": "sops-nix",
627 "srvos": "srvos",
345 - "treefmt-nix": "treefmt-nix"
628 + "treefmt-nix": "treefmt-nix_2"
629 }
630 },
631 "simple-nixos-mailserver": {
@@ -421,7 +704,58 @@
704 "type": "github"
705 }
706 },
707 + "systems_2": {
708 + "locked": {
709 + "lastModified": 1681028828,
710 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
711 + "owner": "nix-systems",
712 + "repo": "default",
713 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
714 + "type": "github"
715 + },
716 + "original": {
717 + "owner": "nix-systems",
718 + "repo": "default",
719 + "type": "github"
720 + }
721 + },
722 + "systems_3": {
723 + "locked": {
724 + "lastModified": 1681028828,
725 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
726 + "owner": "nix-systems",
727 + "repo": "default",
728 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
729 + "type": "github"
730 + },
731 + "original": {
732 + "owner": "nix-systems",
733 + "repo": "default",
734 + "type": "github"
735 + }
736 + },
737 "treefmt-nix": {
738 + "inputs": {
739 + "nixpkgs": [
740 + "nix-eval-jobs",
741 + "nixpkgs"
742 + ]
743 + },
744 + "locked": {
745 + "lastModified": 1736154270,
746 + "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=",
747 + "owner": "numtide",
748 + "repo": "treefmt-nix",
749 + "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b",
750 + "type": "github"
751 + },
752 + "original": {
753 + "owner": "numtide",
754 + "repo": "treefmt-nix",
755 + "type": "github"
756 + }
757 + },
758 + "treefmt-nix_2": {
759 "inputs": {
760 "nixpkgs": "nixpkgs_3"
761 },
flake.nix
+20 -1
@@ -7,7 +7,25 @@
7 ];
8
9 inputs = {
10 - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
10 + agenix.url = "github:ryantm/agenix";
11 + agenix.inputs.nixpkgs.follows = "nixpkgs";
12 +
13 + nix-eval-jobs.url = "github:nix-community/nix-eval-jobs";
14 + nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs";
15 +
16 + hydra.url = "github:NixOS/hydra/hydra.nixos.org";
17 + hydra.inputs.nixpkgs.follows = "nixpkgs";
18 + hydra.inputs.nix-eval-jobs.follows = "nix-eval-jobs";
19 + nix.follows = "hydra/nix";
20 +
21 + nixos-channel-scripts.url = "github:NixOS/nixos-channel-scripts";
22 + nixos-channel-scripts.inputs.nixpkgs.follows = "nixpkgs";
23 +
24 + rfc39.url = "github:NixOS/rfc39";
25 + rfc39.inputs.nixpkgs.follows = "nixpkgs";
26 +
27 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11-small";
28 +
29 flake-parts.url = "github:hercules-ci/flake-parts";
30 flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
31
@@ -58,6 +76,7 @@
76 "aarch64-darwin"
77 ];
78 imports = [
79 + ./build/flake-module.nix
80 ./builders/flake-module.nix
81 ./formatter/flake-module.nix
82 ./checks/flake-module.nix