mirror of
https://gitlab.com/rensa-nix/utils.git
synced 2025-12-10 22:50:12 +01:00
33 lines
853 B
Nix
33 lines
853 B
Nix
{lib}: userConfig: let
|
|
inherit (lib) evalModules types assertMsg isAttrs;
|
|
|
|
evaled = evalModules {
|
|
modules = [
|
|
./ren-module.nix
|
|
userConfig
|
|
{
|
|
config._module.check = true;
|
|
config._module.freeformType = types.unspecified;
|
|
}
|
|
];
|
|
};
|
|
|
|
disko = assert assertMsg (isAttrs evaled.config.ren.disko) "disko input unset"; evaled.config.ren.disko;
|
|
diskoLib = import "${disko}/lib" {inherit lib;};
|
|
|
|
diskConfig = evalModules {
|
|
modules = [
|
|
./ren-module.nix
|
|
userConfig
|
|
{
|
|
# required since its a type, not a module
|
|
freeformType = diskoLib.toplevel;
|
|
}
|
|
];
|
|
};
|
|
in {
|
|
inherit userConfig;
|
|
innerConfig = builtins.removeAttrs diskConfig.config ["ren"];
|
|
inherit (diskConfig) config options;
|
|
scripts = diskConfig.config._scripts {inherit (evaled.config.ren) pkgs;};
|
|
}
|