Files
dendritic/modules/lib.nix
John Lancaster c62545221c initial commit
2026-02-16 09:14:16 -06:00

39 lines
1.0 KiB
Nix

{
inputs,
...
}:
{
flake.lib = {
loadNixosAndHmModuleForUser =
config: modules: username:
assert builtins.isAttrs config;
assert builtins.isList modules;
assert builtins.isString username;
{
imports = (builtins.map (module: config.flake.modules.nixos.${module} or { }) modules) ++ [
{
imports = [
inputs.home-manager.nixosModules.home-manager
];
home-manager.users.${username}.imports = [
(
{ osConfig, ... }:
{
home.stateVersion = osConfig.system.stateVersion;
}
)
] ++ builtins.map (module: config.flake.modules.homeManager.${module} or { }) modules;
}
];
};
loadHmModules =
config: modules:
assert builtins.isAttrs config;
assert builtins.isList modules;
{
imports = builtins.map (module: config.flake.homeModules.${module} or { }) modules;
};
};
}