{ config, pkgs, user, ... }: { home-manager.users."${user.name}" = { home.packages = with pkgs; [ xdg-utils xdg-launch ]; xdg.enable = true; }; environment = { sessionVariables = { # These are the defaults, and xdg.enable does set them, but due to load # order, they're not set before environment.variables are set, which could # cause race conditions. XDG_CACHE_HOME = "$HOME/.cache"; XDG_CONFIG_HOME = "$HOME/.config"; XDG_DATA_HOME = "$HOME/.local/share"; XDG_BIN_HOME = "$HOME/.local/bin"; }; variables = { # Conform more programs to XDG conventions. The rest are handled by their # respective modules. ASPELL_CONF = '' per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en_US.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl; ''; LESSHISTFILE = "$XDG_CACHE_HOME/lesshst"; WGETRC = "$XDG_CONFIG_HOME/wgetrc"; }; }; }