{ pkgs, config, ... }: { home = { sessionVariables = { XCOMPOSECACHE = "${config.xdg.cacheHome}/X11/xcompos"; XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority"; ANDROID_HOME = "${config.xdg.dataHome}/android"; CUDA_CACHE_PATH = "${config.xdg.cacheHome}/nv"; GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle"; KODI_DATA = "${config.xdg.dataHome}/kodi"; _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${config.xdg.configHome}/java"; WINEPREFIX = "${config.xdg.dataHome}/wine"; }; }; programs = { lazygit.enable = true; git = { enable = true; package = pkgs.git; extraConfig = { core = { whitespace = [ "blank-at-eol" "blank-at-eof" "space-before-tab" ]; }; }; }; direnv = { enable = true; nix-direnv.enable = true; }; gpg = { enable = true; homedir = "${config.xdg.dataHome}/gnupg"; }; }; xdg = { enable = true; mime.enable = true; cacheHome = "${config.home.homeDirectory}/.cache"; configHome = "${config.home.homeDirectory}/.config"; dataHome = "${config.home.homeDirectory}/.local/share"; stateHome = "${config.home.homeDirectory}/.local/state"; userDirs = { enable = true; createDirectories = true; desktop = "${config.home.homeDirectory}/Desktop"; documents = "${config.home.homeDirectory}/Documents"; download = "${config.home.homeDirectory}/Downloads"; music = "${config.home.homeDirectory}/Music"; pictures = "${config.home.homeDirectory}/Pictures"; publicShare = "${config.home.homeDirectory}/Public"; templates = "${config.home.homeDirectory}/Templates"; videos = "${config.home.homeDirectory}/Videos"; }; }; }