diff --git a/README.md b/README.md index 4811a92..ab03df0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ # NixOS Config My personal NixOS Configuration Repository +This Nix flake defines NixOS configurations for two machines: creatorforge-vm and creatorforge-framework. The flake imports various external repositories to provide additional functionality, such as Home Manager, sops-nix, and disko. + +Here is an overview of the flake: + [![built with nix](https://builtwithnix.org/badge.svg)](https://builtwithnix.org) diff --git a/flake.lock b/flake.lock index 3244644..9dd41d3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,82 +1,18 @@ { "nodes": { - "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750372185, - "narHash": "sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e+09fN+NL/Q3BjTWHY=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "7cef49d261cbbe537e8cb662485e76d29ac4cbca", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, - "aquamarine_2": { - "inputs": { - "hyprutils": [ - "xremap", - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "xremap", - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "xremap", - "hyprland", - "nixpkgs" - ], - "systems": [ - "xremap", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1744289235, - "narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, "crane": { + "inputs": { + "nixpkgs": [ + "xremap", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1745454774, - "narHash": "sha256-oLvmxOnsEKGtwczxp/CwhrfmQUG2ym24OMWowcoRhH8=", + "lastModified": 1711407199, + "narHash": "sha256-A/nB4j3JHL51ztlMQdfKw6y8tUJJzai3bLsZUEEaBxY=", "owner": "ipetkov", "repo": "crane", - "rev": "efd36682371678e2b6da3f108fdb5c613b3ec598", + "rev": "7e468a455506f2e65550e08dfd45092f0857a009", "type": "github" }, "original": { @@ -87,14 +23,15 @@ }, "devshell": { "inputs": { + "flake-utils": "flake-utils", "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1741473158, - "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", + "lastModified": 1711099426, + "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", "owner": "numtide", "repo": "devshell", - "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", + "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", "type": "github" }, "original": { @@ -103,35 +40,23 @@ "type": "github" } }, - "flake-compat": { - "flake": false, + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1712947906, + "narHash": "sha256-T0eT2lMbcK7RLelkx0qx4SiFpOS/0dt0aSfLB+WsGV8=", + "owner": "nix-community", + "repo": "disko", + "rev": "8d4ae698eaac8bd717e23507da2ca8b345bec4b5", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "nix-community", + "repo": "disko", "type": "github" } }, @@ -140,11 +65,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -153,48 +78,21 @@ "type": "github" } }, - "gitignore": { + "flake-utils": { "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] + "systems": "systems_2" }, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "xremap", - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, @@ -205,16 +103,16 @@ ] }, "locked": { - "lastModified": 1750783375, - "narHash": "sha256-oKccVOF1igIwTncVTHZ9RHgjOQEMbg8NK5am2IjOCCI=", + "lastModified": 1712386041, + "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "d457fa3c764e53e7bdd7354467c605766407620d", + "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } @@ -224,11 +122,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1745782215, - "narHash": "sha256-mx27J2HYQT+nGXTyUWKrUuxRzpr1FVVr59ZH4oNzOyw=", + "lastModified": 1711554349, + "narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "7b2aae3fb39928aecc5e41c10a9c87c4881614d5", + "rev": "179f6acaf7c068c7870542cdae72afec9427a5b0", "type": "github" }, "original": { @@ -253,11 +151,11 @@ ] }, "locked": { - "lastModified": 1749155331, - "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", + "lastModified": 1712434681, + "narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3", "type": "github" }, "original": { @@ -268,11 +166,7 @@ }, "hyprcursor_2": { "inputs": { - "hyprlang": [ - "xremap", - "hyprland", - "hyprlang" - ], + "hyprlang": "hyprlang_2", "nixpkgs": [ "xremap", "hyprland", @@ -285,11 +179,11 @@ ] }, "locked": { - "lastModified": 1742215578, - "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", + "lastModified": 1711035742, + "narHash": "sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", + "rev": "6a92473237f430399a417e1c2da9d7fcd4970086", "type": "github" }, "original": { @@ -298,88 +192,22 @@ "type": "github" } }, - "hyprgraphics": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371717, - "narHash": "sha256-cNP+bVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "15c6f8f3a567fec9a0f732cd310a7ff456deef88", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprgraphics_2": { - "inputs": { - "hyprutils": [ - "xremap", - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "xremap", - "hyprland", - "nixpkgs" - ], - "systems": [ - "xremap", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1745015490, - "narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "60754910946b4e2dc1377b967b7156cb989c5873", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, "hyprland": { "inputs": { - "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", - "hyprgraphics": "hyprgraphics", "hyprland-protocols": "hyprland-protocols", - "hyprland-qtutils": "hyprland-qtutils", "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs", - "pre-commit-hooks": "pre-commit-hooks", "systems": "systems", + "wlroots": "wlroots", "xdph": "xdph" }, "locked": { - "lastModified": 1750790382, - "narHash": "sha256-zQbFEl3XCfyKHHGcBY0f18F5YTsaV1fJz4C6BRL28z4=", + "lastModified": 1713050186, + "narHash": "sha256-AKdzVa0Zz5PQ1ptQgD0jj8J+UZUW9OeKGZ0mNVnkyI4=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "5a348fb7dfaf398922c119d21acb7d7f831f8688", + "rev": "0634aaeac6cca12e4f72174c431c2db9da9c0072", "type": "github" }, "original": { @@ -400,11 +228,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", "type": "github" }, "original": { @@ -427,11 +255,11 @@ ] }, "locked": { - "lastModified": 1743714874, - "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", "type": "github" }, "original": { @@ -440,170 +268,22 @@ "type": "github" } }, - "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qt-support_2": { - "inputs": { - "hyprlang": [ - "xremap", - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "xremap", - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "xremap", - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qtutils": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371812, - "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, - "hyprland-qtutils_2": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support_2", - "hyprlang": [ - "xremap", - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "xremap", - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "xremap", - "hyprland", - "nixpkgs" - ], - "systems": [ - "xremap", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, "hyprland_2": { "inputs": { - "aquamarine": "aquamarine_2", "hyprcursor": "hyprcursor_2", - "hyprgraphics": "hyprgraphics_2", "hyprland-protocols": "hyprland-protocols_2", - "hyprland-qtutils": "hyprland-qtutils_2", - "hyprlang": "hyprlang_2", - "hyprutils": "hyprutils_2", - "hyprwayland-scanner": "hyprwayland-scanner_2", + "hyprlang": "hyprlang_3", "nixpkgs": "nixpkgs_6", - "pre-commit-hooks": "pre-commit-hooks_2", - "systems": "systems_2", + "systems": "systems_4", + "wlroots": "wlroots_2", "xdph": "xdph_2" }, "locked": { - "lastModified": 1745756886, - "narHash": "sha256-oXfvqaWENRd8CaxbQEHntH9PzNsjUaWalBIcG7xk/Lw=", + "lastModified": 1711557008, + "narHash": "sha256-fBrJJSRbeRf2lZUsaij96qhDX9JpDHF0uHD69Z6Ca/k=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "0302bfdc2207f9b5482fb07aa6052e7f6cb237ca", + "rev": "93d05114716e847c37f49d3cc2d0c5cb01d06a24", "type": "github" }, "original": { @@ -614,10 +294,6 @@ }, "hyprlang": { "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -628,11 +304,11 @@ ] }, "locked": { - "lastModified": 1750371198, - "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", + "lastModified": 1711671891, + "narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "rev": "c1402612146ba06606ebf64963a02bc1efe11e74", "type": "github" }, "original": { @@ -643,28 +319,20 @@ }, "hyprlang_2": { "inputs": { - "hyprutils": [ - "xremap", - "hyprland", - "hyprutils" - ], "nixpkgs": [ "xremap", "hyprland", + "hyprcursor", "nixpkgs" ], - "systems": [ - "xremap", - "hyprland", - "systems" - ] + "systems": "systems_3" }, "locked": { - "lastModified": 1744468525, - "narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=", + "lastModified": 1709914708, + "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df", + "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2", "type": "github" }, "original": { @@ -673,32 +341,7 @@ "type": "github" } }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371096, - "narHash": "sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "38f3a211657ce82a1123bf19402199b67a410f08", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprutils_2": { + "hyprlang_3": { "inputs": { "nixpkgs": [ "xremap", @@ -712,78 +355,26 @@ ] }, "locked": { - "lastModified": 1743950287, - "narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=", + "lastModified": 1710960526, + "narHash": "sha256-tt0UgVKWeLQ+tFzvqrm4uAZbzONwdGshpfiLHAQ1P2c=", "owner": "hyprwm", - "repo": "hyprutils", - "rev": "f2dc70e448b994cef627a157ee340135bd68fbc6", + "repo": "hyprlang", + "rev": "a2f39421144d42541c057be235154ce21b76c0f6", "type": "github" }, "original": { "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371869, - "narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "hyprwayland-scanner_2": { - "inputs": { - "nixpkgs": [ - "xremap", - "hyprland", - "nixpkgs" - ], - "systems": [ - "xremap", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739870480, - "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", + "repo": "hyprlang", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1750365781, - "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", + "lastModified": 1712439257, + "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", + "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", "type": "github" }, "original": { @@ -795,42 +386,61 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "dir": "lib", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1713042715, + "narHash": "sha256-RifMwYuKu5v6x6O65msKDTqKkQ9crGwOB7yr20qMEuE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c27f3b6d8e29346af16eecc0e9d54b1071eae27e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1750622754, - "narHash": "sha256-kMhs+YzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8=", + "lastModified": 1712741485, + "narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c7ab75210cb8cb16ddd8f290755d9558edde7ee1", + "rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-25.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "lastModified": 1712883908, + "narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "rev": "a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9", "type": "github" }, "original": { @@ -842,11 +452,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1722073938, - "narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=", + "lastModified": 1704161960, + "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e36e9f57337d0ff0cf77aceb58af4c805472bfae", + "rev": "63143ac2c9186be6d9da6035fa22620018c85932", "type": "github" }, "original": { @@ -858,11 +468,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", "type": "github" }, "original": { @@ -874,11 +484,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -890,11 +500,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1711401922, + "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "07262b18b97000d16a4bdb003418bd2fb067a932", "type": "github" }, "original": { @@ -904,71 +514,9 @@ "type": "github" } }, - "nixpkgs_8": { - "locked": { - "lastModified": 1735554305, - "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1749636823, - "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "623c56286de5a3193aa38891a6991b28f9bab056", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore_2", - "nixpkgs": [ - "xremap", - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { + "disko": "disko", "home-manager": "home-manager", "hyprland": "hyprland", "nixpkgs": "nixpkgs_2", @@ -978,14 +526,15 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1750119275, - "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "lastModified": 1713066950, + "narHash": "sha256-ZaefFyvt5369XdjzSw43NhfbPM9MN5b9YXhzx4lFIRc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "rev": "226062b47fe0e2130ba3ee9f4f1c880dc815cf87", "type": "github" }, "original": { @@ -1010,6 +559,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1024,24 +588,57 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": "nixpkgs_8" - }, + "systems_4": { "locked": { - "lastModified": 1745780832, - "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { - "owner": "numtide", - "repo": "treefmt-nix", + "owner": "nix-systems", + "repo": "default-linux", "type": "github" } }, + "wlroots": { + "flake": false, + "locked": { + "lastModified": 1712935342, + "narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=", + "owner": "hyprwm", + "repo": "wlroots-hyprland", + "rev": "62eeffbe233d199f520a5755c344e85f8eab7940", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "wlroots-hyprland", + "rev": "62eeffbe233d199f520a5755c344e85f8eab7940", + "type": "github" + } + }, + "wlroots_2": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1709983277, + "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", + "type": "gitlab" + } + }, "xdph": { "inputs": { "hyprland-protocols": [ @@ -1052,14 +649,6 @@ "hyprland", "hyprlang" ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -1070,11 +659,11 @@ ] }, "locked": { - "lastModified": 1750372504, - "narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=", + "lastModified": 1709299639, + "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92", + "rev": "2d2fb547178ec025da643db57d40a971507b82fe", "type": "github" }, "original": { @@ -1095,16 +684,6 @@ "hyprland", "hyprlang" ], - "hyprutils": [ - "xremap", - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "xremap", - "hyprland", - "hyprwayland-scanner" - ], "nixpkgs": [ "xremap", "hyprland", @@ -1117,11 +696,11 @@ ] }, "locked": { - "lastModified": 1744644585, - "narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=", + "lastModified": 1709299639, + "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26", + "rev": "2d2fb547178ec025da643db57d40a971507b82fe", "type": "github" }, "original": { @@ -1138,15 +717,14 @@ "home-manager": "home-manager_2", "hyprland": "hyprland_2", "nixpkgs": "nixpkgs_7", - "treefmt-nix": "treefmt-nix", "xremap": "xremap_2" }, "locked": { - "lastModified": 1745792661, - "narHash": "sha256-7cDEHdeRdpYD85QdOrXxz7nLEmp5JDRYI2BznUmuSGQ=", + "lastModified": 1712025160, + "narHash": "sha256-L96ZF1Z+OxAta5XPmazFajflppflYw/y588SBWVGjAw=", "owner": "xremap", "repo": "nix-flake", - "rev": "1924f2dc1a7c219b5323050a7fb27920e3a225d4", + "rev": "38c9a3c4264750f77151369f34590db259454df3", "type": "github" }, "original": { @@ -1158,16 +736,16 @@ "xremap_2": { "flake": false, "locked": { - "lastModified": 1745685144, - "narHash": "sha256-z9QgiwG4muKYc1N9ycjs9r9QXB8JvzTdkCxu2c3mB9o=", + "lastModified": 1711574442, + "narHash": "sha256-RR8SgnlQX8Gz9qwO/wN5NvFWsEQ/vvNdmOxxFojri90=", "owner": "k0kubun", "repo": "xremap", - "rev": "929026e09dc12ef44be79b4ff392b6af073533b6", + "rev": "53a6d0553d58b95777f066e4aeed05ec74c5eaed", "type": "github" }, "original": { "owner": "k0kubun", - "ref": "v0.10.11", + "ref": "v0.8.18", "repo": "xremap", "type": "github" } diff --git a/flake.nix b/flake.nix index aa5af54..ee35626 100644 --- a/flake.nix +++ b/flake.nix @@ -2,14 +2,18 @@ description = "Nixos config flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; home-manager = { - url = "github:nix-community/home-manager/release-25.05"; + url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix.url = "github:Mic92/sops-nix"; xremap.url = "github:xremap/nix-flake"; hyprland.url = "github:hyprwm/Hyprland"; + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, ... }@inputs: { diff --git a/hosts/.katana.nix.swp b/hosts/.katana.nix.swp deleted file mode 100644 index 9dc1dd9..0000000 Binary files a/hosts/.katana.nix.swp and /dev/null differ diff --git a/hosts/katana.nix b/hosts/katana.nix index 92fff67..d1676b5 100644 --- a/hosts/katana.nix +++ b/hosts/katana.nix @@ -6,6 +6,7 @@ hardware = { enableRedistributableFirmware = lib.mkDefault true; cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + pulseaudio.enable = false; bluetooth = { enable = true; # enables support for Bluetooth powerOnBoot = true; # powers up the default Bluetooth controller on boot @@ -33,21 +34,18 @@ readOnlyNixStore = true; }; - fileSystems."/" = { - device = "UUID=7a97edd8-c5a9-4354-a461-24c0f311e61b"; - fsType = "ext4"; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/0C59-9996"; + fsType = "vfat"; + }; }; - fileSystems."/boot" = { - device = "UUID=F0BD-FE72"; - fsType = "vfat"; - }; - - swapDevices = [ - { - device = "UUID=e107d78d-d934-4939-889d-1860410321d5"; - } - ]; + swapDevices = [ ]; # Networking networking = { @@ -60,6 +58,8 @@ }; }; + # Sound + sound.enable = true; # Localization time.timeZone = "America/Detroit"; @@ -81,13 +81,10 @@ # Services. services = { blueman.enable = true; - pulseaudio.enable = false; printing.enable = true; xserver = { - xkb = { - layout = "us"; - variant = ""; - }; + layout = "us"; + xkbVariant = ""; }; }; @@ -103,6 +100,8 @@ }; nix = { + # Sets flakes to unstable track instead of stable # + package = pkgs.nixUnstable; # or versioned attributes like nix_2_4 # Enable flakes and nix-command extraOptions = ''experimental-features = nix-command flakes''; # Auto maintainence @@ -137,12 +136,13 @@ bottom felix-fm zulip + vscode discord + obsidian ]; # Fonts - fonts.packages = [ - pkgs.nerd-fonts.droid-sans-mono + fonts.packages = with pkgs; [ + (nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; }) ]; - } diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix new file mode 100644 index 0000000..671e0e9 --- /dev/null +++ b/modules/home-manager/helix.nix @@ -0,0 +1,146 @@ +{ pkgs, config, lib, ...}: +{ + options.speccon18.hm.helix.enable = lib.mkEnableOption "enables specs custom helix configuration"; + config = lib.mkIf config.speccon18.hm.helix.enable { + home.packages = with pkgs; [ + nodePackages_latest.yaml-language-server + nodePackages_latest.bash-language-server + nodePackages_latest.vscode-langservers-extracted + nodePackages_latest.dockerfile-language-server-nodejs + nodePackages_latest.typescript + nodePackages_latest.typescript-language-server + nodePackages_latest.svelte-language-server + nodePackages_latest.vls + python311Packages.python-lsp-server + # rnix-lsp is archived need to update to fix CVE-2024-27297 + rust-analyzer + taplo + ]; + programs.helix = { + enable = true; + settings = { + theme = "monokai_pro_octagon"; + editor = { + line-number = "relative"; + shell = ["zsh" "-c"]; + completion-trigger-len = 0; + scroll-lines = 1; + scrolloff = 5; + cursorline = true; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + color-modes = true; + indent-guides.render = true; + file-picker.hidden = false; + auto-pairs = true; + lsp = { + enable = true; + display-messages = true; + auto-signature-help = true; + display-signature-help-docs = true; + snippets = true; + goto-reference-include-declaration = true; + }; + statusline = { + mode = { + normal = "NORMAL"; + insert = "INSERT"; + select = "SELECT"; + }; + left = [ "mode" "separator" "spinner" "separator" "file-name" ]; + right = [ "diagnostics" "position" "file-encoding" ]; + }; + }; + + }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; + "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; + "ui.menu" = { fg = base8; bg = base3; }; + "ui.menu.selected" = { fg = base2; bg = yellow; }; + "ui.virtual.whitespace" = base5; + "ui.virtual.ruler" = { bg = base1; }; + "info" = base8; + "hint" = base8; + "ui.background" = {}; + "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; + "ui.statusline" = { fg = base8; bg = base4; }; + "ui.statusline.normal" = { fg = base4; bg = blue; }; + "ui.statusline.insert" = { fg = base4; bg = green; }; + "ui.statusline.select" = { fg = base4; bg = purple; }; + "ui.popup" = { bg = base3; }; + "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; + }; + }; +} diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix index ebb9643..ebfb12c 100644 --- a/modules/home-manager/home.nix +++ b/modules/home-manager/home.nix @@ -4,6 +4,7 @@ ./alacritty.nix ./direnv.nix ./git.nix + ./helix.nix ./ncspot.nix ./starship.nix ./syncthing.nix @@ -15,6 +16,7 @@ speccon18.hm.alacritty.enable = true; speccon18.hm.direnv.enable = true; speccon18.hm.git.enable = true; + speccon18.hm.helix.enable = true; speccon18.hm.ncspot.enable = false; speccon18.hm.starship.enable = true; speccon18.hm.syncthing.enable = true; diff --git a/modules/home-manager/zsh.nix b/modules/home-manager/zsh.nix index ab47217..ecd684b 100644 --- a/modules/home-manager/zsh.nix +++ b/modules/home-manager/zsh.nix @@ -9,7 +9,7 @@ path = "$ZDOTDIR/.zsh_history"; save = 10000000; }; - autosuggestion.enable = lib.mkDefault true; + enableAutosuggestions = lib.mkDefault true; enableCompletion = lib.mkDefault true; syntaxHighlighting.enable = lib.mkDefault true; shellAliases = {