{ 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; }