Reapply "Merge pull request #565 from NixOS/flake-refactoring"
This reverts commit e54642eda5f6f3663fd381436cda2b09bdb31d33.
Jörg Thalheim committed
Feb 24, 2025 at 10:50 UTC
ffdcf19f35a58e33d6d525b65efcebc5d293855b
7 files changed
+441
-606
.github/workflows/ci.yml
+3
@@ -32,6 +32,9 @@ jobs:
32
- caliban.nixos.org
33
- elated-minsky
34
- sleepy-brown
35
+ - haumea
36
+ - pluto
37
+ - mimas
38
steps:
39
- uses: actions/checkout@v4
40
- uses: cachix/install-nix-action@v30
build/.envrc
+1
-1
@@ -1,2 +1,2 @@
1
# shellcheck shell=bash
2
-use flake
2
+use flake .#build
build/flake-module.nix
new
+76
@@ -0,0 +1,76 @@
1
+{
2
+ inputs,
3
+ lib,
4
+ ...
5
+}:
6
+let
7
+ flakesModule = {
8
+ imports = [
9
+ inputs.agenix.nixosModules.age
10
+ inputs.disko.nixosModules.disko
11
+ inputs.hydra.nixosModules.hydra
12
+ ];
13
+
14
+ nixpkgs.overlays = [
15
+ inputs.nix.overlays.default
16
+ inputs.hydra.overlays.default
17
+ inputs.nixos-channel-scripts.overlays.default
18
+ inputs.rfc39.overlays.default
19
+ ];
20
+ };
21
+in
22
+{
23
+ flake = {
24
+ nixosConfigurations.haumea = lib.nixosSystem {
25
+ system = "x86_64-linux";
26
+
27
+ modules = [
28
+ flakesModule
29
+ ./haumea
30
+ ];
31
+ };
32
+
33
+ nixosConfigurations.pluto = lib.nixosSystem {
34
+ system = "x86_64-linux";
35
+
36
+ modules = [
37
+ flakesModule
38
+ ./pluto
39
+ ];
40
+ };
41
+
42
+ nixosConfigurations.mimas = lib.nixosSystem {
43
+ system = "x86_64-linux";
44
+
45
+ modules = [
46
+ flakesModule
47
+ ./mimas
48
+ ];
49
+ };
50
+ colmena =
51
+ {
52
+ meta = {
53
+ description = "NixOS.org infrastructure";
54
+ nixpkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
55
+ };
56
+ }
57
+ // builtins.mapAttrs (name: value: {
58
+ nixpkgs.system = value.config.nixpkgs.system;
59
+ imports = value._module.args.modules;
60
+ deployment = {
61
+ targetHost = "${name}.nixos.org";
62
+ };
63
+ }) self.nixosConfigurations;
64
+ };
65
+
66
+ perSystem =
67
+ { pkgs, inputs', ... }:
68
+ {
69
+ devShells.build = pkgs.mkShell {
70
+ buildInputs = [
71
+ inputs'.agenix.packages.agenix
72
+ inputs'.colmena.packages.colmena
73
+ ];
74
+ };
75
+ };
76
+}
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": 1740254521,
497
+ "narHash": "sha256-Q7l4Q9RLNNFwr/76ySeIII28Be8AflJGGedRgtlIZDU=",
498
"owner": "NixOS",
499
"repo": "nixpkgs",
247
- "rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
500
+ "rev": "c3ef43a2fdcb6bbaa90c4495779036c2d0f7a25e",
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