{ user ? throw "user argument is required", }: { config, lib, ... }: let hmConfig = config.home-manager.users.${user.name}; in { home-manager.users.${user.name} = { imports = [ ./options.nix ]; xdg = { enable = true; mimeApps.enable = true; userDirs = { enable = true; extraConfig = { XDG_VM_DIR = "${user.home}/VMs"; XDG_GIT_DIR = "${user.home}/git"; }; }; }; home.persistence."/persist${user.home}".directories = with hmConfig.xdg.userDirs; [ relativeDesktop relativeDocuments relativeDownload relativeMusic relativePictures relativeTemplates relativeVideos "VMs" "git" ]; }; }