diff options
| author | seth <[email protected]> | 2023-04-17 12:00:55 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-04-17 12:01:21 -0400 |
| commit | 92ca826539092f33c8e19a19c7a9ea0def2aece0 (patch) | |
| tree | c6ff98c3f645f189b559bc1a69904fec217a946c /lib/user.nix | |
| parent | 98921a299be9f22bde9204e1fd05d0ea0fb0c6ed (diff) | |
move most configurations to modules
Diffstat (limited to 'lib/user.nix')
| -rw-r--r-- | lib/user.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/user.nix b/lib/user.nix new file mode 100644 index 0000000..6377faa --- /dev/null +++ b/lib/user.nix @@ -0,0 +1,40 @@ +{ + inputs, + mapFilterDirs, +}: rec { + mkHMUser = { + username, + pkgs, + stateVersion ? "22.11", + modules ? [], + }: + inputs.home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = + [ + ../users/${username}/home.nix + { + home = { + inherit username stateVersion; + homeDirectory = "/home/${username}"; + }; + + programs.home-manager.enable = true; + } + ] + ++ modules; + }; + + mapHMUsers = inputs: system: let + users = import ../users inputs system; + in + mapFilterDirs ../users (n: v: v == "directory" && n != "secrets") (username: _: + mkHMUser { + inherit username; + inherit (users.${username}) pkgs stateVersion; + modules = + if builtins.hasAttr "modules" users.${username} + then users.${username}.modules + else []; + }); +} |
