45 lines
1.1 KiB
Nix
45 lines
1.1 KiB
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
users = lib.attrsets.filterAttrs (name: config: config.isNormalUser) config.users.users;
|
|
in {
|
|
home-manager.users = lib.attrsets.mapAttrs (user: cfg: (let
|
|
cacheHome = "${cfg.home}/.cache";
|
|
configHome = "${cfg.home}/.config";
|
|
dataHome = "${cfg.home}/.local/share";
|
|
stateHome = "${cfg.home}/.local/state";
|
|
xdgVmDir = "${cfg.home}/VMs";
|
|
xdgGitDir = "${cfg.home}/git";
|
|
in {
|
|
xdg = {
|
|
enable = true;
|
|
mimeApps.enable = true;
|
|
|
|
inherit cacheHome;
|
|
inherit configHome;
|
|
inherit dataHome;
|
|
inherit stateHome;
|
|
|
|
userDirs = {
|
|
enable = true;
|
|
extraConfig = {
|
|
XDG_VM_DIR = xdgVmDir;
|
|
XDG_GIT_DIR = xdgGitDir;
|
|
};
|
|
};
|
|
};
|
|
|
|
home.persistence."/persist${cfg.home}".directories = [
|
|
"Desktop" # userDirs.desktop
|
|
"Documents" # userDirs.documents
|
|
"Downloads" # userDirs.download
|
|
"Music" # userDirs.music
|
|
"Pictures" # userDirs.pictures
|
|
"Templates" # userDirs.templates
|
|
"Videos" # userDirs.videos
|
|
"VMs" # xdgVmDir
|
|
"git" # xdgGitDir
|
|
];
|
|
})) users;
|
|
}
|