authorgravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2025-04-21 10:25:32-07:00
committergravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2025-04-21 10:25:32-07:00
log0f3e214767ad8e0f6af145dd1b8aa7d8ecb1e6ca
treedb11f9416ea28c6498de96a1904b528d9e33ba1d
parent4f015f806db80d849ac7af3eefcdf7fca32779eb
signature Commit is signed but in an unrecognized format.

move home packages into system packages


14 files changed, 386 insertions(+), 430 deletions(-)

flake.lock+74-143
...@@ -20,11 +20,11 @@...@@ -20,11 +20,11 @@
20 ]20 ]
21 },21 },
22 "locked": {22 "locked": {
23 "lastModified": 1743265529,23 "lastModified": 1744289235,
24 "narHash": "sha256-QbjP15/2N+VJl0b5jxrrTc+VOt39aU4XrDvtP0Lz5ik=",24 "narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=",
25 "owner": "hyprwm",25 "owner": "hyprwm",
26 "repo": "aquamarine",26 "repo": "aquamarine",
27 "rev": "1d2dbd72c2bbaceab031c592d4810f744741d203",27 "rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a",
28 "type": "github"28 "type": "github"
29 },29 },
30 "original": {30 "original": {
...@@ -61,11 +61,11 @@...@@ -61,11 +61,11 @@
61 ]61 ]
62 },62 },
63 "locked": {63 "locked": {
64 "lastModified": 1743496612,64 "lastModified": 1744478979,
65 "narHash": "sha256-emPWa5lmKbnyuj8c1mSJUkzJNT+iJoU9GMcXwjp2oVM=",65 "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
66 "owner": "lnl7",66 "owner": "lnl7",
67 "repo": "nix-darwin",67 "repo": "nix-darwin",
68 "rev": "73d59580d01e9b9f957ba749f336a272869c42dd",68 "rev": "43975d782b418ebf4969e9ccba82466728c2851b",
69 "type": "github"69 "type": "github"
70 },70 },
71 "original": {71 "original": {
...@@ -161,24 +161,6 @@...@@ -161,24 +161,6 @@
161 "inputs": {161 "inputs": {
162 "systems": "systems_3"162 "systems": "systems_3"
163 },163 },
164 "locked": {
165 "lastModified": 1701680307,
166 "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
167 "owner": "numtide",
168 "repo": "flake-utils",
169 "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
170 "type": "github"
171 },
172 "original": {
173 "owner": "numtide",
174 "repo": "flake-utils",
175 "type": "github"
176 }
177 },
178 "flake-utils_3": {
179 "inputs": {
180 "systems": "systems_4"
181 },
182 "locked": {164 "locked": {
183 "lastModified": 1731533236,165 "lastModified": 1731533236,
184 "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",166 "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
...@@ -193,9 +175,9 @@...@@ -193,9 +175,9 @@
193 "type": "github"175 "type": "github"
194 }176 }
195 },177 },
196 "flake-utils_4": {178 "flake-utils_3": {
197 "inputs": {179 "inputs": {
198 "systems": "systems_5"180 "systems": "systems_4"
199 },181 },
200 "locked": {182 "locked": {
201 "lastModified": 1705309234,183 "lastModified": 1705309234,
...@@ -211,9 +193,9 @@...@@ -211,9 +193,9 @@
211 "type": "github"193 "type": "github"
212 }194 }
213 },195 },
214 "flake-utils_5": {196 "flake-utils_4": {
215 "inputs": {197 "inputs": {
216 "systems": "systems_6"198 "systems": "systems_5"
217 },199 },
218 "locked": {200 "locked": {
219 "lastModified": 1710146030,201 "lastModified": 1710146030,
...@@ -229,9 +211,9 @@...@@ -229,9 +211,9 @@
229 "type": "github"211 "type": "github"
230 }212 }
231 },213 },
232 "flake-utils_6": {214 "flake-utils_5": {
233 "inputs": {215 "inputs": {
234 "systems": "systems_7"216 "systems": "systems_6"
235 },217 },
236 "locked": {218 "locked": {
237 "lastModified": 1705309234,219 "lastModified": 1705309234,
...@@ -313,11 +295,11 @@...@@ -313,11 +295,11 @@
313 ]295 ]
314 },296 },
315 "locked": {297 "locked": {
316 "lastModified": 1743998782,298 "lastModified": 1745128386,
317 "narHash": "sha256-gckmtwW/H0jEM1Y8G3wBLfr2nJvwBdjuqnjKNV0lcQY=",299 "narHash": "sha256-xnNxL9lZC5Ez8AxTgHZZu8pYSNM34+5GD5jGSs8Vq4M=",
318 "owner": "nix-community",300 "owner": "nix-community",
319 "repo": "home-manager",301 "repo": "home-manager",
320 "rev": "c15ab0ce0dbe64843358a3081b09ed35144dfd65",302 "rev": "f98314bb064cf8f8446c44afbadaaad2505875a7",
321 "type": "github"303 "type": "github"
322 },304 },
323 "original": {305 "original": {
...@@ -332,11 +314,11 @@...@@ -332,11 +314,11 @@
332 "nixpkgs": "nixpkgs"314 "nixpkgs": "nixpkgs"
333 },315 },
334 "locked": {316 "locked": {
335 "lastModified": 1743896382,317 "lastModified": 1744900124,
336 "narHash": "sha256-yYLBCDGOpsrMW1cMYUd1B0AWx86puv75Bn+T+TGsyRU=",318 "narHash": "sha256-2l+0DOQkro1XqokQCQYJVy0RLULxLvRdfd+KLvx2E+I=",
337 "owner": "StevenBlack",319 "owner": "StevenBlack",
338 "repo": "hosts",320 "repo": "hosts",
339 "rev": "37a200a82d7a7d9a6598d870825a30f581632016",321 "rev": "8c73d7423883d1e9992eb74aabc17f0780b65c8b",
340 "type": "github"322 "type": "github"
341 },323 },
342 "original": {324 "original": {
...@@ -390,11 +372,11 @@...@@ -390,11 +372,11 @@
390 ]372 ]
391 },373 },
392 "locked": {374 "locked": {
393 "lastModified": 1739049071,375 "lastModified": 1743953322,
394 "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",376 "narHash": "sha256-prQ5JKopXtzCMX2eT3dXbaVvGmzjMRE2bXStQDdazpM=",
395 "owner": "hyprwm",377 "owner": "hyprwm",
396 "repo": "hyprgraphics",378 "repo": "hyprgraphics",
397 "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",379 "rev": "9d7f2687c84c729afbc3b13f7937655570f2978d",
398 "type": "github"380 "type": "github"
399 },381 },
400 "original": {382 "original": {
...@@ -419,11 +401,11 @@...@@ -419,11 +401,11 @@
419 "xdph": "xdph"401 "xdph": "xdph"
420 },402 },
421 "locked": {403 "locked": {
422 "lastModified": 1743975687,404 "lastModified": 1745164468,
423 "narHash": "sha256-k21wOvAEzCLHIUsVG551y6cMxmQ7sXQLOtlxQXV09xk=",405 "narHash": "sha256-JOza51SDXsdHIuIR40wdFTzjZdSIq8RwFpCacDNURgk=",
424 "owner": "hyprwm",406 "owner": "hyprwm",
425 "repo": "Hyprland",407 "repo": "Hyprland",
426 "rev": "51838fb5f5b5b03bca99b324fb1f6494d3854f89",408 "rev": "9b4060f09be06250e859b27d6dd3ded5349f5546",
427 "type": "github"409 "type": "github"
428 },410 },
429 "original": {411 "original": {
...@@ -449,11 +431,11 @@...@@ -449,11 +431,11 @@
449 ]431 ]
450 },432 },
451 "locked": {433 "locked": {
452 "lastModified": 1743950622,434 "lastModified": 1745156469,
453 "narHash": "sha256-8qjDapcQeDqxQUIm5gA0x6XZtowV/14bOs3K0tCSMoU=",435 "narHash": "sha256-3PK27C3XcPoOkEIQnaPi3cdvh7XjIGqkcQ6MeZMvy2E=",
454 "owner": "hyprwm",436 "owner": "hyprwm",
455 "repo": "hyprland-plugins",437 "repo": "hyprland-plugins",
456 "rev": "be6b9875dd5c586fb401d294bb98c31973849651",438 "rev": "faa4e782753ab994333666b7e686b038d420c22f",
457 "type": "github"439 "type": "github"
458 },440 },
459 "original": {441 "original": {
...@@ -571,11 +553,11 @@...@@ -571,11 +553,11 @@
571 ]553 ]
572 },554 },
573 "locked": {555 "locked": {
574 "lastModified": 1741191527,556 "lastModified": 1744468525,
575 "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",557 "narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=",
576 "owner": "hyprwm",558 "owner": "hyprwm",
577 "repo": "hyprlang",559 "repo": "hyprlang",
578 "rev": "72df3861f1197e41b078faa3e38eedd60e00018d",560 "rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df",
579 "type": "github"561 "type": "github"
580 },562 },
581 "original": {563 "original": {
...@@ -651,15 +633,14 @@...@@ -651,15 +633,14 @@
651 "flake-utils": "flake-utils",633 "flake-utils": "flake-utils",
652 "nixpkgs": [634 "nixpkgs": [
653 "nixpkgs"635 "nixpkgs"
654 ],636 ]
655 "pnpm2nix": "pnpm2nix"
656 },637 },
657 "locked": {638 "locked": {
658 "lastModified": 1743984107,639 "lastModified": 1744754672,
659 "narHash": "sha256-4847SrchEPDB9CEZME64E41adIygA/pkoQyRGXNymq0=",640 "narHash": "sha256-FmQS8DqjgOyfEth8tpUlJoduo6rAv28PwLGv90J3rcM=",
660 "owner": "moonlight-mod",641 "owner": "moonlight-mod",
661 "repo": "moonlight",642 "repo": "moonlight",
662 "rev": "f3eb24ebb4c68becb4d28a88ae95bcbd50ec8b66",643 "rev": "cbcf4afc43f9bb2347b822fe1f6a2bf74075d927",
663 "type": "github"644 "type": "github"
664 },645 },
665 "original": {646 "original": {
...@@ -695,11 +676,11 @@...@@ -695,11 +676,11 @@
695 ]676 ]
696 },677 },
697 "locked": {678 "locked": {
698 "lastModified": 1744518957,679 "lastModified": 1745120797,
699 "narHash": "sha256-RLBSWQfTL0v+7uyskC5kP6slLK1jvIuhaAh8QvB75m4=",680 "narHash": "sha256-owQ0VQ+7cSanTVPxaZMWEzI22Q4bGnuvhVjLAJBNQ3E=",
700 "owner": "nix-community",681 "owner": "nix-community",
701 "repo": "nix-index-database",682 "repo": "nix-index-database",
702 "rev": "4fc9ea78c962904f4ea11046f3db37c62e8a02fd",683 "rev": "69716041f881a2af935021c1182ed5b0cc04d40e",
703 "type": "github"684 "type": "github"
704 },685 },
705 "original": {686 "original": {
...@@ -710,9 +691,9 @@...@@ -710,9 +691,9 @@
710 },691 },
711 "nix-options-search": {692 "nix-options-search": {
712 "inputs": {693 "inputs": {
713 "flake-utils": "flake-utils_3",694 "flake-utils": "flake-utils_2",
714 "gitignore": "gitignore_2",695 "gitignore": "gitignore_2",
715 "nixpkgs": "nixpkgs_4"696 "nixpkgs": "nixpkgs_3"
716 },697 },
717 "locked": {698 "locked": {
718 "lastModified": 1743876182,699 "lastModified": 1743876182,
...@@ -738,11 +719,11 @@...@@ -738,11 +719,11 @@
738 "rust-overlay": "rust-overlay"719 "rust-overlay": "rust-overlay"
739 },720 },
740 "locked": {721 "locked": {
741 "lastModified": 1743949616,722 "lastModified": 1745147300,
742 "narHash": "sha256-L7rN47O8cc/LrYlWtZOKuVYuYQ8VWPlUeAaMVhxQu5o=",723 "narHash": "sha256-PvzBVmB8qRxGnccAaBxPKG9oElAQxac2HbFOGyQuuJU=",
743 "owner": "lilyinstarlight",724 "owner": "lilyinstarlight",
744 "repo": "nixos-cosmic",725 "repo": "nixos-cosmic",
745 "rev": "e765d8c0340d38c1544dcfc6cae829ed2582075e",726 "rev": "5a4d2109cf5a3eb18a0afa361a017643a57f9454",
746 "type": "github"727 "type": "github"
747 },728 },
748 "original": {729 "original": {
...@@ -754,8 +735,8 @@...@@ -754,8 +735,8 @@
754 "nixpkgs": {735 "nixpkgs": {
755 "locked": {736 "locked": {
756 "lastModified": 0,737 "lastModified": 0,
757 "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",738 "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
758 "path": "/nix/store/9qd2bi98nh9yd4axm9zr16zln01w62q3-source",739 "path": "/nix/store/inbabfz8n7fxflkis0a05zcli4a1q2bp-source",
759 "type": "path"740 "type": "path"
760 },741 },
761 "original": {742 "original": {
...@@ -765,11 +746,11 @@...@@ -765,11 +746,11 @@
765 },746 },
766 "nixpkgs-stable": {747 "nixpkgs-stable": {
767 "locked": {748 "locked": {
768 "lastModified": 1743703532,749 "lastModified": 1744440957,
769 "narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=",750 "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
770 "owner": "NixOS",751 "owner": "NixOS",
771 "repo": "nixpkgs",752 "repo": "nixpkgs",
772 "rev": "bdb91860de2f719b57eef819b5617762f7120c70",753 "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
773 "type": "github"754 "type": "github"
774 },755 },
775 "original": {756 "original": {
...@@ -796,11 +777,11 @@...@@ -796,11 +777,11 @@
796 },777 },
797 "nixpkgs_2": {778 "nixpkgs_2": {
798 "locked": {779 "locked": {
799 "lastModified": 1743827369,780 "lastModified": 1744932701,
800 "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",781 "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
801 "owner": "NixOS",782 "owner": "NixOS",
802 "repo": "nixpkgs",783 "repo": "nixpkgs",
803 "rev": "42a1c966be226125b48c384171c44c651c236c22",784 "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
804 "type": "github"785 "type": "github"
805 },786 },
806 "original": {787 "original": {
...@@ -811,22 +792,6 @@...@@ -811,22 +792,6 @@
811 }792 }
812 },793 },
813 "nixpkgs_3": {794 "nixpkgs_3": {
814 "locked": {
815 "lastModified": 1736344531,
816 "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
817 "owner": "nixos",
818 "repo": "nixpkgs",
819 "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
820 "type": "github"
821 },
822 "original": {
823 "owner": "nixos",
824 "ref": "nixos-unstable",
825 "repo": "nixpkgs",
826 "type": "github"
827 }
828 },
829 "nixpkgs_4": {
830 "locked": {795 "locked": {
831 "lastModified": 1736012469,796 "lastModified": 1736012469,
832 "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",797 "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
...@@ -842,13 +807,13 @@...@@ -842,13 +807,13 @@
842 "type": "github"807 "type": "github"
843 }808 }
844 },809 },
845 "nixpkgs_5": {810 "nixpkgs_4": {
846 "locked": {811 "locked": {
847 "lastModified": 1743827369,812 "lastModified": 1744932701,
848 "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",813 "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
849 "owner": "NixOS",814 "owner": "NixOS",
850 "repo": "nixpkgs",815 "repo": "nixpkgs",
851 "rev": "42a1c966be226125b48c384171c44c651c236c22",816 "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
852 "type": "github"817 "type": "github"
853 },818 },
854 "original": {819 "original": {
...@@ -857,7 +822,7 @@...@@ -857,7 +822,7 @@
857 "type": "indirect"822 "type": "indirect"
858 }823 }
859 },824 },
860 "nixpkgs_6": {825 "nixpkgs_5": {
861 "locked": {826 "locked": {
862 "lastModified": 1708161998,827 "lastModified": 1708161998,
863 "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=",828 "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=",
...@@ -873,7 +838,7 @@...@@ -873,7 +838,7 @@
873 "type": "github"838 "type": "github"
874 }839 }
875 },840 },
876 "nixpkgs_7": {841 "nixpkgs_6": {
877 "locked": {842 "locked": {
878 "lastModified": 1717696253,843 "lastModified": 1717696253,
879 "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=",844 "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=",
...@@ -889,25 +854,6 @@...@@ -889,25 +854,6 @@
889 "type": "github"854 "type": "github"
890 }855 }
891 },856 },
892 "pnpm2nix": {
893 "inputs": {
894 "flake-utils": "flake-utils_2",
895 "nixpkgs": "nixpkgs_3"
896 },
897 "locked": {
898 "lastModified": 1736457458,
899 "narHash": "sha256-eiw+hAsxavEgBfhwrktNI2hwvgeVDzBDYClx/yqka78=",
900 "owner": "NotNite",
901 "repo": "pnpm2nix-nzbr",
902 "rev": "4ac61c6a50623da937dca005e3dbcb8862aafb83",
903 "type": "github"
904 },
905 "original": {
906 "owner": "NotNite",
907 "repo": "pnpm2nix-nzbr",
908 "type": "github"
909 }
910 },
911 "pre-commit-hooks": {857 "pre-commit-hooks": {
912 "inputs": {858 "inputs": {
913 "flake-compat": "flake-compat",859 "flake-compat": "flake-compat",
...@@ -944,7 +890,7 @@...@@ -944,7 +890,7 @@
944 "nix-index-database": "nix-index-database",890 "nix-index-database": "nix-index-database",
945 "nix-options-search": "nix-options-search",891 "nix-options-search": "nix-options-search",
946 "nixos-cosmic": "nixos-cosmic",892 "nixos-cosmic": "nixos-cosmic",
947 "nixpkgs": "nixpkgs_5",893 "nixpkgs": "nixpkgs_4",
948 "nixpkgs-stable": "nixpkgs-stable_2",894 "nixpkgs-stable": "nixpkgs-stable_2",
949 "rust-overlay": "rust-overlay_2",895 "rust-overlay": "rust-overlay_2",
950 "zig": "zig",896 "zig": "zig",
...@@ -959,11 +905,11 @@...@@ -959,11 +905,11 @@
959 ]905 ]
960 },906 },
961 "locked": {907 "locked": {
962 "lastModified": 1743906877,908 "lastModified": 1745116541,
963 "narHash": "sha256-Thah1oU8Vy0gs9bh5QhNcQh1iuQiowMnZPbrkURonZA=",909 "narHash": "sha256-5xzA6dTfqCfTTDCo3ipPZzrg3wp01xmcr73y4cTNMP8=",
964 "owner": "oxalica",910 "owner": "oxalica",
965 "repo": "rust-overlay",911 "repo": "rust-overlay",
966 "rev": "9d00c6b69408dd40d067603012938d9fbe95cfcd",912 "rev": "e2142ef330a61c02f274ac9a9cb6f8487a5d0080",
967 "type": "github"913 "type": "github"
968 },914 },
969 "original": {915 "original": {
...@@ -979,11 +925,11 @@...@@ -979,11 +925,11 @@
979 ]925 ]
980 },926 },
981 "locked": {927 "locked": {
982 "lastModified": 1743993291,928 "lastModified": 1745116541,
983 "narHash": "sha256-u8GHvduU1gCtoFXvTS/wGjH1ouv5S/GRGq6MAT+sG/k=",929 "narHash": "sha256-5xzA6dTfqCfTTDCo3ipPZzrg3wp01xmcr73y4cTNMP8=",
984 "owner": "oxalica",930 "owner": "oxalica",
985 "repo": "rust-overlay",931 "repo": "rust-overlay",
986 "rev": "0cb3c8979c65dc6a5812dfe67499a8c7b8b4325b",932 "rev": "e2142ef330a61c02f274ac9a9cb6f8487a5d0080",
987 "type": "github"933 "type": "github"
988 },934 },
989 "original": {935 "original": {
...@@ -1082,21 +1028,6 @@...@@ -1082,21 +1028,6 @@
1082 "type": "github"1028 "type": "github"
1083 }1029 }
1084 },1030 },
1085 "systems_7": {
1086 "locked": {
1087 "lastModified": 1681028828,
1088 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
1089 "owner": "nix-systems",
1090 "repo": "default",
1091 "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
1092 "type": "github"
1093 },
1094 "original": {
1095 "owner": "nix-systems",
1096 "repo": "default",
1097 "type": "github"
1098 }
1099 },
1100 "xdph": {1031 "xdph": {
1101 "inputs": {1032 "inputs": {
1102 "hyprland-protocols": [1033 "hyprland-protocols": [
...@@ -1125,11 +1056,11 @@...@@ -1125,11 +1056,11 @@
1125 ]1056 ]
1126 },1057 },
1127 "locked": {1058 "locked": {
1128 "lastModified": 1741934139,1059 "lastModified": 1744644585,
1129 "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=",1060 "narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=",
1130 "owner": "hyprwm",1061 "owner": "hyprwm",
1131 "repo": "xdg-desktop-portal-hyprland",1062 "repo": "xdg-desktop-portal-hyprland",
1132 "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0",1063 "rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26",
1133 "type": "github"1064 "type": "github"
1134 },1065 },
1135 "original": {1066 "original": {
...@@ -1141,15 +1072,15 @@...@@ -1141,15 +1072,15 @@
1141 "zig": {1072 "zig": {
1142 "inputs": {1073 "inputs": {
1143 "flake-compat": "flake-compat_3",1074 "flake-compat": "flake-compat_3",
1144 "flake-utils": "flake-utils_4",1075 "flake-utils": "flake-utils_3",
1145 "nixpkgs": "nixpkgs_6"1076 "nixpkgs": "nixpkgs_5"
1146 },1077 },
1147 "locked": {1078 "locked": {
1148 "lastModified": 1743899701,1079 "lastModified": 1744978344,
1149 "narHash": "sha256-qbaGVwPyUGmmRh+u1EY+bFKKiBC2CDfuE7E9uGj1Iuk=",1080 "narHash": "sha256-wY5oeCJDKBlEodTR8d7GbH1rzgiPZeb0x/1z/2GvFvs=",
1150 "owner": "mitchellh",1081 "owner": "mitchellh",
1151 "repo": "zig-overlay",1082 "repo": "zig-overlay",
1152 "rev": "51f156aa0220947c6712b5846bf440136fd551db",1083 "rev": "028c99db16ef26fcc3cf138a2759b3cac3a19ae1",
1153 "type": "github"1084 "type": "github"
1154 },1085 },
1155 "original": {1086 "original": {
...@@ -1161,7 +1092,7 @@...@@ -1161,7 +1092,7 @@
1161 "zig-overlay": {1092 "zig-overlay": {
1162 "inputs": {1093 "inputs": {
1163 "flake-compat": "flake-compat_4",1094 "flake-compat": "flake-compat_4",
1164 "flake-utils": "flake-utils_6",1095 "flake-utils": "flake-utils_5",
1165 "nixpkgs": [1096 "nixpkgs": [
1166 "zls",1097 "zls",
1167 "nixpkgs"1098 "nixpkgs"
...@@ -1183,10 +1114,10 @@...@@ -1183,10 +1114,10 @@
1183 },1114 },
1184 "zls": {1115 "zls": {
1185 "inputs": {1116 "inputs": {
1186 "flake-utils": "flake-utils_5",1117 "flake-utils": "flake-utils_4",
1187 "gitignore": "gitignore_3",1118 "gitignore": "gitignore_3",
1188 "langref": "langref",1119 "langref": "langref",
1189 "nixpkgs": "nixpkgs_7",1120 "nixpkgs": "nixpkgs_6",
1190 "zig-overlay": "zig-overlay"1121 "zig-overlay": "zig-overlay"
1191 },1122 },
1192 "locked": {1123 "locked": {
flake.nix+16-5
...@@ -72,22 +72,33 @@...@@ -72,22 +72,33 @@
72 inputs.nh.overlays.default72 inputs.nh.overlays.default
73 ];73 ];
7474
75 mkSystem = import ./lib/mkSystem.nix {75 # ----- USER SETTINGS ----- #
76 inherit overlays nixpkgs inputs;76 userSettings = rec {
77 username = "nmarks"; # username
78 name = "Natalie"; # name/identifier
79 email = "nmarks413@gmail.com"; # email (used for certain configurations)
80 dotfilesDir = "~/.dotfiles"; # absolute path of the local repo
81 browser = "firefox"; # Default browser; must select one from ./user/app/browser/
82 term = "ghostty"; # Default terminal command;
83 font = "iosevka Nerd Font"; # Selected font
84 editor = "neovim"; # Default editor;
85 spawnEditor = "exec" + term + " -e " + editor;
86 timeZone = "America/Los_Angeles";
87 sexuality = "bisexual";
77 };88 };
7889
79 user = "nmarks";90 mkSystem = import ./lib/mkSystem.nix {
91 inherit overlays nixpkgs inputs userSettings;
92 };
80 in {93 in {
81 nixosConfigurations.nixos = mkSystem "nixos" {94 nixosConfigurations.nixos = mkSystem "nixos" {
82 system = "x86_64-linux";95 system = "x86_64-linux";
83 inherit user;
84 extraModules = [96 extraModules = [
85 nixos-cosmic.nixosModules.default97 nixos-cosmic.nixosModules.default
86 ];98 ];
87 };99 };
88 darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {100 darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {
89 system = "aarch64-darwin";101 system = "aarch64-darwin";
90 inherit user;
91 darwin = true;102 darwin = true;
92 };103 };
93 };104 };
hosts/desktop/configuration.nix+77-157
...@@ -3,6 +3,7 @@...@@ -3,6 +3,7 @@
3 inputs,3 inputs,
4 config,4 config,
5 pkgs,5 pkgs,
6 userSettings,
6 ...7 ...
7}: {8}: {
8 imports = [9 imports = [
...@@ -11,57 +12,90 @@...@@ -11,57 +12,90 @@
1112
12 ../../modules/nixos/nvidia.nix13 ../../modules/nixos/nvidia.nix
13 ../../modules/nixos/boot.nix14 ../../modules/nixos/boot.nix
15 ../../modules/nixos/ld.nix
16 ../../modules/nixos/services.nix
14 ];17 ];
15 programs.gamemode.enable = true;18 programs = {
19 gamemode.enable = true;
1620
17 programs._1password.enable = true;21 _1password.enable = true;
18 programs._1password-gui = {22 _1password-gui = {
19 enable = true;23 enable = true;
20 # Certain features, including CLI integration and system authentication support,24 # Certain features, including CLI integration and system authentication support,
21 # require enabling PolKit integration on some desktop environments (e.g. Plasma).25 # require enabling PolKit integration on some desktop environments (e.g. Plasma).
22 polkitPolicyOwners = ["nmarks"];26 polkitPolicyOwners = [userSettings.username];
23 };27 };
2428
25 hardware.bluetooth.enable = true;29 noisetorch.enable = true;
30
31 hyprland.enable = true;
32
33 fish.enable = true;
34 virt-manager.enable = true;
2635
27 services = {36 nh = {
37 enable = true;
38 clean.enable = true;
39 clean.extraArgs = "--keep-since 4d --keep 3";
40 flake = "/home/nmarks/.dotfiles";
41 };
42
43 neovim = {
44 enable = true;
45 defaultEditor = true;
46 };
47
48 steam = {
49 enable = true;
50 package = with pkgs; steam.override {extraPkgs = pkgs: [attr];};
51 };
52
53 git = {
54 enable = true;
55 lfs.enable = true;
56 };
57
58 # Some programs need SUID wrappers, can be configured further or are
59 # started in user sessions.
60 mtr.enable = true;
61 gnupg.agent = {
62 enable = true;
63 enableSSHSupport = true;
64 pinentryPackage = pkgs.pinentry-curses;
65 };
66
67 kdeconnect.enable = true;
28 };68 };
2969
30 programs.noisetorch.enable = true;70 hardware.bluetooth.enable = true;
3171
32 xdg.portal = {72 xdg.portal = {
33 enable = true;73 enable = true;
34 extraPortals = with pkgs; [xdg-desktop-portal-gtk];74 extraPortals = with pkgs; [xdg-desktop-portal-gtk];
35 };75 };
76 virtualisation = {
77 containers.enable = true;
78 podman = {
79 enable = true;
80 # dockerCompat = true;
81 };
82 docker.enable = true;
3683
37 virtualisation.containers.enable = true;84 libvirtd.enable = true;
38 virtualisation.podman = {
39 enable = true;
40 # dockerCompat = true;
41 };85 };
42 virtualisation.docker.enable = true;
43
44 nix.settings.trusted-users = ["root" "nmarks"];
4586
46 programs.hyprland.enable = true;87 nix.settings.trusted-users = ["root" userSettings.username];
4788 systemd = {
48 programs.fish.enable = true;89 targets = {
90 sleep.enable = false;
91 suspend.enable = false;
92 hibernate.enable = false;
93 hybrid-sleep.enable = false;
94 };
4995
50 virtualisation.libvirtd.enable = true;96 packages = [pkgs.observatory];
51 programs.virt-manager.enable = true;
5297
53 systemd.targets = {98 services.monitord.wantedBy = ["multi-user.target"];
54 sleep.enable = false;
55 suspend.enable = false;
56 hibernate.enable = false;
57 hybrid-sleep.enable = false;
58 };
59
60 programs.nh = {
61 enable = true;
62 clean.enable = true;
63 clean.extraArgs = "--keep-since 4d --keep 3";
64 flake = "/home/nmarks/.dotfiles";
65 };99 };
66100
67 i18n = {101 i18n = {
...@@ -95,16 +129,8 @@...@@ -95,16 +129,8 @@
95 ];129 ];
96 };130 };
97 };131 };
98 ### Cosmic stuff
99
100 environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
101
102 systemd.packages = [pkgs.observatory];
103
104 systemd.services.monitord.wantedBy = ["multi-user.target"];
105132
106 # Enable sound with pipewire.133 # Enable sound with pipewire.
107 # services.pulseaudio.enable = true;
108 security.rtkit.enable = true;134 security.rtkit.enable = true;
109135
110 # Enable touchpad support (enabled default in most desktopManager).136 # Enable touchpad support (enabled default in most desktopManager).
...@@ -112,7 +138,7 @@...@@ -112,7 +138,7 @@
112138
113 # Define a user account. Don't forget to set a password with ‘passwd’.139 # Define a user account. Don't forget to set a password with ‘passwd’.
114 users.defaultUserShell = pkgs.fish;140 users.defaultUserShell = pkgs.fish;
115 users.users.nmarks = {141 users.users.${userSettings.username} = {
116 isNormalUser = true;142 isNormalUser = true;
117 description = "Natalie Marks";143 description = "Natalie Marks";
118 extraGroups = ["networkmanager" "wheel" "docker"];144 extraGroups = ["networkmanager" "wheel" "docker"];
...@@ -125,40 +151,17 @@...@@ -125,40 +151,17 @@
125 # thunderbird151 # thunderbird
126 ];152 ];
127 };153 };
154 environment = {
155 sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
156 variables.EDITOR = "nvim";
128157
129 programs.neovim = {158 systemPackages = with pkgs; [
130 enable = true;159 vim
131 defaultEditor = true;160 ];
132 };
133 environment.variables.EDITOR = "nvim";
134
135 programs.steam = {
136 enable = true;
137 package = with pkgs; steam.override {extraPkgs = pkgs: [attr];};
138 };
139
140 programs.git = {
141 enable = true;
142 lfs.enable = true;
143 };
144
145 environment.systemPackages = with pkgs; [
146 vim
147 ];
148
149 # Some programs need SUID wrappers, can be configured further or are
150 # started in user sessions.
151 programs.mtr.enable = true;
152 programs.gnupg.agent = {
153 enable = true;
154 enableSSHSupport = true;
155 pinentryPackage = pkgs.pinentry-curses;
156 };161 };
157162
158 programs.kdeconnect.enable = true;
159
160 networking = {163 networking = {
161 hostName = "nixos"; # Define your hostname.164 hostName = userSettings.hostname; # Define your hostname.
162 # wireless.enable = true; # Enables wireless support via wpa_supplicant.165 # wireless.enable = true; # Enables wireless support via wpa_supplicant.
163 networkmanager.enable = true;166 networkmanager.enable = true;
164 firewall = {167 firewall = {
...@@ -171,89 +174,6 @@...@@ -171,89 +174,6 @@
171 };174 };
172 };175 };
173176
174 programs.nix-ld.enable = true;
175
176 # "minimum" amount of libraries needed for most games to run without steam-run
177 programs.nix-ld.libraries = with pkgs; [
178 # common requirement for several games
179 stdenv.cc.cc.lib
180
181 # from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L72-L79
182 xorg.libXcomposite
183 xorg.libXtst
184 xorg.libXrandr
185 xorg.libXext
186 xorg.libX11
187 xorg.libXfixes
188 libGL
189 libva
190
191 # from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L124-L136
192 fontconfig
193 freetype
194 xorg.libXt
195 xorg.libXmu
196 libogg
197 libvorbis
198 SDL
199 SDL2_image
200 glew110
201 libdrm
202 libidn
203 tbb
204 zlib
205 alsa-lib
206 at-spi2-atk
207 at-spi2-core
208 atk
209 cairo
210 cups
211 curl
212 dbus
213 expat
214 fontconfig
215 freetype
216 fuse3
217 gdk-pixbuf
218 glib
219 gtk3
220 icu
221 libGL
222 libappindicator-gtk3
223 libdrm
224 libglvnd
225 libnotify
226 libpulseaudio
227 libunwind
228 libusb1
229 libuuid
230 libxkbcommon
231 libxml2
232 mesa
233 nspr
234 nss
235 openssl
236 pango
237 # pipewire
238 stdenv.cc.cc
239 systemd
240 vulkan-loader
241 xorg.libX11
242 xorg.libXScrnSaver
243 xorg.libXcomposite
244 xorg.libXcursor
245 xorg.libXdamage
246 xorg.libXext
247 xorg.libXfixes
248 xorg.libXi
249 xorg.libXrandr
250 xorg.libXrender
251 xorg.libXtst
252 xorg.libxcb
253 xorg.libxkbfile
254 xorg.libxshmfence
255 zlib
256 ];
257 # Open ports in the firewall.177 # Open ports in the firewall.
258 # networking.firewall.allowedUDPPorts = [ ... ];178 # networking.firewall.allowedUDPPorts = [ ... ];
259 # Or disable the firewall altogether.179 # Or disable the firewall altogether.
hosts/desktop/home.nix+2-19
...@@ -4,22 +4,11 @@...@@ -4,22 +4,11 @@
4 pkgs,4 pkgs,
5 lib,5 lib,
6 zls,6 zls,
7 nix-options-search,
8 ...7 ...
9}: let8}: let
10 shared-programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib;};9 shared-programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib;};
11in {10in {
12 home = {11 home = {
13 username = "nmarks";
14 homeDirectory = "/home/nmarks";
15
16 # This value determines the Home Manager release that your configuration is
17 # compatible with. This helps avoid breakage when a new Home Manager release
18 # introduces backwards incompatible changes.
19 #
20 # You should not change this value, even if you update Home Manager. If you do
21 # want to update the value, then make sure to first check the Home Manager
22 # release notes.
23 stateVersion = "23.05"; # Please read the comment before changing.12 stateVersion = "23.05"; # Please read the comment before changing.
2413
25 packages = with pkgs; let14 packages = with pkgs; let
...@@ -31,6 +20,7 @@ in {...@@ -31,6 +20,7 @@ in {
31 ghostty20 ghostty
32 stremio21 stremio
33 julia22 julia
23 qbittorrent
3424
35 #gaming25 #gaming
36 bottles26 bottles
...@@ -67,16 +57,9 @@ in {...@@ -67,16 +57,9 @@ in {
67 rust-bin.stable.latest.default57 rust-bin.stable.latest.default
68 ];58 ];
69 # programs.mangohud.enable = true;59 # programs.mangohud.enable = true;
70
71 sessionVariables = {
72 EDITOR = "nvim";
73 VISUAL = "nvim";
74 TERMINAL = "ghostty";
75 BROWSER = "firefox";
76 };
77 };60 };
7861
79 programs = shared-programs;62 programs = shared-programs;
8063
81 xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";64 # xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
82}65}
hosts/laptop/configuration.nix+19-16
...@@ -3,6 +3,7 @@...@@ -3,6 +3,7 @@
3 config,3 config,
4 pkgs,4 pkgs,
5 lib,5 lib,
6 userSettings,
6 ...7 ...
7}: {8}: {
8 imports = [9 imports = [
...@@ -10,20 +11,12 @@...@@ -10,20 +11,12 @@
10 ../../modules/macos/homebrew.nix11 ../../modules/macos/homebrew.nix
11 ];12 ];
1213
13 environment.systemPackages = with pkgs; [14 environment.systemPackages = with pkgs;
14 neovim15 [
15 pinentry_mac16 neovim
16 ];17 pinentry_mac
1718 ]
18 # environment.customIcons = {19 ++ callPackage ../shared/packages.nix {};
19 # enable = true;
20 # icons = [
21 # {
22 # path = "/Applications/Zen.app";
23 # icon = "/Users/nmarks/.dotfiles/icons/Zen_icons/firefox.icns";
24 # }
25 # ];
26 # };
2720
28 # Use a custom configuration.nix location.21 # Use a custom configuration.nix location.
29 #environment.darwinConfig = "$HOME/.dotfiles/hosts/laptop";22 #environment.darwinConfig = "$HOME/.dotfiles/hosts/laptop";
...@@ -34,6 +27,7 @@...@@ -34,6 +27,7 @@
34 zsh.enable = true; # default shell on catalina27 zsh.enable = true; # default shell on catalina
35 };28 };
3629
30 # When opening an interactive shell that isnt fish move into fish
37 programs.zsh = {31 programs.zsh = {
38 interactiveShellInit = ''32 interactiveShellInit = ''
39 if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]]33 if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]]
...@@ -44,6 +38,7 @@...@@ -44,6 +38,7 @@
44 '';38 '';
45 };39 };
4640
41 #Use touchid or watch to activate sudo
47 security.pam.services.sudo_local = {42 security.pam.services.sudo_local = {
48 enable = true;43 enable = true;
49 reattach = true;44 reattach = true;
...@@ -57,12 +52,15 @@...@@ -57,12 +52,15 @@
57 stateVersion = 6;52 stateVersion = 6;
5853
59 defaults = {54 defaults = {
55 # Turn quaranite off
60 LaunchServices = {56 LaunchServices = {
61 LSQuarantine = false;57 LSQuarantine = false;
62 };58 };
6359
64 NSGlobalDomain = {60 NSGlobalDomain = {
61 # Show extensions in finder
65 AppleShowAllExtensions = true;62 AppleShowAllExtensions = true;
63 #Turn off the hold and press to input special chars
66 ApplePressAndHoldEnabled = false;64 ApplePressAndHoldEnabled = false;
6765
68 # 120, 90, 60, 30, 12, 6, 266 # 120, 90, 60, 30, 12, 6, 2
...@@ -71,6 +69,7 @@...@@ -71,6 +69,7 @@
71 # 120, 94, 68, 35, 25, 1569 # 120, 94, 68, 35, 25, 15
72 InitialKeyRepeat = 15;70 InitialKeyRepeat = 15;
7371
72 #Turn off beep noise in terminal
74 "com.apple.mouse.tapBehavior" = 1;73 "com.apple.mouse.tapBehavior" = 1;
75 "com.apple.sound.beep.volume" = 0.0;74 "com.apple.sound.beep.volume" = 0.0;
76 "com.apple.sound.beep.feedback" = 0;75 "com.apple.sound.beep.feedback" = 0;
...@@ -89,7 +88,8 @@...@@ -89,7 +88,8 @@
89 # minimal dock88 # minimal dock
90 dock = {89 dock = {
91 autohide = true;90 autohide = true;
92 autohide-time-modifier = 0;91 #instant hide and show
92 autohide-time-modifier = 0.0;
93 show-process-indicators = true;93 show-process-indicators = true;
9494
95 expose-group-apps = true;95 expose-group-apps = true;
...@@ -97,11 +97,12 @@...@@ -97,11 +97,12 @@
97 show-recents = true;97 show-recents = true;
98 static-only = true;98 static-only = true;
9999
100 # Scale instead of shrink
100 mineffect = "scale";101 mineffect = "scale";
101102
102 orientation = "bottom";103 orientation = "bottom";
103 };104 };
104 # a finder that tells me what I want to know and lets me work105 # Better finder settings
105 finder = {106 finder = {
106 _FXShowPosixPathInTitle = true;107 _FXShowPosixPathInTitle = true;
107 FXDefaultSearchScope = "SCcf";108 FXDefaultSearchScope = "SCcf";
...@@ -115,6 +116,8 @@...@@ -115,6 +116,8 @@
115 };116 };
116 };117 };
117 };118 };
119
120 # Bind caps to escape for better normal mode stuff
118 keyboard = {121 keyboard = {
119 enableKeyMapping = true;122 enableKeyMapping = true;
120 remapCapsLockToEscape = true;123 remapCapsLockToEscape = true;
hosts/laptop/home.nix+6-22
...@@ -3,38 +3,22 @@...@@ -3,38 +3,22 @@
3 config,3 config,
4 pkgs,4 pkgs,
5 lib,5 lib,
6 user,6 userSettings,
7 systemSettings,
7 ...8 ...
8}: {9}: {
9 programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib;};10 programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib userSettings;};
1011
11 home = {12 home = {
12 username = user;13 inherit (userSettings) username;
13 homeDirectory = "/Users/nmarks/";14 # homeDirectory = systemSettings.homeConfig;
14 # shell = pkgs.fish;15 # shell = pkgs.fish;
15 # Home Manager needs a bit of information about you and the paths it should
16 # manage.
17 # This value determines the Home Manager release that your configuration is
18 # compatible with. This helps avoid breakage when a new Home Manager release
19 # introduces backwards incompatible changes.
20 #
21 # You should not change this value, even if you update Home Manager. If you do
22 # want to update the value, then make sure to first check the Home Manager
23 # release notes.
24 stateVersion = "23.05"; # Please read the comment before changing.16 stateVersion = "23.05"; # Please read the comment before changing.
2517
26 packages = pkgs.callPackage ../shared/packages.nix {};18 # packages = pkgs.callPackage ../shared/packages.nix {};
2719
28 sessionVariables = {
29 EDITOR = "nvim";
30 VISUAL = "nvim";
31 TERMINAL = "ghostty";
32 BROWSER = "firefox";
33 };
34 sessionPath = [20 sessionPath = [
35 "$HOME/.emacs.d/bin"21 "$HOME/.emacs.d/bin"
36 ];22 ];
37 };23 };
38
39 # Let Home Manager install and manage itself.
40}24}
hosts/shared/home-programs.nix+3-2
...@@ -3,6 +3,7 @@...@@ -3,6 +3,7 @@
3 config,3 config,
4 pkgs,4 pkgs,
5 lib,5 lib,
6 userSettings,
6 ...7 ...
7}: {8}: {
8 nix-index.enable = true;9 nix-index.enable = true;
...@@ -51,7 +52,7 @@...@@ -51,7 +52,7 @@
51 enable = true;52 enable = true;
52 settings = {53 settings = {
53 backend = "fastfetch";54 backend = "fastfetch";
54 preset = "bisexual";55 preset = userSettings.sexuality;
55 mode = "rgb";56 mode = "rgb";
56 light_dark = "dark";57 light_dark = "dark";
57 lightness = {58 lightness = {
...@@ -85,7 +86,7 @@...@@ -85,7 +86,7 @@
85 reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now";86 reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now";
86 };87 };
87 shellInit = ''88 shellInit = ''
88 test -r '/Users/nmarks/.opam/opam-init/init.fish' && source '/Users/nmarks/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true89 test -r '/Users/${userSettings.username}/.opam/opam-init/init.fish' && source '/Users/${userSettings.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true
89 batman --export-env | source90 batman --export-env | source
90 '';91 '';
91 };92 };
hosts/shared/packages.nix+1-2
...@@ -59,11 +59,10 @@ with pkgs; [...@@ -59,11 +59,10 @@ with pkgs; [
59 withMoonlight = true;59 withMoonlight = true;
60 })60 })
61 vesktop61 vesktop
62 signal-desktop62 signal-desktop-bin
6363
64 #media64 #media
65 spotify65 spotify
66 qbittorrent
6766
68 #language servers67 #language servers
69 typst-live68 typst-live
lib/mkSystem.nix+75-60
...@@ -4,85 +4,100 @@...@@ -4,85 +4,100 @@
4 nixpkgs,4 nixpkgs,
5 overlays,5 overlays,
6 inputs,6 inputs,
7 userSettings,
7}: name: {8}: name: {
8 system,9 system,
9 user,
10 darwin ? false,10 darwin ? false,
11 extraModules ? [],11 extraModules ? [],
12}: let12}: let
13 # userSettings = rec {
14 # username = "nmarks"; # username
15 # name = "Natalie"; # name/identifier
16 # email = "nmarks413@gmail.com"; # email (used for certain configurations)
17 # dotfilesDir = "~/.dotfiles"; # absolute path of the local repo
18 # browser = "firefox"; # Default browser; must select one from ./user/app/browser/
19 # term = "ghostty"; # Default terminal command;
20 # font = "iosevka Nerd Font"; # Selected font
21 # editor = "neovim"; # Default editor;
22 # spawnEditor = "exec" + term + "- e " + editor;
23 # };
13 nixindex =24 nixindex =
14 if darwin25 if darwin
15 then inputs.nix-index-database.darwinModules.nix-index26 then inputs.nix-index-database.darwinModules.nix-index
16 else inputs.nix-index-database.nixosModules.nix-index;27 else inputs.nix-index-database.nixosModules.nix-index;
1728
18 host =29 systemSettings = rec {
19 if darwin30 host =
20 then "laptop"31 if darwin
21 else "desktop";32 then "laptop"
33 else "desktop";
2234
23 # The config files for this system.35 # The config files for this system.
2436
25 hostConfig = ../hosts/${host}/configuration.nix;37 hostConfig = ../hosts/${host}/configuration.nix;
26 homeConfig = ../hosts/${host}/home.nix;38 homeConfig = ../hosts/${host}/home.nix;
2739
28 homeDir =40 homeDir =
29 if darwin41 if darwin
30 then "/Users/nmarks/"42 then "/Users/" + userSettings.username + "/"
31 else "/home/nmarks";43 else "/home/" + userSettings.username + "/";
3244
33 # NixOS vs nix-darwin functions45 # NixOS vs nix-darwin functions
34 systemFunc =46 systemFunc =
35 if darwin47 if darwin
36 then inputs.darwin.lib.darwinSystem48 then inputs.darwin.lib.darwinSystem
37 else nixpkgs.lib.nixosSystem;49 else nixpkgs.lib.nixosSystem;
3850
39 hmModules =51 hmModules =
40 if darwin52 if darwin
41 then inputs.home-manager.darwinModules53 then inputs.home-manager.darwinModules
42 else inputs.home-manager.nixosModules;54 else inputs.home-manager.nixosModules;
55 };
43in56in
44 systemFunc rec {57 with systemSettings;
45 inherit system;58 systemFunc rec {
59 inherit system;
60
61 modules =
62 [
63 # Apply our overlays. Overlays are keyed by system type so we have
64 # to go through and apply our system type. We do this first so
65 # the overlays are available globally.
66 {nixpkgs.overlays = overlays;}
4667
47 modules =68 # Enable caching for nix-index so we dont have to rebuild it
48 [
49 # Apply our overlays. Overlays are keyed by system type so we have
50 # to go through and apply our system type. We do this first so
51 # the overlays are available globally.
52 {nixpkgs.overlays = overlays;}
5369
54 # Enable caching for nix-index so we dont have to rebuild it70 #shared modules
71 ../modules/shared/extras.nix
72 ../modules/shared/nix.nix
5573
56 #shared modules74 hostConfig
57 ../modules/shared/extras.nix75 nixindex
58 ../modules/shared/nix.nix76 {programs.nix-index-database.comma.enable = true;}
77 hmModules.home-manager
78 {
79 home-manager = {
80 useGlobalPkgs = true;
81 useUserPackages = true;
82 backupFileExtension = "hm-backup";
83 extraSpecialArgs = {inherit inputs userSettings systemSettings;};
84 users.${userSettings.username} = homeConfig;
85 };
5986
60 hostConfig87 users.users.${userSettings.username}.home = homeDir;
61 nixindex88 }
62 {programs.nix-index-database.comma.enable = true;}
63 hmModules.home-manager
64 {
65 home-manager = {
66 useGlobalPkgs = true;
67 useUserPackages = true;
68 backupFileExtension = "hm-backup";
69 extraSpecialArgs = {inherit inputs user;};
70 users.${user} = homeConfig;
71 };
7289
73 users.users.${user}.home = homeDir;90 # We expose some extra arguments so that our modules can parameterize
74 }91 # better based on these values.
92 {
93 config._module.args = {
94 currentSystem = system;
95 # currentSystemName = name;
96 # currentSystemUser = userSettings.username;
7597
76 # We expose some extra arguments so that our modules can parameterize98 inherit inputs userSettings systemSettings;
77 # better based on these values.99 };
78 {100 }
79 config._module.args = {101 ]
80 currentSystem = system;102 ++ extraModules;
81 currentSystemName = name;103 }
82 currentSystemUser = user;
83 inherit inputs;
84 };
85 }
86 ]
87 ++ extraModules;
88 }
modules/nixos/ld.nix created+85
...@@ -0,0 +1,85 @@
1{pkgs, ...}: {
2 programs.nix-ld.enable = true;
3
4 # "minimum" amount of libraries needed for most games to run without steam-run
5 programs.nix-ld.libraries = with pkgs; [
6 # common requirement for several games
7 stdenv.cc.cc.lib
8
9 # from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L72-L79
10 xorg.libXcomposite
11 xorg.libXtst
12 xorg.libXrandr
13 xorg.libXext
14 xorg.libX11
15 xorg.libXfixes
16 libGL
17 libva
18
19 # from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L124-L136
20 fontconfig
21 freetype
22 xorg.libXt
23 xorg.libXmu
24 libogg
25 libvorbis
26 SDL
27 SDL2_image
28 glew110
29 libdrm
30 libidn
31 tbb
32 zlib
33 alsa-lib
34 at-spi2-atk
35 at-spi2-core
36 atk
37 cairo
38 cups
39 curl
40 dbus
41 expat
42 fontconfig
43 freetype
44 fuse3
45 gdk-pixbuf
46 glib
47 gtk3
48 icu
49 libGL
50 libappindicator-gtk3
51 libdrm
52 libglvnd
53 libnotify
54 libpulseaudio
55 libunwind
56 libusb1
57 libuuid
58 libxkbcommon
59 libxml2
60 mesa
61 nspr
62 nss
63 openssl
64 pango
65 # pipewire
66 stdenv.cc.cc
67 systemd
68 vulkan-loader
69 xorg.libX11
70 xorg.libXScrnSaver
71 xorg.libXcomposite
72 xorg.libXcursor
73 xorg.libXdamage
74 xorg.libXext
75 xorg.libXfixes
76 xorg.libXi
77 xorg.libXrandr
78 xorg.libXrender
79 xorg.libXtst
80 xorg.libxcb
81 xorg.libxkbfile
82 xorg.libxshmfence
83 zlib
84 ];
85}
modules/nixos/services.nix+9-2
...@@ -26,10 +26,14 @@...@@ -26,10 +26,14 @@
26 };26 };
27 };27 };
2828
29
30 desktopManager.cosmic.enable = true;29 desktopManager.cosmic.enable = true;
31 displayManager.cosmic-greeter.enable = true;30 displayManager.cosmic-greeter.enable = true;
3231
32 # Auto mount devices
33 udiskie = {
34 enable = true;
35 };
36
33 # Configure keymap in X1137 # Configure keymap in X11
34 xserver = {38 xserver = {
35 xkb.layout = "us";39 xkb.layout = "us";
...@@ -39,7 +43,10 @@...@@ -39,7 +43,10 @@
39 tailscale.enable = true;43 tailscale.enable = true;
4044
41 # Enable CUPS to print documents.45 # Enable CUPS to print documents.
42 printing.enable = true;46 printing = {
47 enable = true;
48 drivers = [pkgs.brlaser]; # Brother printer driver
49 };
4350
44 pipewire = {51 pipewire = {
45 enable = true;52 enable = true;
modules/shared/extras.nix+9-2
...@@ -2,6 +2,7 @@...@@ -2,6 +2,7 @@
2 pkgs,2 pkgs,
3 config,3 config,
4 inputs,4 inputs,
5 userSettings,
5 ...6 ...
6}: {7}: {
7 services.tailscale.enable = true;8 services.tailscale.enable = true;
...@@ -9,7 +10,6 @@...@@ -9,7 +10,6 @@
9 networking = {10 networking = {
10 };11 };
11 fonts.packages = with pkgs; [12 fonts.packages = with pkgs; [
12 # alibaba-fonts
13 nerd-fonts.fira-code13 nerd-fonts.fira-code
14 nerd-fonts.iosevka14 nerd-fonts.iosevka
15 iosevka15 iosevka
...@@ -18,5 +18,12 @@...@@ -18,5 +18,12 @@
18 ];18 ];
1919
20 # Set your time zone.20 # Set your time zone.
21 time.timeZone = "America/Los_Angeles";21 time.timeZone = userSettings.timeZone;
22
23 home-manager.users.${userSettings.username}.home.sessionVariables = {
24 EDITOR = userSettings.editor;
25 VISUAL = userSettings.editor;
26 TERMINAL = userSettings.term;
27 BROWSER = userSettings.browser;
28 };
22}29}
modules/shared/home-manager.nix created+8
...@@ -0,0 +1,8 @@
1{
2 config,
3 pkgs,
4 lib,
5 ...
6}: {
7
8}
modules/shared/nix.nix+2
...@@ -24,11 +24,13 @@...@@ -24,11 +24,13 @@
2424
25 "https://nix-community.cachix.org"25 "https://nix-community.cachix.org"
26 "https://cosmic.cachix.org/"26 "https://cosmic.cachix.org/"
27 # For haskell
27 "https://cache.iog.io"28 "https://cache.iog.io"
28 ];29 ];
29 trusted-public-keys = [30 trusted-public-keys = [
30 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="31 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
31 "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="32 "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
33 # For haskell
32 "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="34 "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
33 ];35 ];
34 };36 };