base/import/user.nix
2025-01-05 16:35:55 +01:00

21 lines
626 B
Nix

let
function = name: value: let
result = if builtins.isAttrs value then {...}: value else value;
result' = builtins.trace "result ${name}=${builtins.typeOf result}" result;
in
assert builtins.isFunction result';
result;
config = { user?{}, home-manager?{} }@set:
builtins.mapAttrs function { inherit user home-manager; };
in name: value: let
result = if builtins.isFunction value
then
config { user = value; }
else if builtins.any (attr: builtins.hasAttr attr value) [ "user" "home-manager" ]
then
config value
else
config { user = value; };
in result