diff --git a/snowfall-lib/flake/default.nix b/snowfall-lib/flake/default.nix index 8f50306..b742bd5 100644 --- a/snowfall-lib/flake/default.nix +++ b/snowfall-lib/flake/default.nix @@ -4,7 +4,7 @@ snowfall-lib, snowfall-config, }: let - inherit (core-inputs.nixpkgs.lib) assertMsg foldl filterAttrs const mapAttrs mapAttrs' hasSuffix removeSuffix nameValuePair; + inherit (core-inputs.nixpkgs.lib) assertMsg foldl filterAttrs const mapAttrs mapAttrs' hasSuffix removeSuffix nameValuePair traceVal; in rec { flake = rec { ## Remove the `self` attribute from an attribute set. @@ -128,6 +128,7 @@ in rec { inherit namespace; extra-overlays = full-flake-options.extra-exported-overlays or {}; }; + channels = full-flake-options.channels or {}; outputs-builder = channels: let user-outputs-builder = @@ -172,12 +173,27 @@ in rec { darwinModules = darwin-modules; homeModules = home-modules; - channelsConfig = full-flake-options.channels-config or {}; + channelsConfig = + full-flake-options.channels-config - channels.nixpkgs.overlaysBuilder = snowfall-lib.overlay.create-overlays-builder { - inherit namespace; - extra-overlays = full-flake-options.overlays or []; - }; + + or full-flake-options.channelsConfig + + + or {}; + + channels = + mapAttrs + (channel: config: + config + // { + overlaysBuilder = snowfall-lib.overlay.create-overlays-builder { + inherit namespace; + + extra-overlays = full-flake-options.overlays or []; + }; + }) + ({nixpkgs = {};} // channels); outputsBuilder = outputs-builder; diff --git a/snowfall-lib/module/default.nix b/snowfall-lib/module/default.nix index c17fb6e..3bf0392 100644 --- a/snowfall-lib/module/default.nix +++ b/snowfall-lib/module/default.nix @@ -63,7 +63,6 @@ in { systems = args.systems or {}; lib = snowfall-lib.internal.system-lib; - pkgs = user-inputs.self.pkgs.${system}.nixpkgs; inputs = snowfall-lib.flake.without-src user-inputs; namespace = snowfall-config.namespace;