39 lines
1.0 KiB
Nix
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;
|
|
};
|
|
};
|
|
} |