diff --git a/lib/flake/default.nix b/lib/flake/default.nix index fbec2b0..c299c15 100644 --- a/lib/flake/default.nix +++ b/lib/flake/default.nix @@ -79,15 +79,9 @@ rec { overrides = (full-flake-options.modules or { }); }; overlays = core-inputs.flake-utils-plus.lib.exportOverlays ({ - inherit (user-inputs.self) pkgs; - inputs = user-inputs; + inherit (user-inputs.self) pkgs inputs; }); - overlay = (final: prev: - snowfall-lib.attrs.merge-deep - (builtins.map (overlay: overlay final prev) (builtins.attrValues overlays)) - ); - outputs-builder = channels: let user-outputs-builder = @@ -113,7 +107,7 @@ rec { snowfall-lib.attrs.merge-deep [ user-outputs outputs ]; flake-options = custom-flake-options // { - inherit hosts templates overlays overlay; + inherit hosts templates overlays; inherit (user-inputs) self; lib = snowfall-lib.internal.user-lib; @@ -130,6 +124,16 @@ rec { outputsBuilder = outputs-builder; }; + + flake-outputs = + core-inputs.flake-utils-plus.lib.mkFlake flake-options; + + overlay = (final: prev: + snowfall-lib.attrs.merge-deep + (builtins.map (overlay: overlay final prev) (builtins.attrValues flake-outputs.overlays)) + ); in - core-inputs.flake-utils-plus.lib.mkFlake flake-options; + flake-outputs // { + inherit overlay; + }; } diff --git a/lib/overlay/default.nix b/lib/overlay/default.nix index 384769b..45d7379 100644 --- a/lib/overlay/default.nix +++ b/lib/overlay/default.nix @@ -25,6 +25,7 @@ in user-packages-overlay = final: prev: let user-packages = snowfall-lib.package.create-packages { + pkgs = prev; channels = channels; }; user-packages-without-default = builtins.removeAttrs @@ -32,6 +33,14 @@ in in if overlay-package-namespace == null then user-packages-without-default + else if prev ? "${overlay-package-namespace}" then + { + ${overlay-package-namespace} = + snowfall-lib.attrs.merge-deep [ + prev.${overlay-package-namespace} + user-packages-without-default + ]; + } else { ${overlay-package-namespace} = user-packages-without-default; diff --git a/lib/package/default.nix b/lib/package/default.nix index 4dc7f11..0103103 100644 --- a/lib/package/default.nix +++ b/lib/package/default.nix @@ -17,13 +17,14 @@ in create-packages = { channels , src ? user-packages-root + , pkgs ? channels.nixpkgs , overrides ? { } }: let user-packages = snowfall-lib.fs.get-default-nix-files-recursive src; create-package-metadata = package: { name = builtins.unsafeDiscardStringContext (snowfall-lib.path.get-parent-directory package); - drv = channels.nixpkgs.callPackage package { + drv = pkgs.callPackage package { inherit channels; lib = snowfall-lib.internal.system-lib; }; diff --git a/lib/system/default.nix b/lib/system/default.nix index 7959178..f4a356d 100644 --- a/lib/system/default.nix +++ b/lib/system/default.nix @@ -155,7 +155,6 @@ in let lib = snowfall-lib.internal.system-lib; in - # (lib.traceSeqN 1 path) { inherit channelName system builder output;