diff --git a/flake.lock b/flake.lock index 04aed5e..72da990 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1753216019, - "narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=", + "lastModified": 1751740947, + "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "be166e11d86ba4186db93e10c54a141058bdce49", + "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", "type": "github" }, "original": { @@ -38,16 +38,14 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": [ - "stable" - ] + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1753410343, - "narHash": "sha256-chcs8JU2LWVK0Mb/+SgUTUSM0LVr00wR5eWoAsfw7BU=", + "lastModified": 1751940880, + "narHash": "sha256-lzPU5X3b8w68mUsGHgkRDOJ1DK+gzfov91vsBx2dsAM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "f95d76f855a08eada6da509bc53e6227d8e4803f", + "rev": "82937ee6d83abf5a9a5a8ae05329c37c0e9380cf", "type": "github" }, "original": { @@ -73,6 +71,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixpak", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nur", @@ -93,6 +112,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -115,6 +152,31 @@ "type": "github" } }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": [ + "nixpak", + "flake-parts" + ], + "nixpkgs": [ + "nixpak", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748000383, + "narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "231726642197817d20310b9d39dd4afb9e899489", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -122,11 +184,11 @@ ] }, "locked": { - "lastModified": 1753387274, - "narHash": "sha256-Y1hAI9h+9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM=", + "lastModified": 1751990210, + "narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=", "owner": "nix-community", "repo": "home-manager", - "rev": "a35f6b60430ff0c7803bd2a727df84c87569c167", + "rev": "218da00bfa73f2a61682417efe74549416c16ba6", "type": "github" }, "original": { @@ -180,11 +242,11 @@ ] }, "locked": { - "lastModified": 1752149140, - "narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=", + "lastModified": 1751808145, + "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "340494a38b5ec453dfc542c6226481f736cc8a9a", + "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", "type": "github" }, "original": { @@ -200,28 +262,22 @@ "hyprgraphics": "hyprgraphics", "hyprland-protocols": "hyprland-protocols", "hyprland-qtutils": "hyprland-qtutils", - "hyprlang": [ - "hyprlang" - ], - "hyprutils": [ - "hyprutils" - ], + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": [ "nixpkgs" ], "pre-commit-hooks": "pre-commit-hooks", - "systems": [ - "systems" - ], + "systems": "systems_2", "xdph": "xdph" }, "locked": { - "lastModified": 1753310189, - "narHash": "sha256-56A/JkduXotowfl8G4jhXMGrlLgRbQLwIBOE5kM0iNU=", + "lastModified": 1751995875, + "narHash": "sha256-ud9sl1RjmzAzalH2ocmGPs182xvr7GktjVIYvzJamwo=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "31cc7f3b87d1d9670b66e73e3720da2e2da49acd", + "rev": "9517d0eaa4ef93de67dc80fecca7a826f7ad556d", "type": "github" }, "original": { @@ -237,11 +293,11 @@ ] }, "locked": { - "lastModified": 1753092469, - "narHash": "sha256-Q6iW6pfgJoqMY7UVFhunEyn/bt8lvmLZ21k0i/3Z0xc=", + "lastModified": 1747077256, + "narHash": "sha256-ryaXKevnISRiJb93QIAv7tGc6ZJqSkwETKm4oGh8HWI=", "owner": "outfoxxed", "repo": "hy3", - "rev": "b813c13a10cc39c60eada511f6e6a7947d941aab", + "rev": "567dc9dd20e15d95a56a81c516a70dba30bc2c9c", "type": "github" }, "original": { @@ -275,6 +331,31 @@ "type": "github" } }, + "hyprland-protocols_2": { + "inputs": { + "nixpkgs": [ + "hyprsunset", + "nixpkgs" + ], + "systems": [ + "hyprsunset", + "systems" + ] + }, + "locked": { + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "hyprland-qt-support": { "inputs": { "hyprlang": [ @@ -346,12 +427,15 @@ "hyprlang": { "inputs": { "hyprutils": [ + "hyprland", "hyprutils" ], "nixpkgs": [ + "hyprland", "nixpkgs" ], "systems": [ + "hyprland", "systems" ] }, @@ -369,21 +453,120 @@ "type": "github" } }, - "hyprutils": { + "hyprpicker": { "inputs": { + "hyprutils": "hyprutils_2", + "hyprwayland-scanner": "hyprwayland-scanner_2", "nixpkgs": [ "nixpkgs" ], + "systems": "systems_3" + }, + "locked": { + "lastModified": 1750371999, + "narHash": "sha256-de87tFOEhJiXTHNzG3LcwxGR1a/D6v+nC+9+V1GW1Zs=", + "ref": "refs/heads/main", + "rev": "d6a1363a86cd99460f0020134e455d921e8bacd8", + "revCount": 114, + "type": "git", + "url": "https://github.com/hyprwm/hyprpicker" + }, + "original": { + "type": "git", + "url": "https://github.com/hyprwm/hyprpicker" + } + }, + "hyprsunset": { + "inputs": { + "hyprland-protocols": "hyprland-protocols_2", + "hyprutils": "hyprutils_3", + "hyprwayland-scanner": "hyprwayland-scanner_3", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_4" + }, + "locked": { + "lastModified": 1751567624, + "narHash": "sha256-tUVODSZhvafXmuN+5SwZpNWV+2cvhSd+5IJ5TXu3YgI=", + "ref": "refs/heads/main", + "rev": "4b2f0f9f46a6552930eecb979d18ac48d7079312", + "revCount": 23, + "type": "git", + "url": "https://github.com/hyprwm/hyprsunset" + }, + "original": { + "type": "git", + "url": "https://github.com/hyprwm/hyprsunset" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], "systems": [ + "hyprland", "systems" ] }, "locked": { - "lastModified": 1753265677, - "narHash": "sha256-Fq/pAeiC9re9DKUHCBdb8Kyhp+z7e7f/xuSS8TdFLo8=", + "lastModified": 1751888065, + "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "8dd20c73e05ed2f919b174022015a60f76ac5899", + "rev": "a8229739cf36d159001cfc203871917b83fdf917", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_2": { + "inputs": { + "nixpkgs": [ + "hyprpicker", + "nixpkgs" + ], + "systems": [ + "hyprpicker", + "systems" + ] + }, + "locked": { + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_3": { + "inputs": { + "nixpkgs": [ + "hyprsunset", + "nixpkgs" + ], + "systems": [ + "hyprsunset", + "systems" + ] + }, + "locked": { + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", "type": "github" }, "original": { @@ -404,11 +587,61 @@ ] }, "locked": { - "lastModified": 1751897909, - "narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=", + "lastModified": 1751881472, + "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "fcca0c61f988a9d092cbb33e906775014c61579d", + "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_2": { + "inputs": { + "nixpkgs": [ + "hyprpicker", + "nixpkgs" + ], + "systems": [ + "hyprpicker", + "systems" + ] + }, + "locked": { + "lastModified": 1749145760, + "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_3": { + "inputs": { + "nixpkgs": [ + "hyprsunset", + "nixpkgs" + ], + "systems": [ + "hyprsunset", + "systems" + ] + }, + "locked": { + "lastModified": 1749145760, + "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", "type": "github" }, "original": { @@ -432,6 +665,22 @@ "type": "github" } }, + "logseq": { + "locked": { + "lastModified": 1741173522, + "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -439,11 +688,11 @@ ] }, "locked": { - "lastModified": 1752985182, - "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", + "lastModified": 1751774635, + "narHash": "sha256-DuOznGdgMxeSlPpUu6Wkq0ZD5e2Cfv9XRZeZlHWMd1s=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", + "rev": "85686025ba6d18df31cc651a91d5adef63378978", "type": "github" }, "original": { @@ -472,13 +721,35 @@ "url": "https://git.outfoxxed.me/outfoxxed/nix-qml-support" } }, + "nixpak": { + "inputs": { + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751509240, + "narHash": "sha256-ejnxldFzqwnY791ycFOxqtPswYZ6dVtj2G4GfhSL4Fo=", + "owner": "nixpak", + "repo": "nixpak", + "rev": "9361c8e7d5d43c64d60d2d858d2ed754f549b969", + "type": "github" + }, + "original": { + "owner": "nixpak", + "repo": "nixpak", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -487,19 +758,49 @@ "type": "indirect" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1751274312, + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ] + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1753410150, - "narHash": "sha256-/NgbxnRClVoYDYAAtn8uxLP5sPZLy0B9t8RxUpDyr1A=", + "lastModified": 1752007280, + "narHash": "sha256-9KEYoE5sew1DUsq/HhpvR0HXirSs5qzg1mesgFyl/18=", "owner": "nix-community", "repo": "NUR", - "rev": "460e9b64154a67dc0ed87e2d9e0404136ac1c936", + "rev": "c997e0952b5b79e642f56cd00c2165573c2466a3", "type": "github" }, "original": { @@ -538,53 +839,121 @@ ] }, "locked": { - "lastModified": 1753402503, - "narHash": "sha256-cc1seYNwhhk9f74NpJSFRmQFjDzXInq66/dSVs2eK4Y=", + "lastModified": 1752146885, + "narHash": "sha256-ZJK989GL+bTCQSxbG8v8/7tHMCEl/FPovkeDBNyClQE=", "ref": "refs/heads/master", - "rev": "4dad44757085a42423f758bf0177cebcd07b4a4a", - "revCount": 656, + "rev": "d7079b75241c6e2b67f2429996fa7679ffc052e2", + "revCount": 616, "type": "git", - "url": "https://git.outfoxxed.me/quickshell/quickshell" + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" }, "original": { "type": "git", - "url": "https://git.outfoxxed.me/quickshell/quickshell" + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" } }, "root": { "inputs": { "emacs-overlay": "emacs-overlay", + "flake-utils": "flake-utils", "home-manager": "home-manager", "hyprland": "hyprland", "hyprland-hy3": "hyprland-hy3", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", + "hyprpicker": "hyprpicker", + "hyprsunset": "hyprsunset", "impurity": "impurity", + "logseq": "logseq", "nix-index-database": "nix-index-database", "nix-qml-support": "nix-qml-support", + "nixpak": "nixpak", "nixpkgs": "nixpkgs", "nur": "nur", "quickshell": "quickshell", - "stable": "stable", - "systems": "systems" + "rust-overlay": "rust-overlay", + "stable": "stable" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751942411, + "narHash": "sha256-01uMHCt2U9tP4f24DGch145tT8YQppLY5TC9mWK7O0A=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "c587235f892930a61c9e415f0d9792a1b27a41a2", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "stable": { "locked": { - "lastModified": 1753345091, - "narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=", + "lastModified": 1751274312, + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9", + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-25.05", + "ref": "nixos-24.11", "type": "indirect" } }, "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_4": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", diff --git a/flake.nix b/flake.nix index 4bc5921..1a6fae3 100755 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,8 @@ { inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - stable.url = "nixpkgs/nixos-25.05"; - systems.url = "github:nix-systems/default-linux"; + stable.url = "nixpkgs/nixos-24.05"; + flake-utils.url = "github:numtide/flake-utils"; nix-index-database = { url = "github:Mic92/nix-index-database"; @@ -16,31 +16,30 @@ impurity.url = "github:outfoxxed/impurity.nix"; + nixpak = { + url = "github:nixpak/nixpak"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + emacs-overlay = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.nixpkgs-stable.follows = "stable"; - }; - - hyprutils = { - url = "github:hyprwm/hyprutils"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.systems.follows = "systems"; - }; - - hyprlang = { - url = "github:hyprwm/hyprlang"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.systems.follows = "systems"; - inputs.hyprutils.follows = "hyprutils"; + inputs.flake-utils.follows = "flake-utils"; }; hyprland = { url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.systems.follows = "systems"; - inputs.hyprutils.follows = "hyprutils"; - inputs.hyprlang.follows = "hyprlang"; + }; + + hyprsunset = { + url = "git+https://github.com/hyprwm/hyprsunset"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + hyprpicker = { + url = "git+https://github.com/hyprwm/hyprpicker"; + inputs.nixpkgs.follows = "nixpkgs"; }; hyprland-hy3 = { @@ -49,7 +48,7 @@ }; quickshell = { - url = "git+https://git.outfoxxed.me/quickshell/quickshell"; + url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -58,12 +57,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - nur = { - url = "github:nix-community/NUR"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + nur.url = "github:nix-community/NUR"; - #vps-testing.url = "path:/home/admin/vpsnew"; + # devenv + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; }; outputs = inputs @ { self, nixpkgs, ... }: { @@ -75,6 +76,7 @@ modules = [ ./modules/impurity.nix ./modules/preserve-system.nix + ./modules/devenv ./modules/system.nix ./modules/hyprland ./modules/xserver @@ -89,6 +91,7 @@ modules = [ ./modules/impurity.nix ./modules/preserve-system.nix + ./modules/devenv ./modules/system.nix ./modules/hyprland ./systems/lenovo @@ -98,5 +101,7 @@ msi-impure = self.nixosConfigurations.msi.extendModules { modules = [ { impurity.enable = true; } ]; }; lenovo-impure = self.nixosConfigurations.lenovo.extendModules { modules = [ { impurity.enable = true; } ]; }; }; + + devShells = import ./modules/devenv/flakepart.nix inputs; }; } diff --git a/modules/devenv/default.nix b/modules/devenv/default.nix new file mode 100644 index 0000000..bafebe3 --- /dev/null +++ b/modules/devenv/default.nix @@ -0,0 +1,7 @@ +outerInputs @ { self, inputs, system, pkgs, ... }: { + nix.registry.system.flake = self; + + system.extraDependencies = [ + (import ./rust.nix outerInputs) + ]; +} diff --git a/modules/devenv/flakepart.nix b/modules/devenv/flakepart.nix new file mode 100644 index 0000000..0f20035 --- /dev/null +++ b/modules/devenv/flakepart.nix @@ -0,0 +1,10 @@ +finputs @ { nixpkgs, ... }: let + systems = [ "x86_64-linux" ]; +in builtins.foldl' (a: b: a // b) {} (builtins.map (system: let + pkgs = import nixpkgs { inherit system; }; + inputs = finputs // { inherit system pkgs inputs; }; + in { + ${system} = { + rust-env = import ./rust.nix inputs; + }; + }) systems) diff --git a/modules/devenv/rust.nix b/modules/devenv/rust.nix new file mode 100644 index 0000000..e63a56a --- /dev/null +++ b/modules/devenv/rust.nix @@ -0,0 +1,28 @@ +outerInputs @ { inputs, ... }: let + pkgs = outerInputs.pkgs.appendOverlays [ (import inputs.rust-overlay) ]; +in pkgs.mkShell { + name = "rust-devenv"; + packages = with pkgs; [ + (rust-bin.selectLatestNightlyWith (toolchain: toolchain.default.override { + extensions = [ + "rustc" + "rust-src" + "rust-docs" + "rust-std" + "cargo" + "clippy" + "rust-analyzer" + "miri" + ]; + })) + + cargo-expand + + # common deps + clang + pkg-config + openssl.dev + ]; + + shellHook = "exec $SHELL"; +} diff --git a/modules/hyprland/default.nix b/modules/hyprland/default.nix index 4309f27..571c1ff 100644 --- a/modules/hyprland/default.nix +++ b/modules/hyprland/default.nix @@ -1,5 +1,5 @@ { system, inputs, impurity, lib, config, pkgs, ... }: let - inherit (inputs) hyprland hyprland-hy3 quickshell; + inherit (inputs) hyprland hyprsunset hyprpicker hyprland-hy3 quickshell; exe = hyprland.packages.${system}.default.overrideAttrs (final: prev: { dontStrip = true; @@ -53,8 +53,8 @@ in { playerctl wl-screenrec - hyprsunset - hyprpicker + hyprsunset.packages.${system}.default + hyprpicker.packages.${system}.default ]; wayland.windowManager.hyprland = { diff --git a/modules/user/general.nix b/modules/user/general.nix index c9896f5..12f4d12 100644 --- a/modules/user/general.nix +++ b/modules/user/general.nix @@ -18,6 +18,7 @@ packages = (with inputs.stable.legacyPackages.${system}; [ dejavu_fonts + nerdfonts noto-fonts noto-fonts-cjk-sans ]) ++ (with pkgs; [