+4
-2
files/karabiner/keybind-helpers.json
+4
-2
files/karabiner/keybind-helpers.json
···
13
"description": "MacBook internal keyboard",
14
"vendor_id": 1452,
15
"product_id": 641
16
+
},
17
+
{ "is_built_in_keyboard": true }
18
]
19
}
20
],
···
51
"description": "MacBook internal keyboard",
52
"vendor_id": 1452,
53
"product_id": 641
54
+
},
55
+
{ "is_built_in_keyboard": true }
56
]
57
}
58
],
+51
-104
flake.lock
+51
-104
flake.lock
···
5
"home-manager": [
6
"home-manager"
7
],
8
-
"nix-darwin": "nix-darwin",
9
"nixpkgs": [
10
"nixpkgs"
11
],
···
65
"systems": "systems_2"
66
},
67
"locked": {
68
-
"lastModified": 1726560853,
69
-
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
70
-
"owner": "numtide",
71
-
"repo": "flake-utils",
72
-
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
73
-
"type": "github"
74
-
},
75
-
"original": {
76
-
"owner": "numtide",
77
-
"repo": "flake-utils",
78
-
"type": "github"
79
-
}
80
-
},
81
-
"flake-utils_3": {
82
-
"inputs": {
83
-
"systems": "systems_3"
84
-
},
85
-
"locked": {
86
"lastModified": 1731533236,
87
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
88
"owner": "numtide",
···
140
]
141
},
142
"locked": {
143
-
"lastModified": 1758375677,
144
-
"narHash": "sha256-BLtD+6qWz7fQjPk2wpwyXQLGI0E30Ikgf2ppn2nVadI=",
145
"owner": "nix-community",
146
"repo": "home-manager",
147
-
"rev": "edc7468e12be92e926847cb02418e649b02b59dd",
148
"type": "github"
149
},
150
"original": {
···
177
"lix": {
178
"flake": false,
179
"locked": {
180
-
"lastModified": 1729298361,
181
-
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
182
-
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
183
"type": "tarball",
184
-
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
185
},
186
"original": {
187
"type": "tarball",
188
-
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
189
}
190
},
191
"lix-module": {
···
198
]
199
},
200
"locked": {
201
-
"lastModified": 1732605668,
202
-
"narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=",
203
-
"rev": "f19bd752910bbe3a861c9cad269bd078689d50fe",
204
"type": "tarball",
205
-
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz"
206
},
207
"original": {
208
"type": "tarball",
209
-
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"
210
}
211
},
212
"niri-flake": {
···
221
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
222
},
223
"locked": {
224
-
"lastModified": 1758434547,
225
-
"narHash": "sha256-HV6J991KhLAvPk9jXOiO9kufVm9JwBhggTxx608bxIw=",
226
"owner": "sodiboo",
227
"repo": "niri-flake",
228
-
"rev": "1e707d7863f8c17ff13f4394c6c17df68cd8ac49",
229
"type": "github"
230
},
231
"original": {
···
254
"niri-unstable": {
255
"flake": false,
256
"locked": {
257
-
"lastModified": 1758370089,
258
-
"narHash": "sha256-0C7695SLx4hU9m3VW4fCrZdvyIY+3kFQTWELHA4hxRQ=",
259
"owner": "YaLTeR",
260
"repo": "niri",
261
-
"rev": "a1dccedbb72da372d2a8a84022f37ccaa4d4a6e6",
262
"type": "github"
263
},
264
"original": {
···
270
"nix-darwin": {
271
"inputs": {
272
"nixpkgs": [
273
-
"denix",
274
"nixpkgs"
275
]
276
},
277
"locked": {
278
-
"lastModified": 1751313918,
279
-
"narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
280
"owner": "nix-darwin",
281
"repo": "nix-darwin",
282
-
"rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
283
"type": "github"
284
},
285
"original": {
···
288
"type": "github"
289
}
290
},
291
-
"nix-darwin_2": {
292
-
"inputs": {
293
-
"nixpkgs": [
294
-
"nixpkgs"
295
-
]
296
-
},
297
-
"locked": {
298
-
"lastModified": 1758387173,
299
-
"narHash": "sha256-E5Ru709RoQEFl+Q0MHRXTIvbY0l6LSR1UHqwTulSeog=",
300
-
"owner": "LnL7",
301
-
"repo": "nix-darwin",
302
-
"rev": "7be9c1b136ef7083e60eb060be0a66dcb254e3ca",
303
-
"type": "github"
304
-
},
305
-
"original": {
306
-
"owner": "LnL7",
307
-
"repo": "nix-darwin",
308
-
"type": "github"
309
-
}
310
-
},
311
"nix-index-database": {
312
"inputs": {
313
"nixpkgs": [
···
315
]
316
},
317
"locked": {
318
-
"lastModified": 1758427679,
319
-
"narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=",
320
"owner": "nix-community",
321
"repo": "nix-index-database",
322
-
"rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85",
323
"type": "github"
324
},
325
"original": {
···
330
},
331
"nix-vscode-extensions": {
332
"inputs": {
333
-
"flake-utils": "flake-utils_3",
334
"nixpkgs": "nixpkgs_2"
335
},
336
"locked": {
337
-
"lastModified": 1758420016,
338
-
"narHash": "sha256-xnS4Xp2nvtT+fwIfxz16ikSMs03pV9SpQW80btttVe4=",
339
"owner": "nix-community",
340
"repo": "nix-vscode-extensions",
341
-
"rev": "c55175e19f142be0330b2579d7da043d2f22e324",
342
"type": "github"
343
},
344
"original": {
···
380
},
381
"nixpkgs-stable": {
382
"locked": {
383
-
"lastModified": 1758346548,
384
-
"narHash": "sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E=",
385
"owner": "NixOS",
386
"repo": "nixpkgs",
387
-
"rev": "b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20",
388
"type": "github"
389
},
390
"original": {
391
"owner": "NixOS",
392
-
"ref": "nixos-25.05",
393
"repo": "nixpkgs",
394
"type": "github"
395
}
396
},
397
"nixpkgs_2": {
398
"locked": {
399
-
"lastModified": 1744868846,
400
-
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
401
-
"owner": "NixOS",
402
"repo": "nixpkgs",
403
-
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
404
"type": "github"
405
},
406
"original": {
407
-
"owner": "NixOS",
408
"repo": "nixpkgs",
409
-
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
410
"type": "github"
411
}
412
},
413
"nixpkgs_3": {
414
"locked": {
415
-
"lastModified": 1758277210,
416
-
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=",
417
"owner": "nixos",
418
"repo": "nixpkgs",
419
-
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
420
"type": "github"
421
},
422
"original": {
···
453
"iosevka-solai": "iosevka-solai",
454
"lix-module": "lix-module",
455
"niri-flake": "niri-flake",
456
-
"nix-darwin": "nix-darwin_2",
457
"nix-index-database": "nix-index-database",
458
"nix-vscode-extensions": "nix-vscode-extensions",
459
"nixpkgs": "nixpkgs_3",
···
490
"type": "github"
491
}
492
},
493
-
"systems_3": {
494
-
"locked": {
495
-
"lastModified": 1681028828,
496
-
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
497
-
"owner": "nix-systems",
498
-
"repo": "default",
499
-
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
500
-
"type": "github"
501
-
},
502
-
"original": {
503
-
"owner": "nix-systems",
504
-
"repo": "default",
505
-
"type": "github"
506
-
}
507
-
},
508
"xwayland-satellite-stable": {
509
"flake": false,
510
"locked": {
···
525
"xwayland-satellite-unstable": {
526
"flake": false,
527
"locked": {
528
-
"lastModified": 1757179758,
529
-
"narHash": "sha256-TIvyWzRt1miQj6Cf5Wy8Qz43XIZX7c4vTVwRLAT5S4Y=",
530
"owner": "Supreeeme",
531
"repo": "xwayland-satellite",
532
-
"rev": "970728d0d9d1eada342bb8860af214b601139e58",
533
"type": "github"
534
},
535
"original": {
···
545
]
546
},
547
"locked": {
548
-
"lastModified": 1757304371,
549
-
"narHash": "sha256-EZ3Vwgh5xgXuiPUmr9e1a9dEu3hvEWhRurAKpsAwB2A=",
550
"owner": "youwen5",
551
"repo": "zen-browser-flake",
552
-
"rev": "3968348af022fe88468ef8de4f9683076e2e5e4b",
553
"type": "github"
554
},
555
"original": {
···
5
"home-manager": [
6
"home-manager"
7
],
8
+
"nix-darwin": [
9
+
"nix-darwin"
10
+
],
11
"nixpkgs": [
12
"nixpkgs"
13
],
···
67
"systems": "systems_2"
68
},
69
"locked": {
70
"lastModified": 1731533236,
71
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
72
"owner": "numtide",
···
124
]
125
},
126
"locked": {
127
+
"lastModified": 1767391542,
128
+
"narHash": "sha256-qHXxJuFkQhggyeao/kQb6KcOjgz0Ky+ArfowRX1MHaE=",
129
"owner": "nix-community",
130
"repo": "home-manager",
131
+
"rev": "2f06b726061b7e1aa69f718e943da9ffcecd6397",
132
"type": "github"
133
},
134
"original": {
···
161
"lix": {
162
"flake": false,
163
"locked": {
164
+
"lastModified": 1751234633,
165
+
"narHash": "sha256-b5d+HnPcyHz0ZJW1+LZl4qm4LGTB/TiaDFQVlVL2xpE=",
166
+
"rev": "7c8c7562be432f1f40b98c24f528696b1ae20263",
167
"type": "tarball",
168
+
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7c8c7562be432f1f40b98c24f528696b1ae20263.tar.gz?rev=7c8c7562be432f1f40b98c24f528696b1ae20263"
169
},
170
"original": {
171
"type": "tarball",
172
+
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.3.tar.gz"
173
}
174
},
175
"lix-module": {
···
182
]
183
},
184
"locked": {
185
+
"lastModified": 1756128651,
186
+
"narHash": "sha256-Bacu3Ek38AtlL+pSsbdUW4V5Waat0FnhyzLoQjPUxWE=",
187
+
"rev": "96fc11f1b68f0138de71205122670ef736cdb0d9",
188
"type": "tarball",
189
+
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/96fc11f1b68f0138de71205122670ef736cdb0d9.tar.gz"
190
},
191
"original": {
192
"type": "tarball",
193
+
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.3-2.tar.gz"
194
}
195
},
196
"niri-flake": {
···
205
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
206
},
207
"locked": {
208
+
"lastModified": 1767377696,
209
+
"narHash": "sha256-OShXLsMyF9hxmiID1p4QF+ekqreViHM9105ej05S2uI=",
210
"owner": "sodiboo",
211
"repo": "niri-flake",
212
+
"rev": "ba6ea712dc2da0b01c6a8d02dd9e86973663e4de",
213
"type": "github"
214
},
215
"original": {
···
238
"niri-unstable": {
239
"flake": false,
240
"locked": {
241
+
"lastModified": 1767160009,
242
+
"narHash": "sha256-aTj88rDBdhmzaGXoFPOsHjXYM2OjNttixsGftT/X0dI=",
243
"owner": "YaLTeR",
244
"repo": "niri",
245
+
"rev": "cf0b4bc0ca93ab5c18b562ada1d8609b67b3c4e3",
246
"type": "github"
247
},
248
"original": {
···
254
"nix-darwin": {
255
"inputs": {
256
"nixpkgs": [
257
"nixpkgs"
258
]
259
},
260
"locked": {
261
+
"lastModified": 1767028240,
262
+
"narHash": "sha256-0/fLUqwJ4Z774muguUyn5t8AQ6wyxlNbHexpje+5hRo=",
263
"owner": "nix-darwin",
264
"repo": "nix-darwin",
265
+
"rev": "c31afa6e76da9bbc7c9295e39c7de9fca1071ea1",
266
"type": "github"
267
},
268
"original": {
···
271
"type": "github"
272
}
273
},
274
"nix-index-database": {
275
"inputs": {
276
"nixpkgs": [
···
278
]
279
},
280
"locked": {
281
+
"lastModified": 1765267181,
282
+
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
283
"owner": "nix-community",
284
"repo": "nix-index-database",
285
+
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
286
"type": "github"
287
},
288
"original": {
···
293
},
294
"nix-vscode-extensions": {
295
"inputs": {
296
"nixpkgs": "nixpkgs_2"
297
},
298
"locked": {
299
+
"lastModified": 1767405959,
300
+
"narHash": "sha256-K9P7J2W/deP9d1aZOlIvmK+sWCQrk6kcX3T21y3Marc=",
301
"owner": "nix-community",
302
"repo": "nix-vscode-extensions",
303
+
"rev": "c84c57fb183f7b2318187927d3a82641e6796933",
304
"type": "github"
305
},
306
"original": {
···
342
},
343
"nixpkgs-stable": {
344
"locked": {
345
+
"lastModified": 1767325753,
346
+
"narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=",
347
"owner": "NixOS",
348
"repo": "nixpkgs",
349
+
"rev": "64049ca74d63e971b627b5f3178d95642e61cedd",
350
"type": "github"
351
},
352
"original": {
353
"owner": "NixOS",
354
+
"ref": "nixos-25.11",
355
"repo": "nixpkgs",
356
"type": "github"
357
}
358
},
359
"nixpkgs_2": {
360
"locked": {
361
+
"lastModified": 1766025857,
362
+
"narHash": "sha256-Lav5jJazCW4mdg1iHcROpuXqmM94BWJvabLFWaJVJp0=",
363
+
"owner": "nixos",
364
"repo": "nixpkgs",
365
+
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
366
"type": "github"
367
},
368
"original": {
369
+
"owner": "nixos",
370
"repo": "nixpkgs",
371
+
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
372
"type": "github"
373
}
374
},
375
"nixpkgs_3": {
376
"locked": {
377
+
"lastModified": 1767116409,
378
+
"narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=",
379
"owner": "nixos",
380
"repo": "nixpkgs",
381
+
"rev": "cad22e7d996aea55ecab064e84834289143e44a0",
382
"type": "github"
383
},
384
"original": {
···
415
"iosevka-solai": "iosevka-solai",
416
"lix-module": "lix-module",
417
"niri-flake": "niri-flake",
418
+
"nix-darwin": "nix-darwin",
419
"nix-index-database": "nix-index-database",
420
"nix-vscode-extensions": "nix-vscode-extensions",
421
"nixpkgs": "nixpkgs_3",
···
452
"type": "github"
453
}
454
},
455
"xwayland-satellite-stable": {
456
"flake": false,
457
"locked": {
···
472
"xwayland-satellite-unstable": {
473
"flake": false,
474
"locked": {
475
+
"lastModified": 1766429945,
476
+
"narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=",
477
"owner": "Supreeeme",
478
"repo": "xwayland-satellite",
479
+
"rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e",
480
"type": "github"
481
},
482
"original": {
···
492
]
493
},
494
"locked": {
495
+
"lastModified": 1767307876,
496
+
"narHash": "sha256-d5EKvUnfr6tdhymIThz0WGG0JHT2cCZzbZK4t2CwYuc=",
497
"owner": "youwen5",
498
"repo": "zen-browser-flake",
499
+
"rev": "c5bffaf433e6137fe80cd1930584836f11119b26",
500
"type": "github"
501
},
502
"original": {
+19
-29
flake.nix
+19
-29
flake.nix
···
5
# nur.url = "github:nix-community/NUR";
6
7
nix-darwin = {
8
-
url = "github:LnL7/nix-darwin";
9
inputs.nixpkgs.follows = "nixpkgs";
10
};
11
···
30
};
31
32
lix-module = {
33
-
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
34
inputs.nixpkgs.follows = "nixpkgs";
35
};
36
37
denix = {
38
url = "github:yunfachi/denix";
39
inputs.nixpkgs.follows = "nixpkgs";
40
inputs.home-manager.follows = "home-manager";
41
};
42
···
44
url = "github:youwen5/zen-browser-flake";
45
inputs.nixpkgs.follows = "nixpkgs";
46
};
47
-
48
-
# ags = {
49
-
# url = "github:Aylur/ags";
50
-
# inputs.nixpkgs.follows = "nixpkgs";
51
-
# };
52
};
53
54
outputs = {
55
-
# ags,
56
denix,
57
home-manager,
58
lix-module,
···
63
self,
64
...
65
} @ inputs: let
66
-
system = "x86_64-linux";
67
-
pkgs = nixpkgs.legacyPackages.${system};
68
-
# agsPkgs = ags.packages.${system};
69
mkConfigurations = moduleSystem:
70
denix.lib.configurations (let
71
homeManagerUser = "ovy";
···
76
specialArgs = {inherit inputs moduleSystem homeManagerUser;};
77
});
78
in {
79
-
packages.${system} = {
80
iconifydl = pkgs.callPackage ./pkgs/iconifydl.nix {};
81
-
82
-
# default = ags.lib.bundle {
83
-
# inherit pkgs;
84
-
# src = ./files/astal;
85
-
# name = "ovy-shell";
86
-
# entry = "app.ts";
87
-
# };
88
-
};
89
90
-
# devShells.x86_64-linux.default = pkgs.mkShell {
91
-
# buildInputs = [agsPkgs.agsFull agsPkgs.io agsPkgs.apps agsPkgs.tray self.packages.${system}.iconifydl];
92
-
# };
93
94
nixosConfigurations = mkConfigurations "nixos";
95
darwinConfigurations = mkConfigurations "darwin";
···
106
# };
107
# };
108
109
-
formatter = {
110
-
aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra;
111
-
aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra;
112
-
x86_64-darwin = nixpkgs.legacyPackages.x86_64-darwin.alejandra;
113
-
x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
114
-
};
115
};
116
}
···
5
# nur.url = "github:nix-community/NUR";
6
7
nix-darwin = {
8
+
url = "github:nix-darwin/nix-darwin";
9
inputs.nixpkgs.follows = "nixpkgs";
10
};
11
···
30
};
31
32
lix-module = {
33
+
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.3-2.tar.gz";
34
inputs.nixpkgs.follows = "nixpkgs";
35
};
36
37
denix = {
38
url = "github:yunfachi/denix";
39
inputs.nixpkgs.follows = "nixpkgs";
40
+
inputs.nix-darwin.follows = "nix-darwin";
41
inputs.home-manager.follows = "home-manager";
42
};
43
···
45
url = "github:youwen5/zen-browser-flake";
46
inputs.nixpkgs.follows = "nixpkgs";
47
};
48
};
49
50
outputs = {
51
denix,
52
home-manager,
53
lix-module,
···
58
self,
59
...
60
} @ inputs: let
61
+
forSystems = fn:
62
+
nixpkgs.lib.genAttrs [
63
+
"aarch64-linux"
64
+
"aarch64-darwin"
65
+
"x86_64-darwin"
66
+
"x86_64-linux"
67
+
] (system: fn nixpkgs.legacyPackages.${system});
68
+
defaultForSystems = fn: forSystems (pkgs: {default = fn pkgs;});
69
+
70
mkConfigurations = moduleSystem:
71
denix.lib.configurations (let
72
homeManagerUser = "ovy";
···
77
specialArgs = {inherit inputs moduleSystem homeManagerUser;};
78
});
79
in {
80
+
packages = forSystems (pkgs: {
81
iconifydl = pkgs.callPackage ./pkgs/iconifydl.nix {};
82
+
});
83
84
+
devShells = defaultForSystems (pkgs:
85
+
pkgs.mkShell {
86
+
buildInputs = [pkgs.just];
87
+
});
88
89
nixosConfigurations = mkConfigurations "nixos";
90
darwinConfigurations = mkConfigurations "darwin";
···
101
# };
102
# };
103
104
+
formatter = forSystems (pkgs: pkgs.alejandra);
105
};
106
}
+15
hosts/setsuna/default.nix
+15
hosts/setsuna/default.nix
···
···
1
+
{delib, ...}:
2
+
delib.host {
3
+
name = "setsuna";
4
+
5
+
myconfig._1password.enable = false;
6
+
myconfig.gaming.enable = false;
7
+
myconfig.tray.enable = false;
8
+
myconfig.virtualisation.enable = false;
9
+
10
+
myconfig.programs.chromium.enable = false;
11
+
myconfig.programs.desktop-apps.enable = false;
12
+
myconfig.programs.espanso.enable = false;
13
+
myconfig.programs.kitty.enable = false;
14
+
myconfig.programs.syncthing.enable = false;
15
+
}
+19
hosts/setsuna/hardware.nix
+19
hosts/setsuna/hardware.nix
···
···
1
+
{
2
+
delib,
3
+
inputs,
4
+
...
5
+
}:
6
+
delib.host {
7
+
name = "setsuna";
8
+
9
+
homeManagerSystem = "aarch64-darwin";
10
+
home.home.stateVersion = "26.05";
11
+
12
+
darwin = {
13
+
nixpkgs.hostPlatform = "aarch64-darwin";
14
+
# TODO: `darwin-rebuild changelog` to see what changed, latest is 6
15
+
system.stateVersion = 6;
16
+
# TODO: see what this does, i forgor
17
+
system.configurationRevision = inputs.self.rev or inputs.self.dirtyRev or null;
18
+
};
19
+
}
-1
hosts/shimmer/default.nix
-1
hosts/shimmer/default.nix
+3
-1
hosts/wallsocket/hardware.nix
+3
-1
hosts/wallsocket/hardware.nix
···
1
{
2
delib,
3
lib,
4
...
5
}: let
6
platform = "x86_64-linux";
···
16
nixpkgs.hostPlatform = platform;
17
system.stateVersion = stateVersion;
18
19
-
hardware.enableRedistributableFirmware = true;
20
hardware.cpu.amd.updateMicrocode = true;
21
22
# Kernel
···
24
boot.initrd.kernelModules = [];
25
boot.kernelModules = ["kvm-amd"];
26
boot.extraModulePackages = [];
27
28
# Bootloader
29
boot.loader.systemd-boot.enable = true;
···
1
{
2
delib,
3
lib,
4
+
pkgs,
5
...
6
}: let
7
platform = "x86_64-linux";
···
17
nixpkgs.hostPlatform = platform;
18
system.stateVersion = stateVersion;
19
20
+
hardware.enableAllFirmware = true;
21
hardware.cpu.amd.updateMicrocode = true;
22
23
# Kernel
···
25
boot.initrd.kernelModules = [];
26
boot.kernelModules = ["kvm-amd"];
27
boot.extraModulePackages = [];
28
+
boot.kernelPackages = pkgs.linuxPackages_latest;
29
30
# Bootloader
31
boot.loader.systemd-boot.enable = true;
+15
justfile
+15
justfile
+1
modules/1password.nix
+1
modules/1password.nix
+3
-1
modules/darwin/homebrew.nix
+3
-1
modules/darwin/homebrew.nix
···
27
28
casks = [
29
"1password"
30
"discord"
31
"figma"
32
"httpie"
···
38
# Actually searches symlinks for apps, compared to Alfred.
39
"raycast"
40
"swiftformat-for-xcode"
41
# "vorta"
42
"zen"
43
];
44
···
46
Keka = 470158793;
47
"Yubico Authenticator" = 1497506650;
48
"System Color Picker" = 1545870783;
49
-
Tailscale = 1475387142;
50
};
51
};
52
}
···
27
28
casks = [
29
"1password"
30
+
"blender"
31
"discord"
32
"figma"
33
"httpie"
···
39
# Actually searches symlinks for apps, compared to Alfred.
40
"raycast"
41
"swiftformat-for-xcode"
42
+
"tailscale-app"
43
# "vorta"
44
+
"vesktop"
45
"zen"
46
];
47
···
49
Keka = 470158793;
50
"Yubico Authenticator" = 1497506650;
51
"System Color Picker" = 1545870783;
52
};
53
};
54
}
+5
-3
modules/fonts.nix
+5
-3
modules/fonts.nix
···
10
nixos.always = {
11
fonts = {
12
packages = [
13
+
pkgs.ubuntu-classic
14
+
pkgs.ubuntu-sans
15
pkgs.inter
16
+
# Only needed for one specific thing and now can't download from sourceforge for some reason
17
+
# pkgs.corefonts
18
+
# pkgs.vista-fonts
19
inputs.iosevka-solai.packages.x86_64-linux.bin
20
];
21
+5
-2
modules/graphics.nix
+5
-2
modules/graphics.nix
-6
modules/networking.nix
-6
modules/networking.nix
+67
-66
modules/nix.nix
+67
-66
modules/nix.nix
···
2
delib,
3
inputs,
4
...
5
-
}: let
6
-
shared = {
7
nixpkgs.config = import ../files/nixpkgs-config.nix;
8
-
9
-
nix.settings = {
10
-
auto-optimise-store = true;
11
-
experimental-features = ["nix-command" "flakes"];
12
-
trusted-users = ["root" "@wheel" "ovy"];
13
-
};
14
};
15
-
in
16
-
delib.module {
17
-
name = "nix";
18
19
-
# TODO: double check home-manager options
20
-
home.always =
21
-
shared
22
-
// {
23
-
xdg.configFile."nixpkgs/config.nix".source = ../files/nixpkgs-config.nix;
24
};
25
-
nixos.always =
26
-
shared
27
-
// {
28
-
nix = {
29
-
gc = {
30
-
automatic = true;
31
-
options = "--delete-older-than 10d";
32
-
dates = "weekly";
33
-
};
34
35
-
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
36
37
-
registry.nixpkgs.to = {
38
-
type = "path";
39
-
path = inputs.nixpkgs;
40
-
narHash = inputs.nixpkgs.narHash;
41
-
};
42
-
};
43
44
-
system.tools.nixos-option.enable = false;
45
};
46
47
-
darwin.always = {
48
-
nix = {
49
-
buildMachines = [
50
-
{
51
-
hostName = "rushing.axolotl-map.ts.net";
52
-
sshUser = "colmena-deploy";
53
-
system = "x86_64-linux";
54
-
speedFactor = 2;
55
-
maxJobs = 6;
56
-
protocol = "ssh-ng";
57
-
}
58
-
{
59
-
hostName = "skyline.axolotl-map.ts.net";
60
-
sshUser = "colmena-deploy";
61
-
system = "aarch64-linux";
62
-
speedFactor = 1;
63
-
maxJobs = 2;
64
-
protocol = "ssh-ng";
65
-
}
66
-
];
67
68
-
distributedBuilds = true;
69
70
-
gc = {
71
-
automatic = true;
72
-
options = "--delete-older-than 7d";
73
-
interval.Weekday = 6;
74
-
};
75
76
-
optimise.automatic = true;
77
78
-
settings = {
79
-
builders-use-substitutes = true;
80
-
experimental-features = "nix-command flakes";
81
-
trusted-users = ["root" "ovy"];
82
-
};
83
};
84
};
85
-
}
···
2
delib,
3
inputs,
4
...
5
+
}:
6
+
delib.module {
7
+
name = "nix";
8
+
9
+
# TODO: double check home-manager options
10
+
home.always = {
11
nixpkgs.config = import ../files/nixpkgs-config.nix;
12
+
xdg.configFile."nixpkgs/config.nix".source = ../files/nixpkgs-config.nix;
13
};
14
+
15
+
nixos.always = {
16
+
nixpkgs.config = import ../files/nixpkgs-config.nix;
17
18
+
nix = {
19
+
gc = {
20
+
automatic = true;
21
+
options = "--delete-older-than 10d";
22
+
dates = "weekly";
23
};
24
25
+
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
26
27
+
registry.nixpkgs.to = {
28
+
type = "path";
29
+
path = inputs.nixpkgs;
30
+
narHash = inputs.nixpkgs.narHash;
31
+
};
32
33
+
settings = {
34
+
auto-optimise-store = true;
35
+
experimental-features = ["nix-command" "flakes"];
36
+
trusted-users = ["root" "@wheel" "ovy"];
37
+
warn-dirty = false;
38
};
39
+
};
40
41
+
system.tools.nixos-option.enable = false;
42
+
};
43
+
44
+
darwin.always = {
45
+
nixpkgs.config = import ../files/nixpkgs-config.nix;
46
+
47
+
nix = {
48
+
buildMachines = [
49
+
{
50
+
hostName = "rushing.axolotl-map.ts.net";
51
+
sshUser = "colmena-deploy";
52
+
system = "x86_64-linux";
53
+
speedFactor = 2;
54
+
maxJobs = 6;
55
+
protocol = "ssh-ng";
56
+
}
57
+
{
58
+
hostName = "skyline.axolotl-map.ts.net";
59
+
sshUser = "colmena-deploy";
60
+
system = "aarch64-linux";
61
+
speedFactor = 1;
62
+
maxJobs = 2;
63
+
protocol = "ssh-ng";
64
+
}
65
+
];
66
67
+
distributedBuilds = true;
68
69
+
gc = {
70
+
automatic = true;
71
+
options = "--delete-older-than 7d";
72
+
interval.Weekday = 6;
73
+
};
74
75
+
optimise.automatic = true;
76
77
+
settings = {
78
+
builders-use-substitutes = true;
79
+
experimental-features = "nix-command flakes";
80
+
trusted-users = ["root" "ovy"];
81
+
sandbox = true;
82
+
warn-dirty = false;
83
};
84
};
85
+
};
86
+
}
-10
modules/ollama.nix
-10
modules/ollama.nix
+9
-1
modules/plasma.nix
+9
-1
modules/plasma.nix
···
27
environment.plasma6.excludePackages = with pkgs.kdePackages; [
28
elisa
29
gwenview
30
konsole
31
];
32
33
qt = {
···
38
39
# environment.sessionVariables."NIXOS_OZONE_WL" = 1;
40
environment.sessionVariables."MOZ_ENABLE_WAYLAND" = 0;
41
-
environment.systemPackages = with pkgs; [adwaita-icon-theme kdePackages.kcalc kdePackages.partitionmanager kdePackages.kcolorchooser];
42
43
# TODO: move
44
boot.plymouth = {
···
27
environment.plasma6.excludePackages = with pkgs.kdePackages; [
28
elisa
29
gwenview
30
+
kate
31
konsole
32
+
krunner
33
];
34
35
qt = {
···
40
41
# environment.sessionVariables."NIXOS_OZONE_WL" = 1;
42
environment.sessionVariables."MOZ_ENABLE_WAYLAND" = 0;
43
+
environment.systemPackages = with pkgs; [
44
+
adwaita-icon-theme
45
+
kdePackages.kcalc
46
+
kdePackages.partitionmanager
47
+
kdePackages.kcolorchooser
48
+
kdePackages.kdenlive
49
+
];
50
51
# TODO: move
52
boot.plymouth = {
+1
-1
modules/programs/core-cli.nix
+1
-1
modules/programs/core-cli.nix
+8
-8
modules/programs/desktop-apps.nix
+8
-8
modules/programs/desktop-apps.nix
···
12
home.packages = with pkgs; [
13
alejandra
14
audacity
15
-
blender
16
btop # TODO: module & options
17
-
bruno
18
-
# davinci-resolve
19
-
# distrobox
20
gajim
21
glaxnimate
22
# godot_4
···
28
lunacy
29
lutris
30
# mixxx
31
-
obs-studio
32
obsidian
33
oversteer
34
p7zip
···
44
temurin-bin-17
45
];
46
})
47
qbittorrent
48
qimgv
49
slack
50
-
vesktop
51
vlc
52
vorta
53
winetricks
54
yt-dlp
55
yubioath-flutter
56
];
57
-
58
-
services.owncloud-client.enable = true;
59
};
60
}
···
12
home.packages = with pkgs; [
13
alejandra
14
audacity
15
+
blender-hip
16
btop # TODO: module & options
17
+
# bruno
18
+
davinci-resolve
19
+
(discord.override {
20
+
withOpenASAR = true;
21
+
withVencord = true;
22
+
})
23
gajim
24
glaxnimate
25
# godot_4
···
31
lunacy
32
lutris
33
# mixxx
34
obsidian
35
oversteer
36
p7zip
···
46
temurin-bin-17
47
];
48
})
49
+
protonup-qt
50
qbittorrent
51
qimgv
52
slack
53
vlc
54
vorta
55
winetricks
56
yt-dlp
57
yubioath-flutter
58
];
59
};
60
}
+12
-1
modules/programs/desktop-cli.nix
+12
-1
modules/programs/desktop-cli.nix
···
1
{
2
delib,
3
pkgs,
4
...
5
}:
···
21
minisign
22
mtr
23
nix-output-monitor
24
pgcli
25
rage
26
systemctl-tui
···
31
enable = true;
32
flake = "/etc/nixos";
33
};
34
};
35
36
darwin.ifEnabled = {myconfig, ...}: {
37
-
environment.systemPackages = [pkgs.nh];
38
environment.variables.NH_FLAKE = "/Users/${myconfig.constants.username}/.config/nix-darwin";
39
};
40
}
···
1
{
2
delib,
3
+
lib,
4
pkgs,
5
...
6
}:
···
22
minisign
23
mtr
24
nix-output-monitor
25
+
opencode
26
pgcli
27
rage
28
systemctl-tui
···
33
enable = true;
34
flake = "/etc/nixos";
35
};
36
+
37
+
environment.systemPackages = with pkgs.gst_all_1; [
38
+
gstreamer
39
+
gst-vaapi
40
+
gst-libav
41
+
gst-plugins-good
42
+
gst-plugins-ugly
43
+
gst-plugins-bad
44
+
];
45
};
46
47
darwin.ifEnabled = {myconfig, ...}: {
48
+
environment.systemPackages = with pkgs; [nh];
49
environment.variables.NH_FLAKE = "/Users/${myconfig.constants.username}/.config/nix-darwin";
50
};
51
}
+3
-1
modules/programs/direnv.nix
+3
-1
modules/programs/direnv.nix
···
11
nix-direnv.enable = true;
12
config.whitelist.prefix = [
13
"${homeConfig.home.homeDirectory}/Projects/bots-gg"
14
"${homeConfig.home.homeDirectory}/Projects/personal"
15
"${homeConfig.home.homeDirectory}/Projects/work"
16
+
"/Volumes/Developer/bots-gg"
17
+
"/Volumes/Developer/personal"
18
+
"/Volumes/Developer/work"
19
];
20
};
21
}
-16
modules/programs/firefox.nix
-16
modules/programs/firefox.nix
···
1
-
{
2
-
delib,
3
-
pkgs,
4
-
inputs,
5
-
...
6
-
}:
7
-
delib.module {
8
-
name = "programs.firefox";
9
-
10
-
options = delib.singleEnableOption true;
11
-
12
-
home.ifEnabled.programs.firefox = {
13
-
enable = true;
14
-
package = inputs.zen-browser.packages.${pkgs.system}.default;
15
-
};
16
-
}
···
+2
-2
modules/programs/fish.nix
+2
-2
modules/programs/fish.nix
···
84
owner = "PatrickF1";
85
repo = "fzf.fish";
86
rev = "8920367cf85eee5218cc25a11e209d46e2591e7a";
87
-
hash = "sha256-lxQZo6APemNjt2c21IL7+uY3YVs81nuaRUL7NDMcB6s=";
88
};
89
}
90
{
···
93
owner = "gazorby";
94
repo = "fifc";
95
rev = "a01650cd432becdc6e36feeff5e8d657bd7ee84a";
96
-
hash = "sha256-Nrart7WAh2VQhsDDe0EFI59TqvBO56US2MraqencxgE";
97
};
98
}
99
{
···
84
owner = "PatrickF1";
85
repo = "fzf.fish";
86
rev = "8920367cf85eee5218cc25a11e209d46e2591e7a";
87
+
hash = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM=";
88
};
89
}
90
{
···
93
owner = "gazorby";
94
repo = "fifc";
95
rev = "a01650cd432becdc6e36feeff5e8d657bd7ee84a";
96
+
hash = "sha256-Ynb0Yd5EMoz7tXwqF8NNKqCGbzTZn/CwLsZRQXIAVp4=";
97
};
98
}
99
{
+18
-6
modules/programs/git.nix
+18
-6
modules/programs/git.nix
···
15
16
programs.git = {
17
enable = true;
18
-
userName = userfullname;
19
-
userEmail = useremail;
20
-
delta.enable = true;
21
22
signing = {
23
signByDefault = true;
···
25
key = "~/.ssh/id_ed25519_sk_rk";
26
};
27
28
-
extraConfig = {
29
# TODO: custom pretty stuff?
30
blame.showEmail = true;
31
init.defaultBranch = "main";
···
89
default-command = "log";
90
show-cryptographic-signatures = true;
91
conflict-marker-style = "git";
92
-
diff-formatter = "delta";
93
editor = "codium -w";
94
merge-editor = "vscodium";
95
};
···
98
"closest_bookmark(to)" = "heads(::to & bookmarks())";
99
"p(n)" = "p(@, n)";
100
"p(r, n)" = "roots(r | ancestors(r-, n))";
101
};
102
103
aliases = {
···
105
n = ["new"];
106
tug = ["bookmark" "move" "--from" "closest_bookmark(@-)" "--to" "@-"];
107
tug-here = ["bookmark" "move" "--from" "closest_bookmark(@)" "--to" "@"];
108
};
109
110
merge-tools.mergiraf = {
···
116
117
git = {
118
sign-on-push = true;
119
-
push-new-bookmarks = true;
120
write-change-id-header = true;
121
};
122
···
126
key = "~/.ssh/id_ed25519_sk_rk.pub";
127
backends.ssh.allowed-signers = "~/.config/git/allowed_signers";
128
};
129
};
130
};
131
132
programs.mergiraf.enable = true;
···
15
16
programs.git = {
17
enable = true;
18
19
signing = {
20
signByDefault = true;
···
22
key = "~/.ssh/id_ed25519_sk_rk";
23
};
24
25
+
settings = {
26
+
user = {
27
+
name = userfullname;
28
+
email = useremail;
29
+
};
30
+
31
# TODO: custom pretty stuff?
32
blame.showEmail = true;
33
init.defaultBranch = "main";
···
91
default-command = "log";
92
show-cryptographic-signatures = true;
93
conflict-marker-style = "git";
94
+
# diff-formatter = "delta";
95
editor = "codium -w";
96
merge-editor = "vscodium";
97
};
···
100
"closest_bookmark(to)" = "heads(::to & bookmarks())";
101
"p(n)" = "p(@, n)";
102
"p(r, n)" = "roots(r | ancestors(r-, n))";
103
+
"tail()" = "tail(@)";
104
+
"tail(h)" = "roots(trunk()..h)";
105
};
106
107
aliases = {
···
109
n = ["new"];
110
tug = ["bookmark" "move" "--from" "closest_bookmark(@-)" "--to" "@-"];
111
tug-here = ["bookmark" "move" "--from" "closest_bookmark(@)" "--to" "@"];
112
+
solve = ["resolve" "--tool" "mergiraf"];
113
};
114
115
merge-tools.mergiraf = {
···
121
122
git = {
123
sign-on-push = true;
124
write-change-id-header = true;
125
};
126
···
130
key = "~/.ssh/id_ed25519_sk_rk.pub";
131
backends.ssh.allowed-signers = "~/.config/git/allowed_signers";
132
};
133
+
134
+
remotes.origin.auto-track-bookmarks = "glob:*";
135
};
136
+
};
137
+
138
+
programs.delta = {
139
+
enable = true;
140
+
enableGitIntegration = true;
141
+
enableJujutsuIntegration = true;
142
};
143
144
programs.mergiraf.enable = true;
+1
-1
modules/programs/kitty.nix
+1
-1
modules/programs/kitty.nix
+20
modules/programs/obs-studio.nix
+20
modules/programs/obs-studio.nix
···
···
1
+
{
2
+
delib,
3
+
pkgs,
4
+
...
5
+
}:
6
+
delib.module {
7
+
name = "programs.obs-studio";
8
+
9
+
options = delib.singleEnableOption true;
10
+
11
+
nixos.ifEnabled.programs.obs-studio = {
12
+
enable = true;
13
+
plugins = with pkgs.obs-studio-plugins; [
14
+
obs-vaapi
15
+
obs-gstreamer
16
+
obs-vkcapture
17
+
obs-pipewire-audio-capture
18
+
];
19
+
};
20
+
}
+38
modules/programs/opencloud.nix
+38
modules/programs/opencloud.nix
···
···
1
+
{
2
+
delib,
3
+
homeConfig,
4
+
pkgs,
5
+
...
6
+
}: let
7
+
system = pkgs.stdenv.hostPlatform.system;
8
+
in
9
+
delib.module {
10
+
name = "programs.opencloud";
11
+
12
+
options = delib.singleEnableOption true;
13
+
14
+
home.ifEnabled = pkgs.lib.optionalAttrs (system == "x86_64-linux") {
15
+
home.packages = [pkgs.opencloud-desktop];
16
+
17
+
systemd.user.services.opencloud-client = {
18
+
Unit = {
19
+
Description = "OpenCloud Client";
20
+
After = ["graphical-session.target"];
21
+
PartOf = ["graphical-session.target"];
22
+
};
23
+
24
+
Service = {
25
+
Environment = ["PATH=${homeConfig.home.profileDirectory}/bin"];
26
+
ExecStart = "${pkgs.opencloud-desktop}/bin/opencloud";
27
+
};
28
+
29
+
Install = {
30
+
WantedBy = ["graphical-session.target"];
31
+
};
32
+
};
33
+
};
34
+
35
+
darwin.ifEnabled = {
36
+
homebrew.casks = ["opencloud"];
37
+
};
38
+
}
+3
-3
modules/programs/pager.nix
+3
-3
modules/programs/pager.nix
+2
modules/programs/ssh.nix
+2
modules/programs/ssh.nix
+6
-1
modules/programs/vscode.nix
+6
-1
modules/programs/vscode.nix
···
22
enableExtensionUpdateCheck = false;
23
24
extensions = let
25
-
vscode-extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system};
26
inherit (vscode-extensions) open-vsx vscode-marketplace;
27
in
28
with open-vsx; [
···
80
wakatime.vscode-wakatime
81
redhat.vscode-yaml
82
arcanis.vscode-zipfs
83
vscode-marketplace.wraith13.background-phi-colors
84
vscode-marketplace.be5invis.theme-dolch
85
vscode-marketplace.fabiospampinato.vscode-diff
···
97
"editor.defaultFormatter" = "esbenp.prettier-vscode";
98
"[elixir]"."editor.defaultFormatter" = "JakeBecker.elixir-ls";
99
"[nix]"."editor.defaultFormatter" = "kamadorueda.alejandra";
100
"[prisma]"."editor.defaultFormatter" = "Prisma.prisma";
101
"[python]"."editor.defaultFormatter" = "ms-python.python";
102
"[rust]"."editor.defaultFormatter" = "rust-lang.rust-analyzer";
103
104
# Sane defaults
105
"editor.tabSize" = 2;
···
148
];
149
# "prettier.prettierPath" = "prettierd";
150
"prettier.proseWrap" = "always";
151
152
# Pretties
153
"workbench.colorTheme" = "Dolch";
···
22
enableExtensionUpdateCheck = false;
23
24
extensions = let
25
+
system = pkgs.stdenv.hostPlatform.system;
26
+
vscode-extensions = inputs.nix-vscode-extensions.extensions.${system};
27
inherit (vscode-extensions) open-vsx vscode-marketplace;
28
in
29
with open-vsx; [
···
81
wakatime.vscode-wakatime
82
redhat.vscode-yaml
83
arcanis.vscode-zipfs
84
+
golang.go
85
vscode-marketplace.wraith13.background-phi-colors
86
vscode-marketplace.be5invis.theme-dolch
87
vscode-marketplace.fabiospampinato.vscode-diff
···
99
"editor.defaultFormatter" = "esbenp.prettier-vscode";
100
"[elixir]"."editor.defaultFormatter" = "JakeBecker.elixir-ls";
101
"[nix]"."editor.defaultFormatter" = "kamadorueda.alejandra";
102
+
"[phoenix-heex]"."editor.defaultFormatter" = "JakeBecker.elixir-ls";
103
"[prisma]"."editor.defaultFormatter" = "Prisma.prisma";
104
"[python]"."editor.defaultFormatter" = "ms-python.python";
105
"[rust]"."editor.defaultFormatter" = "rust-lang.rust-analyzer";
106
+
"[go]"."editor.defaultFormatter" = "golang.go";
107
108
# Sane defaults
109
"editor.tabSize" = 2;
···
152
];
153
# "prettier.prettierPath" = "prettierd";
154
"prettier.proseWrap" = "always";
155
+
"chat.disableAIFeatures" = true;
156
157
# Pretties
158
"workbench.colorTheme" = "Dolch";
+14
modules/tailscale.nix
+14
modules/tailscale.nix
···
···
1
+
{delib, ...}:
2
+
delib.module {
3
+
name = "tailscale";
4
+
5
+
options = delib.singleEnableOption true;
6
+
7
+
nixos.ifEnabled.services.tailscale = {
8
+
enable = true;
9
+
openFirewall = true;
10
+
useRoutingFeatures = "client";
11
+
};
12
+
13
+
# home.ifEnabled.services.tailscale-systray.enable = true;
14
+
}