utils/lib/mkHome.nix

37 lines
1 KiB
Nix
Raw Normal View History

2025-10-04 17:32:44 +02:00
{lib}: userConfig: let
inherit (lib) evalModules types assertMsg isAttrs toString;
evaled = evalModules {
modules = [
./ren-module.nix
userConfig
{
config._module.check = true;
config._module.freeformType = types.unspecified;
}
];
};
home-manager = assert assertMsg (isAttrs evaled.config.ren.home-manager) "home-manager input unset"; evaled.config.ren.home-manager;
hmLib = import (home-manager + /modules/lib/stdlib-extended.nix) lib;
hmModules = import (home-manager + /modules/modules.nix) {
inherit (evaled.config.ren) pkgs;
lib = hmLib;
check = true;
useNixpkgsModule = false;
};
homeConfig = hmLib.evalModules {
specialArgs = {
modulesPath = toString (evaled.config.bee.home + /modules);
};
modules = [./ren-module.nix userConfig] ++ hmModules;
};
in {
2025-10-05 15:13:31 +02:00
inherit userConfig;
2025-10-04 17:32:44 +02:00
innerConfig = {
imports = [userConfig ./ren-module.nix];
};
inherit (homeConfig) options config;
inherit (homeConfig.config.home) activationPackage;
}