diff --git a/flake.lock b/flake.lock index ff1c3a0..114f675 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ ] }, "locked": { - "lastModified": 1731496216, - "narHash": "sha256-nlQrNN+tmJ+iP6Ck/czwZI0Hxz3oNvUyGkVruxJwgwA=", + "lastModified": 1734400729, + "narHash": "sha256-Bf+oya0BuleVXYGIWsb0eWnrK6s0aiesOsI7Mpj1pMU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "3b00e96f90cb0040de6d88ad99bf5f4d443f0c59", + "rev": "a132fa41be7ebe797ad758e84d9df068151a723b", "type": "github" }, "original": { @@ -87,11 +87,11 @@ ] }, "locked": { - "lastModified": 1728669738, - "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=", + "lastModified": 1734364709, + "narHash": "sha256-+2bZJL2u5hva7rSp65OfKJBK+k03T6GB/NCvpoS1OOo=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "0264e698149fcb857a66a53018157b41f8d97bb0", + "rev": "f388aacd22be4a6e4d634fbaf6f75eb0713d239a", "type": "github" }, "original": { @@ -100,11 +100,42 @@ "type": "github" } }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1733684019, + "narHash": "sha256-2kYREgmSmbLsmDpLEq96hxVAU3qz8aCvVhF65yCFZHY=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "fb2c0268645a77403af3b8a4ce8fa7ba5917f15d", + "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", @@ -114,11 +145,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1731526492, - "narHash": "sha256-tzWLCOcIxvJvxB25kC0Q371pc5wBBzbzwSlSNc4L8gw=", + "lastModified": 1734451958, + "narHash": "sha256-PGBoai3Q+oOYpobj5iPFB5j+F1SEPIQn7uMm8ipCYhI=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "3fb47372b79265ebdabeeefdad10359d5b18377a", + "rev": "bd7092a9feb39275a9eb1426046a46671e0fe580", "type": "github" }, "original": { @@ -152,6 +183,35 @@ "type": "github" } }, + "hyprland-qtutils": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1733940128, + "narHash": "sha256-hmfXWj2GA9cj1QUkPFYtAAeohhs615zL4E3APy3FnvQ=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "3833097e50473a152dd614d4b468886840b4ea78", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, "hyprlang": { "inputs": { "hyprutils": [ @@ -168,11 +228,11 @@ ] }, "locked": { - "lastModified": 1728168612, - "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=", + "lastModified": 1734364628, + "narHash": "sha256-ii8fzJfI953n/EmIxVvq64ZAwhvwuuPHWfGd61/mJG8=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e", + "rev": "16e59c1eb13d9fb6de066f54e7555eb5e8a4aba5", "type": "github" }, "original": { @@ -193,11 +253,11 @@ ] }, "locked": { - "lastModified": 1731518387, - "narHash": "sha256-aZZw1ZvTMLkcA6udlvkA3hrCkuipoWLy8s/JNnIclxY=", + "lastModified": 1734384247, + "narHash": "sha256-bl3YyJb2CgaeVKYq/l8j27vKdbkTpDNFDsnCl0dnNlY=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "315fba5d21d87ddb756d4bebdb49f99d86b0ffe8", + "rev": "e6cf45cd1845368702e03b8912f4cc44ebba3322", "type": "github" }, "original": { @@ -218,11 +278,11 @@ ] }, "locked": { - "lastModified": 1726874836, - "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=", + "lastModified": 1734384417, + "narHash": "sha256-noYeXcNQ15g1/gIJIYT2zdO66wzY5Z06PYz6BfKUZA8=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e", + "rev": "90e87f7fcfcce4862826d60332cbc5e2f87e1f88", "type": "github" }, "original": { @@ -233,11 +293,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { @@ -274,11 +334,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1734379367, + "narHash": "sha256-Keu8z5VgT5gnCF4pmB+g7XZFftHpfl4qOn7nqBcywdE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "0bb4be58f21ff38fc3cdbd6c778eb67db97f0b99", "type": "github" }, "original": { @@ -343,11 +403,11 @@ ] }, "locked": { - "lastModified": 1730743262, - "narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=", + "lastModified": 1734422917, + "narHash": "sha256-0y7DRaXslhfqVKV8a/talYTYAe2NHOQhMZG7KMNRCtc=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d", + "rev": "3e884d941ca819c1f2e50df8bdae0debded1ed87", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 31fbd5d..98466c9 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,7 @@ localSystem.system = system; overlays = [ self.overlays.hyprland-plugins + self.overlays.gcc14Stdenv hyprland.overlays.hyprland-packages ]; }); @@ -44,14 +45,42 @@ hyprland-plugins = final: prev: let inherit (final) callPackage; in { - hyprlandPlugins = prev.hyprlandPlugins or {} // { - borders-plus-plus = callPackage ./borders-plus-plus {}; - csgo-vulkan-fix = callPackage ./csgo-vulkan-fix {}; - hyprbars = callPackage ./hyprbars {}; - hyprexpo = callPackage ./hyprexpo {}; - hyprtrails = callPackage ./hyprtrails {}; - hyprwinwrap = callPackage ./hyprwinwrap {}; - }; + hyprlandPlugins = + (prev.hyprlandPlugins + or {}) + // { + borders-plus-plus = callPackage ./borders-plus-plus {}; + csgo-vulkan-fix = callPackage ./csgo-vulkan-fix {}; + hyprbars = callPackage ./hyprbars {}; + hyprexpo = callPackage ./hyprexpo {}; + hyprtrails = callPackage ./hyprtrails {}; + hyprwinwrap = callPackage ./hyprwinwrap {}; + }; + }; + + # TODO: remove when https://github.com/NixOS/nixpkgs/pull/365776 lands in master + gcc14Stdenv = final: prev: { + hyprlandPlugins = + (prev.hyprlandPlugins or {}) + // { + mkHyprlandPlugin = hyprland: args @ {pluginName, ...}: + hyprland.stdenv.mkDerivation ( + args + // { + pname = pluginName; + nativeBuildInputs = [prev.pkg-config] ++ args.nativeBuildInputs or []; + buildInputs = [hyprland] ++ hyprland.buildInputs ++ (args.buildInputs or []); + meta = + args.meta + // { + description = args.meta.description or ""; + longDescription = + (args.meta.longDescription or "") + + "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options."; + }; + } + ); + }; }; }; @@ -59,7 +88,7 @@ devShells = eachSystem (system: with pkgsFor.${system}; { - default = mkShell.override {stdenv = gcc13Stdenv;} { + default = mkShell.override {stdenv = gcc14Stdenv;} { name = "hyprland-plugins"; buildInputs = [hyprland.packages.${system}.hyprland]; inputsFrom = [hyprland.packages.${system}.hyprland];