{ config, lib, impermanence, ... }: { imports = [ impermanence.homeManagerModules.default ]; home.persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}" = { enable = true; allowOther = false; removePrefixDirectory = true; directories = let home = config.home.homeDirectory; strip = path: lib.removePrefix "${home}/" path; in with config.xdg.userDirs; [ "dirs/${strip extraConfig.XDG_KEEPERS_DIR}" "dirs/${strip extraConfig.XDG_PROJECTS_DIR}" "secure/.ssh" ] ++ (if config.home.desktop.enable then [ "dirs/${strip documents}" "dirs/${strip extraConfig.XDG_GAMES_DIR}" "dirs/${strip pictures}" "dirs/${strip videos}" "state/${strip config.xdg.stateHome}/wireplumber" ] else []); }; }