diff --git a/flake.nix b/flake.nix index 1eade4a..ed5846e 100644 --- a/flake.nix +++ b/flake.nix @@ -1,30 +1,50 @@ { - description = "Hyprland Plugins"; + description = "Hyprland Plugins (Hycov)"; inputs.hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; outputs = { self , hyprland - , }: let inherit (hyprland.inputs) nixpkgs; - withPkgsFor = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); + inherit (nixpkgs) lib; + systems = lib.attrNames hyprland.packages; + withPkgsFor = fn: lib.genAttrs systems (system: + let + pkgs = import nixpkgs { + localSystem.system = system; + overlays = [ + hyprland.overlays.hyprland-packages + self.overlays.default + ]; + }; + in + fn system pkgs); in { - packages = withPkgsFor (system: pkgs: { - hycov = pkgs.callPackage ./default.nix { - inherit (hyprland.packages.${system}) hyprland; - stdenv = pkgs.gcc13Stdenv; + overlays = { + default = self.overlays.hycov; + hycov = final: prev: { + hyprlandPlugins = prev.hyprlandPlugins or {} // { + hycov = final.callPackage ./default.nix { + stdenv = final.gcc13Stdenv; + }; + }; }; + }; + + packages = withPkgsFor (system: pkgs: { + default = self.packages.${system}.hycov; + inherit (pkgs.hyprlandPlugins) hycov; }); devShells = withPkgsFor (system: pkgs: { default = pkgs.mkShell.override { stdenv = pkgs.gcc13Stdenv; } { name = "hyprland-plugins"; - buildInputs = [ hyprland.packages.${system}.hyprland ]; - inputsFrom = [ hyprland.packages.${system}.hyprland ]; + # buildInputs = [ pkgs.hyprland ]; + inputsFrom = [ pkgs.hycov ]; }; }); };