blob: 6377faaa6524aec560f5c57bff594a6a1983801a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 [];
});
}
|