aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock546
-rw-r--r--flake.nix24
-rw-r--r--hosts/myrtle/configuration.nix3
-rw-r--r--hosts/myrtle/home.nix133
-rw-r--r--hosts/olive/configuration.nix147
-rw-r--r--hosts/olive/hardware-configuration.nix36
-rw-r--r--hosts/olive/qmk.rules74
-rw-r--r--programs/atuin.nix6
-rw-r--r--programs/default.nix3
-rw-r--r--programs/git.nix13
-rw-r--r--programs/init.vim4
-rw-r--r--services/sxhkd.nix13
12 files changed, 173 insertions, 829 deletions
diff --git a/flake.lock b/flake.lock
index 572eb13..e948b57 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,38 +1,5 @@
1{ 1{
2 "nodes": { 2 "nodes": {
3 "attic": {
4 "inputs": {
5 "crane": [
6 "chaotic",
7 "crane"
8 ],
9 "flake-compat": [
10 "chaotic",
11 "flake-compat"
12 ],
13 "flake-utils": [
14 "chaotic",
15 "flake-utils"
16 ],
17 "nixpkgs": [
18 "chaotic",
19 "nixpkgs"
20 ],
21 "nixpkgs-stable": "nixpkgs-stable"
22 },
23 "locked": {
24 "lastModified": 1711742460,
25 "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=",
26 "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0",
27 "revCount": 197,
28 "type": "tarball",
29 "url": "https://api.flakehub.com/f/pinned/zhaofengli/attic/0.1.197%2Brev-4dbdbee45728d8ce5788db6461aaaa89d98081f0/018e8bce-1229-7d78-a052-5121272f0341/source.tar.gz"
30 },
31 "original": {
32 "type": "tarball",
33 "url": "https://flakehub.com/f/zhaofengli/attic/0.1.%2A.tar.gz"
34 }
35 },
36 "better-text-objs": { 3 "better-text-objs": {
37 "inputs": { 4 "inputs": {
38 "nixpkgs": [ 5 "nixpkgs": [
@@ -53,207 +20,6 @@
53 "url": "https://git.peppe.rs/vim/better-text-objs" 20 "url": "https://git.peppe.rs/vim/better-text-objs"
54 } 21 }
55 }, 22 },
56 "chaotic": {
57 "inputs": {
58 "attic": "attic",
59 "compare-to": "compare-to",
60 "conduit": "conduit",
61 "crane": "crane",
62 "fenix": "fenix",
63 "flake-compat": "flake-compat",
64 "flake-schemas": "flake-schemas",
65 "flake-utils": "flake-utils",
66 "home-manager": "home-manager",
67 "jovian": "jovian",
68 "jujutsu": "jujutsu",
69 "niri": "niri",
70 "nix-filter": "nix-filter",
71 "nixpkgs": "nixpkgs",
72 "systems": "systems",
73 "yafas": "yafas"
74 },
75 "locked": {
76 "lastModified": 1716750091,
77 "narHash": "sha256-E5WktBEPQPk49hhgI7ttpHKYjjWO9WqtRDmZ/i6a1io=",
78 "rev": "651cfaba624e7bf0876fbd528f3fa8f1b0c0c614",
79 "revCount": 1161,
80 "type": "tarball",
81 "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nyx/0.1.1161%2Brev-651cfaba624e7bf0876fbd528f3fa8f1b0c0c614/018fb649-16a4-7b14-a024-40ecbab6ea35/source.tar.gz"
82 },
83 "original": {
84 "type": "tarball",
85 "url": "https://flakehub.com/f/chaotic-cx/nyx/%2A.tar.gz"
86 }
87 },
88 "compare-to": {
89 "locked": {
90 "lastModified": 1695341185,
91 "narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=",
92 "rev": "98b8e330823a3570d328720f87a1153f8a7f2224",
93 "revCount": 2,
94 "type": "tarball",
95 "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz"
96 },
97 "original": {
98 "type": "tarball",
99 "url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz"
100 }
101 },
102 "complement": {
103 "flake": false,
104 "locked": {
105 "lastModified": 1715700731,
106 "narHash": "sha256-cie+b5N/TQAFD8vF/XbqfyFJkFU0qUPDbtJQDm/TfQc=",
107 "owner": "matrix-org",
108 "repo": "complement",
109 "rev": "8587fb3cbe746754b2c883ff6c818ca4d987d0a5",
110 "type": "github"
111 },
112 "original": {
113 "owner": "matrix-org",
114 "ref": "main",
115 "repo": "complement",
116 "type": "github"
117 }
118 },
119 "conduit": {
120 "inputs": {
121 "attic": [
122 "chaotic",
123 "attic"
124 ],
125 "complement": "complement",
126 "crane": [
127 "chaotic",
128 "crane"
129 ],
130 "fenix": [
131 "chaotic",
132 "fenix"
133 ],
134 "flake-compat": [
135 "chaotic",
136 "flake-compat"
137 ],
138 "flake-utils": [
139 "chaotic",
140 "flake-utils"
141 ],
142 "liburing": "liburing",
143 "nix-filter": [
144 "chaotic",
145 "nix-filter"
146 ],
147 "nixpkgs": [
148 "chaotic",
149 "nixpkgs"
150 ],
151 "rocksdb": "rocksdb"
152 },
153 "locked": {
154 "lastModified": 1716690523,
155 "narHash": "sha256-II8U33DM1NZmUDmAhi941KeMErUTcFtLtw5RKIEHTtc=",
156 "owner": "girlbossceo",
157 "repo": "conduwuit",
158 "rev": "30beb2023076e073d666f620899f94443577ed4c",
159 "type": "github"
160 },
161 "original": {
162 "owner": "girlbossceo",
163 "repo": "conduwuit",
164 "type": "github"
165 }
166 },
167 "crane": {
168 "inputs": {
169 "nixpkgs": [
170 "chaotic",
171 "nixpkgs"
172 ]
173 },
174 "locked": {
175 "lastModified": 1716156051,
176 "narHash": "sha256-TjUX7WWRcrhuUxDHsR8pDR2N7jitqZehgCVSy3kBeS8=",
177 "rev": "7443df1c478947bf96a2e699209f53b2db26209d",
178 "revCount": 571,
179 "type": "tarball",
180 "url": "https://api.flakehub.com/f/pinned/ipetkov/crane/0.17.1/018f92f7-d079-7a6a-8660-4fa94147552e/source.tar.gz"
181 },
182 "original": {
183 "type": "tarball",
184 "url": "https://flakehub.com/f/ipetkov/crane/%2A.tar.gz"
185 }
186 },
187 "fenix": {
188 "inputs": {
189 "nixpkgs": [
190 "chaotic",
191 "nixpkgs"
192 ],
193 "rust-analyzer-src": "rust-analyzer-src"
194 },
195 "locked": {
196 "lastModified": 1714544767,
197 "narHash": "sha256-kF1bX+YFMedf1g0PAJYwGUkzh22JmULtj8Rm4IXAQKs=",
198 "rev": "73124e1356bde9411b163d636b39fe4804b7ca45",
199 "revCount": 1852,
200 "type": "tarball",
201 "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1852%2Brev-73124e1356bde9411b163d636b39fe4804b7ca45/018f333a-c195-795f-9e07-b43b47d5391f/source.tar.gz"
202 },
203 "original": {
204 "type": "tarball",
205 "url": "https://flakehub.com/f/nix-community/fenix/0.1.%2A.tar.gz"
206 }
207 },
208 "flake-compat": {
209 "flake": false,
210 "locked": {
211 "lastModified": 1696426674,
212 "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
213 "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
214 "revCount": 57,
215 "type": "tarball",
216 "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
217 },
218 "original": {
219 "type": "tarball",
220 "url": "https://flakehub.com/f/edolstra/flake-compat/%2A.tar.gz"
221 }
222 },
223 "flake-schemas": {
224 "locked": {
225 "lastModified": 1693491534,
226 "narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=",
227 "rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279",
228 "revCount": 21,
229 "type": "tarball",
230 "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz"
231 },
232 "original": {
233 "type": "tarball",
234 "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz"
235 }
236 },
237 "flake-utils": {
238 "inputs": {
239 "systems": [
240 "chaotic",
241 "systems"
242 ]
243 },
244 "locked": {
245 "lastModified": 1710146030,
246 "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
247 "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
248 "revCount": 92,
249 "type": "tarball",
250 "url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.92%2Brev-b1d9ab70662946ef0850d488da1c9019f3a9752a/018e2ca5-e5a2-7f80-9261-445a8cecd4d7/source.tar.gz"
251 },
252 "original": {
253 "type": "tarball",
254 "url": "https://flakehub.com/f/numtide/flake-utils/0.1.%2A.tar.gz"
255 }
256 },
257 "flaresolverr": { 23 "flaresolverr": {
258 "inputs": { 24 "inputs": {
259 "flaresolverr-src": "flaresolverr-src", 25 "flaresolverr-src": "flaresolverr-src",
@@ -296,27 +62,6 @@
296 "home-manager": { 62 "home-manager": {
297 "inputs": { 63 "inputs": {
298 "nixpkgs": [ 64 "nixpkgs": [
299 "chaotic",
300 "nixpkgs"
301 ]
302 },
303 "locked": {
304 "lastModified": 1716711219,
305 "narHash": "sha256-TnZETiQPXbyT5mdCHMOyrJnx2+BwroMBRrguciz1vEo=",
306 "owner": "nix-community",
307 "repo": "home-manager",
308 "rev": "05e6ba83eb3585ce0aff7b41e4bd0e317d05ad4a",
309 "type": "github"
310 },
311 "original": {
312 "owner": "nix-community",
313 "repo": "home-manager",
314 "type": "github"
315 }
316 },
317 "home-manager_2": {
318 "inputs": {
319 "nixpkgs": [
320 "nixpkgs" 65 "nixpkgs"
321 ] 66 ]
322 }, 67 },
@@ -334,146 +79,6 @@
334 "type": "github" 79 "type": "github"
335 } 80 }
336 }, 81 },
337 "jovian": {
338 "inputs": {
339 "nix-github-actions": "nix-github-actions",
340 "nixpkgs": [
341 "chaotic",
342 "nixpkgs"
343 ]
344 },
345 "locked": {
346 "lastModified": 1716618639,
347 "narHash": "sha256-H3kcJDVqDmXZ9IfVtqObL3JUx/a0ERn6gWBTn+7vwN4=",
348 "owner": "Jovian-Experiments",
349 "repo": "Jovian-NixOS",
350 "rev": "a358c56a163b3b7d149571e853a8f75b2c1ceb38",
351 "type": "github"
352 },
353 "original": {
354 "owner": "Jovian-Experiments",
355 "repo": "Jovian-NixOS",
356 "type": "github"
357 }
358 },
359 "jujutsu": {
360 "inputs": {
361 "flake-utils": [
362 "chaotic",
363 "flake-utils"
364 ],
365 "nixpkgs": [
366 "chaotic",
367 "nixpkgs"
368 ],
369 "rust-overlay": "rust-overlay"
370 },
371 "locked": {
372 "lastModified": 1716690105,
373 "narHash": "sha256-M2C+BuLrKvtXuZbnijpISfPNIKxCbEESfuMf1mt18Tk=",
374 "owner": "martinvonz",
375 "repo": "jj",
376 "rev": "b31f75bc94c4552454ab929b54b9f37340231fac",
377 "type": "github"
378 },
379 "original": {
380 "owner": "martinvonz",
381 "repo": "jj",
382 "type": "github"
383 }
384 },
385 "liburing": {
386 "flake": false,
387 "locked": {
388 "lastModified": 1716565485,
389 "narHash": "sha256-4R19aJNQYs6vb0/Hz4bWT56YN1P1DkFL/sxdE4Yj0CE=",
390 "owner": "axboe",
391 "repo": "liburing",
392 "rev": "b90c0e670a93caabbebe2d9e24ff85cece4cfe0e",
393 "type": "github"
394 },
395 "original": {
396 "owner": "axboe",
397 "ref": "master",
398 "repo": "liburing",
399 "type": "github"
400 }
401 },
402 "niri": {
403 "inputs": {
404 "crane": [
405 "chaotic",
406 "crane"
407 ],
408 "fenix": [
409 "chaotic",
410 "fenix"
411 ],
412 "flake-utils": [
413 "chaotic",
414 "flake-utils"
415 ],
416 "nix-filter": [
417 "chaotic",
418 "nix-filter"
419 ],
420 "nixpkgs": [
421 "chaotic",
422 "nixpkgs"
423 ]
424 },
425 "locked": {
426 "lastModified": 1716554875,
427 "narHash": "sha256-BBAiAeWPwoOJyeW9PAnxSxS9kAi2b/T8bh8ChIfAD5Q=",
428 "owner": "YaLTeR",
429 "repo": "niri",
430 "rev": "2ac8d840343dc964981507353c9128c68361cb6f",
431 "type": "github"
432 },
433 "original": {
434 "owner": "YaLTeR",
435 "repo": "niri",
436 "type": "github"
437 }
438 },
439 "nix-filter": {
440 "locked": {
441 "lastModified": 1710156097,
442 "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
443 "owner": "numtide",
444 "repo": "nix-filter",
445 "rev": "3342559a24e85fc164b295c3444e8a139924675b",
446 "type": "github"
447 },
448 "original": {
449 "owner": "numtide",
450 "repo": "nix-filter",
451 "type": "github"
452 }
453 },
454 "nix-github-actions": {
455 "inputs": {
456 "nixpkgs": [
457 "chaotic",
458 "jovian",
459 "nixpkgs"
460 ]
461 },
462 "locked": {
463 "lastModified": 1690328911,
464 "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
465 "owner": "zhaofengli",
466 "repo": "nix-github-actions",
467 "rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
468 "type": "github"
469 },
470 "original": {
471 "owner": "zhaofengli",
472 "ref": "matrix-name",
473 "repo": "nix-github-actions",
474 "type": "github"
475 }
476 },
477 "nixos-hardware": { 82 "nixos-hardware": {
478 "locked": { 83 "locked": {
479 "lastModified": 1662714967, 84 "lastModified": 1662714967,
@@ -491,46 +96,16 @@
491 }, 96 },
492 "nixpkgs": { 97 "nixpkgs": {
493 "locked": { 98 "locked": {
494 "lastModified": 1716509168, 99 "lastModified": 1721622093,
495 "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", 100 "narHash": "sha256-iQ+quy3A1EKeFyLyAtjhgSvZHH7r+xybXZkxMhasN4I=",
496 "rev": "bfb7a882678e518398ce9a31a881538679f6f092",
497 "revCount": 630835,
498 "type": "tarball",
499 "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz"
500 },
501 "original": {
502 "type": "tarball",
503 "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
504 }
505 },
506 "nixpkgs-stable": {
507 "locked": {
508 "lastModified": 1711460390,
509 "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=",
510 "owner": "NixOS", 101 "owner": "NixOS",
511 "repo": "nixpkgs", 102 "repo": "nixpkgs",
512 "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", 103 "rev": "453402b94f39f968a7c27df28e060f69e4a50c3b",
513 "type": "github" 104 "type": "github"
514 }, 105 },
515 "original": { 106 "original": {
516 "owner": "NixOS", 107 "owner": "NixOS",
517 "ref": "nixos-23.11", 108 "ref": "nixpkgs-unstable",
518 "repo": "nixpkgs",
519 "type": "github"
520 }
521 },
522 "nixpkgs_2": {
523 "locked": {
524 "lastModified": 1716509168,
525 "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
526 "owner": "NixOS",
527 "repo": "nixpkgs",
528 "rev": "bfb7a882678e518398ce9a31a881538679f6f092",
529 "type": "github"
530 },
531 "original": {
532 "owner": "NixOS",
533 "ref": "nixos-unstable",
534 "repo": "nixpkgs", 109 "repo": "nixpkgs",
535 "type": "github" 110 "type": "github"
536 } 111 }
@@ -555,94 +130,17 @@
555 "url": "https://git.peppe.rs/cli/prompt" 130 "url": "https://git.peppe.rs/cli/prompt"
556 } 131 }
557 }, 132 },
558 "rocksdb": {
559 "flake": false,
560 "locked": {
561 "lastModified": 1716563894,
562 "narHash": "sha256-LT3RVOcIZmPWetkRfFKMi8dce0QgWvN0Sr7STD1hgxo=",
563 "owner": "girlbossceo",
564 "repo": "rocksdb",
565 "rev": "7c0e7f7666678e3ad5c82485f9bfe405e92ff727",
566 "type": "github"
567 },
568 "original": {
569 "owner": "girlbossceo",
570 "ref": "v9.2.1",
571 "repo": "rocksdb",
572 "type": "github"
573 }
574 },
575 "root": { 133 "root": {
576 "inputs": { 134 "inputs": {
577 "better-text-objs": "better-text-objs", 135 "better-text-objs": "better-text-objs",
578 "chaotic": "chaotic",
579 "flaresolverr": "flaresolverr", 136 "flaresolverr": "flaresolverr",
580 "home-manager": "home-manager_2", 137 "home-manager": "home-manager",
581 "nixos-hardware": "nixos-hardware", 138 "nixos-hardware": "nixos-hardware",
582 "nixpkgs": "nixpkgs_2", 139 "nixpkgs": "nixpkgs",
583 "prompt": "prompt", 140 "prompt": "prompt",
584 "vim-colors-plain": "vim-colors-plain" 141 "vim-colors-plain": "vim-colors-plain"
585 } 142 }
586 }, 143 },
587 "rust-analyzer-src": {
588 "flake": false,
589 "locked": {
590 "lastModified": 1714501997,
591 "narHash": "sha256-g31zfxwUFzkPgX0Q8sZLcrqGmOxwjEZ/iqJjNx4fEGo=",
592 "owner": "rust-lang",
593 "repo": "rust-analyzer",
594 "rev": "49e502b277a8126a9ad10c802d1aaa3ef1a280ef",
595 "type": "github"
596 },
597 "original": {
598 "owner": "rust-lang",
599 "ref": "nightly",
600 "repo": "rust-analyzer",
601 "type": "github"
602 }
603 },
604 "rust-overlay": {
605 "inputs": {
606 "flake-utils": [
607 "chaotic",
608 "jujutsu",
609 "flake-utils"
610 ],
611 "nixpkgs": [
612 "chaotic",
613 "jujutsu",
614 "nixpkgs"
615 ]
616 },
617 "locked": {
618 "lastModified": 1714961776,
619 "narHash": "sha256-LiIxWRKbm1DZ+7l1a6FMmIO8leQx5yrRLIApCMai1DY=",
620 "owner": "oxalica",
621 "repo": "rust-overlay",
622 "rev": "f3b20ea4131408ea585bddb1f41f91c4de9499cf",
623 "type": "github"
624 },
625 "original": {
626 "owner": "oxalica",
627 "repo": "rust-overlay",
628 "type": "github"
629 }
630 },
631 "systems": {
632 "locked": {
633 "lastModified": 1689347949,
634 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
635 "owner": "nix-systems",
636 "repo": "default-linux",
637 "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
638 "type": "github"
639 },
640 "original": {
641 "owner": "nix-systems",
642 "repo": "default-linux",
643 "type": "github"
644 }
645 },
646 "undetected-chromedriver-src": { 144 "undetected-chromedriver-src": {
647 "flake": false, 145 "flake": false,
648 "locked": { 146 "locked": {
@@ -666,11 +164,11 @@
666 ] 164 ]
667 }, 165 },
668 "locked": { 166 "locked": {
669 "lastModified": 1702647482, 167 "lastModified": 1718377907,
670 "narHash": "sha256-HLDqIfRjzb3YAdpjBW7iN2YCWWxSkTgu+MzKV5+H/WQ=", 168 "narHash": "sha256-QnoL5FE4FoYOq7Pa3x/D7jBq0KSWSfzaWgSCsdnb9vU=",
671 "ref": "refs/heads/master", 169 "ref": "refs/heads/master",
672 "rev": "bfa854ec04e0dab4c69911595d0653a34f626f1d", 170 "rev": "6281aa83f6545265df4f8889f94cf7cf3229faa8",
673 "revCount": 58, 171 "revCount": 59,
674 "type": "git", 172 "type": "git",
675 "url": "https://git.peppe.rs/vim/vim-colors-plain" 173 "url": "https://git.peppe.rs/vim/vim-colors-plain"
676 }, 174 },
@@ -678,30 +176,6 @@
678 "type": "git", 176 "type": "git",
679 "url": "https://git.peppe.rs/vim/vim-colors-plain" 177 "url": "https://git.peppe.rs/vim/vim-colors-plain"
680 } 178 }
681 },
682 "yafas": {
683 "inputs": {
684 "flake-schemas": [
685 "chaotic",
686 "flake-schemas"
687 ],
688 "systems": [
689 "chaotic",
690 "systems"
691 ]
692 },
693 "locked": {
694 "lastModified": 1695926485,
695 "narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=",
696 "rev": "7772afd6686458ca0ddbc599a52cf5d337367653",
697 "revCount": 4,
698 "type": "tarball",
699 "url": "https://api.flakehub.com/f/pinned/UbiqueLambda/yafas/0.1.4%2Brev-7772afd6686458ca0ddbc599a52cf5d337367653/018add18-ebb4-72c6-93fe-d1d8da361703/source.tar.gz"
700 },
701 "original": {
702 "type": "tarball",
703 "url": "https://flakehub.com/f/UbiqueLambda/yafas/0.1.%2A.tar.gz"
704 }
705 } 179 }
706 }, 180 },
707 "root": "root", 181 "root": "root",
diff --git a/flake.nix b/flake.nix
index 55ed146..16326a5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -56,27 +56,6 @@
56 formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".nixpkgs-fmt; 56 formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".nixpkgs-fmt;
57 57
58 nixosConfigurations = { 58 nixosConfigurations = {
59 olive = nixpkgs.lib.nixosSystem {
60 system = "x86_64-linux";
61 modules = [
62 ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
63 {
64 imports = [ ./hosts/olive/configuration.nix ];
65 _module.args.self = self;
66 }
67 home-manager.nixosModules.home-manager
68 {
69 home-manager.useGlobalPkgs = true;
70 home-manager.useUserPackages = true;
71 home-manager.users.np = {
72 imports = [ ./home.nix ];
73 _module.args.self = self;
74 _module.args.inputs = inputs;
75 _module.args.theme = import ./theme;
76 };
77 }
78 ];
79 };
80 59
81 myrtle = nixpkgs.lib.nixosSystem { 60 myrtle = nixpkgs.lib.nixosSystem {
82 system = "x86_64-linux"; 61 system = "x86_64-linux";
@@ -91,7 +70,7 @@
91 home-manager.useGlobalPkgs = true; 70 home-manager.useGlobalPkgs = true;
92 home-manager.useUserPackages = true; 71 home-manager.useUserPackages = true;
93 home-manager.users.np = { 72 home-manager.users.np = {
94 imports = [ ./home.nix ]; 73 imports = [ ./hosts/myrtle/home.nix ];
95 _module.args.self = self; 74 _module.args.self = self;
96 _module.args.inputs = inputs; 75 _module.args.inputs = inputs;
97 _module.args.theme = import ./theme; 76 _module.args.theme = import ./theme;
@@ -110,7 +89,6 @@
110 imports = [ ./hosts/mantis/configuration.nix ]; 89 imports = [ ./hosts/mantis/configuration.nix ];
111 _module.args.self = self; 90 _module.args.self = self;
112 } 91 }
113 flaresolverr.nixosModules.default
114 ]; 92 ];
115 }; 93 };
116 94
diff --git a/hosts/myrtle/configuration.nix b/hosts/myrtle/configuration.nix
index 4067b4e..1f9dc21 100644
--- a/hosts/myrtle/configuration.nix
+++ b/hosts/myrtle/configuration.nix
@@ -94,7 +94,6 @@
94 }; 94 };
95 95
96 hardware = { 96 hardware = {
97 opengl.driSupport = true;
98 bluetooth = { 97 bluetooth = {
99 enable = true; 98 enable = true;
100 powerOnBoot = true; 99 powerOnBoot = true;
@@ -128,12 +127,12 @@
128 }; 127 };
129 128
130 services = { 129 services = {
130 libinput.enable = true;
131 xserver = { 131 xserver = {
132 enable = true; 132 enable = true;
133 xkb.layout = "us"; 133 xkb.layout = "us";
134 videoDrivers = [ "nvidia" ]; 134 videoDrivers = [ "nvidia" ];
135 displayManager.startx.enable = true; 135 displayManager.startx.enable = true;
136 libinput.enable = true;
137 dpi = 192; 136 dpi = 192;
138 screenSection = '' 137 screenSection = ''
139 Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}" 138 Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
diff --git a/hosts/myrtle/home.nix b/hosts/myrtle/home.nix
new file mode 100644
index 0000000..2529b3e
--- /dev/null
+++ b/hosts/myrtle/home.nix
@@ -0,0 +1,133 @@
1{ config
2, pkgs
3, theme
4, self
5, ...
6}:
7
8{
9
10 imports = [
11 ../../programs
12 ../../services
13 ../../x
14 # ./mail.nix
15 ];
16
17 home.stateVersion = "22.11";
18 home.username = "np";
19 home.homeDirectory = "/home/np";
20 home.extraOutputsToInstall = [ "man" ];
21 home.packages = with pkgs; [
22
23 # essentials
24 vim
25 weechat
26 firefox
27 qutebrowser
28 unzip
29 tmux
30 xclip
31 ripgrep
32 miniserve
33 pfetch
34 st
35 cmus
36 tree
37 neomutt
38 w3m
39 noto-fonts-emoji
40 fd
41 du-dust
42 jq
43 libnotify
44 inotify-tools
45 pavucontrol
46 bc
47 signal-desktop
48 killall
49 httpie
50 thunderbird
51 calibre
52 gh
53 sonixd
54
55 # gaming
56 mgba
57
58 # sync
59 rtorrent
60 lftp
61 wget
62 curl
63
64 # graphics
65 krita
66 sxiv
67 imagemagick
68 ffmpeg-full
69 mpv
70 slop
71 maim
72 arandr
73 gimp
74
75 # graphics debug
76 cudatoolkit
77 pciutils
78
79 # monitoring
80 s-tui
81 nvtopPackages.full
82 lshw
83 stress
84 powertop
85
86 # input
87 xinput_calibrator
88 libinput
89
90 # meta
91 nixpkgs-review
92 nixpkgs-fmt
93 nix-prefetch-scripts
94
95 # work
96 slack
97 zoom-us
98 awscli2
99 kubectl
100
101 ] ++ (import ../../scripts { inherit pkgs; });
102
103 home.pointerCursor = {
104 name = "Vanilla-DMZ";
105 package = pkgs.vanilla-dmz;
106 x11.enable = true;
107 };
108
109 xdg = {
110 userDirs = {
111 enable = true;
112 desktop = "\$HOME/desktop";
113 documents = "\$HOME/docs";
114 download = "\$HOME/dloads";
115 music = "\$HOME/music";
116 pictures = "\$HOME/pics";
117 videos = "\$HOME/vids";
118 };
119 };
120
121 xsession = {
122 enable = true;
123 windowManager.command = "2bwm";
124 initExtra = ''
125 ${pkgs.hsetroot}/bin/hsetroot -solid "${theme.base00}"
126 xrdb -load $HOME/.Xresources
127 ${pkgs.picom}/bin/picom &
128 xrandr --setprovideroutputsource modesetting NVIDIA-0
129 xrandr --auto
130 '';
131 };
132
133}
diff --git a/hosts/olive/configuration.nix b/hosts/olive/configuration.nix
deleted file mode 100644
index 3d5d47f..0000000
--- a/hosts/olive/configuration.nix
+++ /dev/null
@@ -1,147 +0,0 @@
1{ config, pkgs, lib, self, ... }:
2
3{
4 imports =
5 [
6 ./hardware-configuration.nix
7 ../../services/suspend.nix
8 ];
9
10 boot.loader.systemd-boot.enable = true;
11 boot.loader.efi.canTouchEfiVariables = true;
12 boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
13
14 networking = {
15 hostName = "olive";
16 wireless = {
17 iwd.enable = true;
18 interfaces = [ "wlan0" ];
19 environmentFile = "/home/np/.wireless.env";
20 networks = {
21 Sanic.psk = "@PSK_SANI@";
22 Gopalan.psk = "@PSK_GOPA@";
23 Srividhya.psk = "@PSK_SRIV@";
24 sage.psk = "@PSK_SAGE@";
25 };
26 extraConfig = ''
27 ctrl_interface=/run/wpa_supplicant
28 ctrl_interface_group=wheel
29 '';
30 };
31 useDHCP = false;
32 interfaces.wlan0.useDHCP = true;
33 };
34
35 networking.nameservers = [ "1.1.1.1" "1.0.0.1" ];
36
37 i18n.defaultLocale = "en_US.UTF-8";
38 time.timeZone = "Asia/Kolkata";
39
40 nixpkgs.config = {
41 "2bwm".patches = [
42 ../../patches/2bwm/nerd-patch.diff
43 ];
44
45 st = {
46 conf = builtins.readFile ../../programs/st/config.h;
47 extraLibs = with pkgs; [ harfbuzz ];
48 patches = [
49 ../../patches/st/xres.diff
50 ../../patches/st/bright.diff
51 ../../patches/st/ligatures.diff
52 ];
53 };
54
55 # for zoom-us
56 allowUnfree = true;
57 };
58
59 nixpkgs.overlays = with self.overlays; [
60 statix
61 prompt
62 ];
63
64 environment.systemPackages = with pkgs; [
65 _2bwm
66 man-pages
67 man-pages-posix
68 (lib.hiPrio pkgs.bashInteractive_5)
69 ];
70
71 documentation = {
72 dev.enable = true;
73 man.generateCaches = true;
74 };
75
76 users.motd = with config; ''
77 Host ${networking.hostName}
78 OS NixOS ${system.nixos.release} (${system.nixos.codeName})
79 Version ${system.nixos.version}
80 Kernel ${boot.kernelPackages.kernel.version}
81 '';
82
83 programs = {
84 light.enable = true;
85 adb.enable = true;
86 };
87
88 sound.enable = true;
89
90 hardware = {
91 pulseaudio = {
92 enable = true;
93 package = pkgs.pulseaudioFull;
94 extraConfig = "load-module module-bluetooth-policy auto_switch=2";
95 };
96 bluetooth = {
97 enable = true;
98 powerOnBoot = true;
99 };
100 };
101
102 # Enable the X11 windowing system.
103 services.xserver = {
104 enable = true;
105 layout = "us";
106 displayManager.startx.enable = true;
107 libinput.enable = true;
108 };
109
110 services.batteryNotifier = {
111 enable = true;
112 notifyCapacity = 20;
113 suspendCapacity = 10;
114 };
115
116 services.udev.extraRules = builtins.readFile ./qmk.rules;
117
118 users.users.np = {
119 isNormalUser = true;
120 home = "/home/np";
121 extraGroups = [ "wheel" "users" "tty" "audio" "video" "input" "adbusers" "docker" ];
122 };
123
124 nix = {
125 package = pkgs.nixUnstable;
126 extraOptions = ''
127 experimental-features = nix-command flakes
128 warn-dirty = false
129 keep-outputs = false
130 keep-derivations = false
131 '';
132 settings = {
133 trusted-users = [
134 "root"
135 "np"
136 ];
137 };
138 };
139
140 # This value determines the NixOS release from which the default
141 # settings for stateful data, like file locations and database versions
142 # on your system were taken. It‘s perfectly fine and recommended to leave
143 # this value at the release version of the first install of this system.
144 # Before changing this value read the documentation for this option
145 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
146 system.stateVersion = "20.03"; # Did you read the comment?
147}
diff --git a/hosts/olive/hardware-configuration.nix b/hosts/olive/hardware-configuration.nix
deleted file mode 100644
index c2bff39..0000000
--- a/hosts/olive/hardware-configuration.nix
+++ /dev/null
@@ -1,36 +0,0 @@
1# Do not modify this file! It was generated by ‘nixos-generate-config’
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4{ config, lib, pkgs, modulesPath, ... }:
5
6{
7 imports = [
8 "${modulesPath}/installer/scan/not-detected.nix"
9 ];
10
11 boot.initrd.availableKernelModules = [
12 "xhci_pci"
13 "ahci"
14 "nvme"
15 "usb_storage"
16 "sd_mod"
17 ];
18 boot.initrd.kernelModules = [ ];
19 boot.kernelModules = [ "kvm-intel" ];
20 boot.extraModulePackages = [ ];
21
22 fileSystems."/" = {
23 device = "/dev/disk/by-uuid/27a7c854-e674-411f-9d79-37084922c91d";
24 fsType = "ext4";
25 };
26
27 fileSystems."/boot" = {
28 device = "/dev/disk/by-uuid/882C-54D5";
29 fsType = "vfat";
30 };
31
32 swapDevices = [ ];
33
34 nix.settings.max-jobs = lib.mkDefault 8;
35 powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
36}
diff --git a/hosts/olive/qmk.rules b/hosts/olive/qmk.rules
deleted file mode 100644
index 57806f9..0000000
--- a/hosts/olive/qmk.rules
+++ /dev/null
@@ -1,74 +0,0 @@
1# Atmel DFU
2### ATmega16U2
3SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess"
4### ATmega32U2
5SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess"
6### ATmega16U4
7SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess"
8### ATmega32U4
9SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess"
10### AT90USB64
11SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess"
12### AT90USB162
13SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess"
14### AT90USB128
15SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess"
16
17# Input Club
18SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess"
19
20# STM32duino
21SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess"
22# STM32 DFU
23SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
24
25# BootloadHID
26SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess"
27
28# USBAspLoader
29SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess"
30
31# ModemManager should ignore the following devices
32# Atmel SAM-BA (Massdrop)
33SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
34
35# Caterina (Pro Micro)
36## pid.codes shared PID
37### Keyboardio Atreus 2 Bootloader
38SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
39## Spark Fun Electronics
40### Pro Micro 3V3/8MHz
41SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
42### Pro Micro 5V/16MHz
43SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
44### LilyPad 3V3/8MHz (and some Pro Micro clones)
45SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
46## Pololu Electronics
47### A-Star 32U4
48SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
49## Arduino SA
50### Leonardo
51SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
52### Micro
53SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
54## Adafruit Industries LLC
55### Feather 32U4
56SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
57### ItsyBitsy 32U4 3V3/8MHz
58SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
59### ItsyBitsy 32U4 5V/16MHz
60SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
61## dog hunter AG
62### Leonardo
63SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
64### Micro
65SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
66
67# hid_listen
68KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
69
70# hid bootloaders
71## QMK HID
72SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", TAG+="uaccess"
73## PJRC's HalfKay
74SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", TAG+="uaccess"
diff --git a/programs/atuin.nix b/programs/atuin.nix
new file mode 100644
index 0000000..2a501fc
--- /dev/null
+++ b/programs/atuin.nix
@@ -0,0 +1,6 @@
1{
2 programs.atuin = {
3 enable = true;
4 enableBashIntegration = true;
5 };
6}
diff --git a/programs/default.nix b/programs/default.nix
index 482c02e..32eaf18 100644
--- a/programs/default.nix
+++ b/programs/default.nix
@@ -8,6 +8,7 @@
8{ 8{
9 9
10 imports = [ 10 imports = [
11 ./atuin.nix
11 ./bash.nix 12 ./bash.nix
12 ./chromium.nix 13 ./chromium.nix
13 ./feh.nix 14 ./feh.nix
@@ -16,9 +17,9 @@
16 ./htop.nix 17 ./htop.nix
17 ./neovim.nix 18 ./neovim.nix
18 ./readline.nix 19 ./readline.nix
20 ./rofi.nix
19 ./tmux.nix 21 ./tmux.nix
20 ./zathura.nix 22 ./zathura.nix
21 ./rofi.nix
22 ]; 23 ];
23 24
24 programs = { 25 programs = {
diff --git a/programs/git.nix b/programs/git.nix
index 69dd409..d4fac67 100644
--- a/programs/git.nix
+++ b/programs/git.nix
@@ -19,7 +19,13 @@ with theme;
19 syntax-theme = "none"; 19 syntax-theme = "none";
20 zero-style = "8"; 20 zero-style = "8";
21 navigate = "true"; 21 navigate = "true";
22 line-numbers = "true";
22 keep-plus-minus-markers = "true"; 23 keep-plus-minus-markers = "true";
24 line-numbers-zero-style = "8";
25 line-numbers-left-style = "8";
26 line-numbers-right-style = "8";
27 line-numbers-minus-style = "${base08}";
28 line-numbers-plus-style = "${base0B}";
23 decorations = { 29 decorations = {
24 file-decoration-style = "none"; 30 file-decoration-style = "none";
25 whitespace-error-style = "22 reverse"; 31 whitespace-error-style = "22 reverse";
@@ -27,7 +33,7 @@ with theme;
27 minus-emph-style = "${base08} bold"; 33 minus-emph-style = "${base08} bold";
28 plus-style = "${base0B}"; 34 plus-style = "${base0B}";
29 plus-emph-style = "${base0B} bold"; 35 plus-emph-style = "${base0B} bold";
30 file-style = "7 italic"; 36 file-style = "7 bold";
31 hunk-header-style = "7"; 37 hunk-header-style = "7";
32 hunk-header-decoration-style = "8 ul"; 38 hunk-header-decoration-style = "8 ul";
33 }; 39 };
@@ -39,11 +45,6 @@ with theme;
39 }; 45 };
40 }; 46 };
41 }; 47 };
42 # difftastic = {
43 # enable = true;
44 # background = "dark";
45 # display = "inline";
46 # };
47 aliases = { 48 aliases = {
48 co = "checkout"; 49 co = "checkout";
49 rb = "rebase"; 50 rb = "rebase";
diff --git a/programs/init.vim b/programs/init.vim
index c62f419..af74f32 100644
--- a/programs/init.vim
+++ b/programs/init.vim
@@ -55,6 +55,7 @@ set dir=/tmp
55 55
56syntax on 56syntax on
57 57
58set nocursorline
58set omnifunc=syntaxcomplete#Complete 59set omnifunc=syntaxcomplete#Complete
59set completefunc=LanguageClient#complete 60set completefunc=LanguageClient#complete
60set list 61set list
@@ -76,6 +77,7 @@ set path+=**
76set backspace=indent,eol,start 77set backspace=indent,eol,start
77set hidden 78set hidden
78set wildmenu 79set wildmenu
80set pumheight=8
79set complete=.,w,b,i,u,t, 81set complete=.,w,b,i,u,t,
80set background=dark 82set background=dark
81set mouse=a 83set mouse=a
@@ -83,7 +85,7 @@ set conceallevel=0
83set nonumber 85set nonumber
84set grepprg=rg\ --vimgrep\ --no-heading 86set grepprg=rg\ --vimgrep\ --no-heading
85set grepformat=%f:%l:%c:%m,%f:%l:%m 87set grepformat=%f:%l:%c:%m,%f:%l:%m
86set cmdheight=2 88set cmdheight=1
87set shortmess+=c 89set shortmess+=c
88set updatetime=300 90set updatetime=300
89set signcolumn=yes 91set signcolumn=yes
diff --git a/services/sxhkd.nix b/services/sxhkd.nix
index d8678af..b1fc55c 100644
--- a/services/sxhkd.nix
+++ b/services/sxhkd.nix
@@ -19,11 +19,18 @@ in
19{ 19{
20 services.sxhkd = { 20 services.sxhkd = {
21 enable = true; 21 enable = true;
22 keybindings = { 22 keybindings =
23 let
24 vol_up ="${volume}/bin/volume sset Master 2%+";
25 vol_down ="${volume}/bin/volume sset Master 2%-";
26 in
27 {
23 "super + slash" = "${pkgs.light}/bin/light -A 2"; 28 "super + slash" = "${pkgs.light}/bin/light -A 2";
24 "super + shift + slash" = "${pkgs.light}/bin/light -U 2"; 29 "super + shift + slash" = "${pkgs.light}/bin/light -U 2";
25 "super + semicolon" = "${volume}/bin/volume sset Master 2%+"; 30 "super + semicolon" = vol_up;
26 "super + shift + semicolon" = "${volume}/bin/volume sset Master 2%-"; 31 "super + shift + semicolon" = vol_down;
32 "XF86AudioRaiseVolume" = vol_up;
33 "XF86AudioLowerVolume" = vol_down;
27 "super + ctrl + space" = "${pkgs.dunst}/bin/dunstctl close"; 34 "super + ctrl + space" = "${pkgs.dunst}/bin/dunstctl close";
28 "super + shift + space" = "${pkgs.dunst}/bin/dunstctl history-pop"; 35 "super + shift + space" = "${pkgs.dunst}/bin/dunstctl history-pop";
29 "super + ctrl + shift + space" = "${pkgs.dunst}/bin/dunstctl close-all"; 36 "super + ctrl + shift + space" = "${pkgs.dunst}/bin/dunstctl close-all";