feat: enable per-channel configuration and fix pkgs selection

This commit is contained in:
anntnzrb
2025-10-08 21:35:51 -05:00
parent 012761f5f3
commit d1eb5eb25b
2 changed files with 17 additions and 7 deletions

View File

@@ -4,7 +4,7 @@
snowfall-lib, snowfall-lib,
snowfall-config, snowfall-config,
}: let }: 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 { in rec {
flake = rec { flake = rec {
## Remove the `self` attribute from an attribute set. ## Remove the `self` attribute from an attribute set.
@@ -128,6 +128,7 @@ in rec {
inherit namespace; inherit namespace;
extra-overlays = full-flake-options.extra-exported-overlays or {}; extra-overlays = full-flake-options.extra-exported-overlays or {};
}; };
channels = full-flake-options.channels or {};
outputs-builder = channels: let outputs-builder = channels: let
user-outputs-builder = user-outputs-builder =
@@ -172,12 +173,22 @@ in rec {
darwinModules = darwin-modules; darwinModules = darwin-modules;
homeModules = home-modules; homeModules = home-modules;
channelsConfig = full-flake-options.channels-config or {}; channelsConfig =
full-flake-options.channels-config
or full-flake-options.channelsConfig
or {};
channels.nixpkgs.overlaysBuilder = snowfall-lib.overlay.create-overlays-builder { channels =
inherit namespace; mapAttrs
extra-overlays = full-flake-options.overlays or []; (channel: config:
}; config
// {
overlaysBuilder = snowfall-lib.overlay.create-overlays-builder {
inherit namespace;
extra-overlays = full-flake-options.overlays or [];
};
})
({nixpkgs = {};} // channels);
outputsBuilder = outputs-builder; outputsBuilder = outputs-builder;

View File

@@ -63,7 +63,6 @@ in {
systems = args.systems or {}; systems = args.systems or {};
lib = snowfall-lib.internal.system-lib; lib = snowfall-lib.internal.system-lib;
pkgs = user-inputs.self.pkgs.${system}.nixpkgs;
inputs = snowfall-lib.flake.without-src user-inputs; inputs = snowfall-lib.flake.without-src user-inputs;
namespace = snowfall-config.namespace; namespace = snowfall-config.namespace;