From f401950470da53ffea37ac31154565d022fe2b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sun, 23 Mar 2025 12:58:53 +0100 Subject: [PATCH] nilla: modularize --- modules/nilla/builders/custom-load.nix | 13 +++++++++ modules/nilla/builders/default.nix | 6 +++++ modules/nilla/builders/nixpkgs-flake.nix | 26 ++++++++++++++++++ modules/nilla/default.nix | 3 +++ nilla.nix | 34 ++---------------------- 5 files changed, 50 insertions(+), 32 deletions(-) create mode 100644 modules/nilla/builders/custom-load.nix create mode 100644 modules/nilla/builders/default.nix create mode 100644 modules/nilla/builders/nixpkgs-flake.nix create mode 100644 modules/nilla/default.nix diff --git a/modules/nilla/builders/custom-load.nix b/modules/nilla/builders/custom-load.nix new file mode 100644 index 0000000..b89bc36 --- /dev/null +++ b/modules/nilla/builders/custom-load.nix @@ -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; }); + }; +} diff --git a/modules/nilla/builders/default.nix b/modules/nilla/builders/default.nix new file mode 100644 index 0000000..fa73437 --- /dev/null +++ b/modules/nilla/builders/default.nix @@ -0,0 +1,6 @@ +{ + includes = [ + ./nixpkgs-flake.nix + ./custom-load.nix + ]; +} diff --git a/modules/nilla/builders/nixpkgs-flake.nix b/modules/nilla/builders/nixpkgs-flake.nix new file mode 100644 index 0000000..a57b0e7 --- /dev/null +++ b/modules/nilla/builders/nixpkgs-flake.nix @@ -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 + ) + ); + }; +} diff --git a/modules/nilla/default.nix b/modules/nilla/default.nix new file mode 100644 index 0000000..f9e4319 --- /dev/null +++ b/modules/nilla/default.nix @@ -0,0 +1,3 @@ +{ + includes = [ ./builders ]; +} diff --git a/nilla.nix b/nilla.nix index eb7bf6c..7fa2127 100644 --- a/nilla.nix +++ b/nilla.nix @@ -4,43 +4,13 @@ (import inputs.nilla).create ( { config, lib }: { + includes = [ ./modules/nilla ]; + config.inputs = builtins.mapAttrs (_: src: { inherit src; loader = "raw"; }) 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 = let systems = [