diff --git a/flake.nix b/flake.nix index 17df443..cdad9df 100644 --- a/flake.nix +++ b/flake.nix @@ -15,22 +15,26 @@ }; outputs = inputs@{ self, flake-utils, nixpkgs, ... }: - flake-utils.lib.eachDefaultSystem (system: + let + pkgDrvDir = ./packages; + pkgDrvs = pkgs: pkgs.lib.attrsets.mapAttrs' + (pkgDrv: _: rec { + name = builtins.substring 0 + ( + builtins.sub (builtins.stringLength pkgDrv) 4 + ) + pkgDrv; + value = import (pkgDrvDir + "/${pkgDrv}") { inherit inputs name pkgs; }; + }) + (builtins.readDir pkgDrvDir); + in + { + overlay = _: prev: pkgDrvs prev; + } // flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; - pkgDefDir = ./packages; - pkgDefs = pkgs.lib.attrsets.mapAttrs' - (pkgDef: _: { - name = builtins.substring 0 - ( - builtins.sub (builtins.stringLength pkgDef) 4 - ) - pkgDef; - value = import (pkgDefDir + "/${pkgDef}") { inherit inputs pkgs; }; - }) - (builtins.readDir pkgDefDir); in { - packages = pkgDefs; + packages = pkgDrvs pkgs; }); } diff --git a/packages/wallpaper-engine-kde-plugin-lib.nix b/packages/wallpaper-engine-kde-plugin-lib.nix index 106f74d..770b4c5 100644 --- a/packages/wallpaper-engine-kde-plugin-lib.nix +++ b/packages/wallpaper-engine-kde-plugin-lib.nix @@ -1,7 +1,7 @@ -{ inputs, pkgs }: +{ inputs, name, pkgs }: -with pkgs; stdenv.mkDerivation rec { - name = "wallpaper-engine-kde-plugin-lib"; +with pkgs; stdenv.mkDerivation { + inherit name; src = inputs.${name}; nativeBuildInputs = [ cmake diff --git a/packages/yorha-grub-theme.nix b/packages/yorha-grub-theme.nix index bf2b927..914da13 100644 --- a/packages/yorha-grub-theme.nix +++ b/packages/yorha-grub-theme.nix @@ -1,9 +1,9 @@ -{ inputs, pkgs, resolution ? "2560x1440" }: +{ inputs, name, pkgs, resolution ? "2560x1440" }: assert builtins.any (s: resolution == s) [ "1920x1080" "2256x1504" "2560x1440" "3840x2160" ]; -pkgs.stdenv.mkDerivation rec { - name = "yorha-grub-theme"; +pkgs.stdenv.mkDerivation { + inherit name; src = inputs.${name}; installPhase = '' runHook preInstall