fix: use the right nixpkgs when consuming overlays

This commit is contained in:
Jake Hamilton 2022-09-09 01:41:20 -07:00
parent 13cd056669
commit 6ed0b9f668
No known key found for this signature in database
GPG key ID: 9762169A1B35EA68
4 changed files with 24 additions and 11 deletions

View file

@ -79,15 +79,9 @@ rec {
overrides = (full-flake-options.modules or { }); overrides = (full-flake-options.modules or { });
}; };
overlays = core-inputs.flake-utils-plus.lib.exportOverlays ({ overlays = core-inputs.flake-utils-plus.lib.exportOverlays ({
inherit (user-inputs.self) pkgs; inherit (user-inputs.self) pkgs inputs;
inputs = user-inputs;
}); });
overlay = (final: prev:
snowfall-lib.attrs.merge-deep
(builtins.map (overlay: overlay final prev) (builtins.attrValues overlays))
);
outputs-builder = channels: outputs-builder = channels:
let let
user-outputs-builder = user-outputs-builder =
@ -113,7 +107,7 @@ rec {
snowfall-lib.attrs.merge-deep [ user-outputs outputs ]; snowfall-lib.attrs.merge-deep [ user-outputs outputs ];
flake-options = custom-flake-options // { flake-options = custom-flake-options // {
inherit hosts templates overlays overlay; inherit hosts templates overlays;
inherit (user-inputs) self; inherit (user-inputs) self;
lib = snowfall-lib.internal.user-lib; lib = snowfall-lib.internal.user-lib;
@ -130,6 +124,16 @@ rec {
outputsBuilder = outputs-builder; outputsBuilder = outputs-builder;
}; };
in
flake-outputs =
core-inputs.flake-utils-plus.lib.mkFlake flake-options; 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
flake-outputs // {
inherit overlay;
};
} }

View file

@ -25,6 +25,7 @@ in
user-packages-overlay = final: prev: user-packages-overlay = final: prev:
let let
user-packages = snowfall-lib.package.create-packages { user-packages = snowfall-lib.package.create-packages {
pkgs = prev;
channels = channels; channels = channels;
}; };
user-packages-without-default = builtins.removeAttrs user-packages-without-default = builtins.removeAttrs
@ -32,6 +33,14 @@ in
in in
if overlay-package-namespace == null then if overlay-package-namespace == null then
user-packages-without-default 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 else
{ {
${overlay-package-namespace} = user-packages-without-default; ${overlay-package-namespace} = user-packages-without-default;

View file

@ -17,13 +17,14 @@ in
create-packages = create-packages =
{ channels { channels
, src ? user-packages-root , src ? user-packages-root
, pkgs ? channels.nixpkgs
, overrides ? { } , overrides ? { }
}: }:
let let
user-packages = snowfall-lib.fs.get-default-nix-files-recursive src; user-packages = snowfall-lib.fs.get-default-nix-files-recursive src;
create-package-metadata = package: { create-package-metadata = package: {
name = builtins.unsafeDiscardStringContext (snowfall-lib.path.get-parent-directory package); name = builtins.unsafeDiscardStringContext (snowfall-lib.path.get-parent-directory package);
drv = channels.nixpkgs.callPackage package { drv = pkgs.callPackage package {
inherit channels; inherit channels;
lib = snowfall-lib.internal.system-lib; lib = snowfall-lib.internal.system-lib;
}; };

View file

@ -155,7 +155,6 @@ in
let let
lib = snowfall-lib.internal.system-lib; lib = snowfall-lib.internal.system-lib;
in in
# (lib.traceSeqN 1 path)
{ {
inherit channelName system builder output; inherit channelName system builder output;