nilla: modularize

This commit is contained in:
Nikodem Rabuliński 2025-03-23 12:58:53 +01:00
parent 636adf8cf3
commit f401950470
Signed by: nrabulinski
SSH key fingerprint: SHA256:AZZVyfKStaCo8sbJB+3Rr/CRrlym1oEgw7vMnynJeR8
5 changed files with 50 additions and 32 deletions

View file

@ -0,0 +1,13 @@
{ lib }:
{
config.builders.custom-load = {
settings.type = lib.types.submodule {
options.args = lib.options.create {
type = lib.types.null;
default.value = null;
};
};
settings.default = { };
build = pkg: lib.attrs.generate pkg.systems (system: pkg.package { inherit system; });
};
}

View file

@ -0,0 +1,6 @@
{
includes = [
./nixpkgs-flake.nix
./custom-load.nix
];
}

View file

@ -0,0 +1,26 @@
{
config,
lib,
}:
{
config.builders.nixpkgs-flake = {
settings.type = lib.types.submodule {
options.args = lib.options.create {
type = lib.types.any;
default.value = { };
};
};
settings.default = { };
build =
pkg:
lib.attrs.generate pkg.systems (
system:
config.inputs.nixpkgs.result.legacyPackages.${system}.callPackage pkg.package (
{
self' = builtins.mapAttrs (_: pkg: pkg.result.${system}) config.packages;
}
// pkg.settings.args
)
);
};
}

View file

@ -0,0 +1,3 @@
{
includes = [ ./builders ];
}

View file

@ -4,43 +4,13 @@
(import inputs.nilla).create ( (import inputs.nilla).create (
{ config, lib }: { config, lib }:
{ {
includes = [ ./modules/nilla ];
config.inputs = builtins.mapAttrs (_: src: { config.inputs = builtins.mapAttrs (_: src: {
inherit src; inherit src;
loader = "raw"; loader = "raw";
}) inputs; }) inputs;
config.builders.nixpkgs-flake = {
settings.type = lib.types.submodule {
options.args = lib.options.create {
type = lib.types.any;
default.value = { };
};
};
settings.default = { };
build =
pkg:
lib.attrs.generate pkg.systems (
system:
inputs.nixpkgs.legacyPackages.${system}.callPackage pkg.package (
{
self' = builtins.mapAttrs (_: pkg: pkg.result.${system}) config.packages;
}
// pkg.settings.args
)
);
};
config.builders.custom-load = {
settings.type = lib.types.submodule {
options.args = lib.options.create {
type = lib.types.null;
default.value = null;
};
};
settings.default = { };
build = pkg: lib.attrs.generate pkg.systems (system: pkg.package { inherit system; });
};
config.packages = config.packages =
let let
systems = [ systems = [