54 lines
1.6 KiB
Nix
54 lines
1.6 KiB
Nix
# assortment of random bs that's needed
|
|
# to make apps use XDG directories
|
|
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (pkgs.stdenv.hostPlatform) isLinux;
|
|
inherit (config.xdg) cacheHome configHome dataHome;
|
|
inherit (config.home) homeDirectory;
|
|
in {
|
|
home = rec {
|
|
sessionVariables = {
|
|
AZURE_CONFIG_DIR = "${configHome}/azure";
|
|
BUNDLE_USER_CACHE = "${cacheHome}/bundle";
|
|
BUNDLE_USER_CONFIG = "${configHome}/bundle";
|
|
BUNDLE_USER_PLUGIN = "${dataHome}/bundle";
|
|
CARGO_HOME = "${dataHome}/cargo";
|
|
CUDA_CACHE_PATH = "${dataHome}/nv";
|
|
DENO_INSTALL_ROOT = "${dataHome}/deno";
|
|
DOCKER_CONFIG = "${configHome}/docker";
|
|
GEM_HOME = "${dataHome}/gem";
|
|
GEM_SPEC_CACHE = "${cacheHome}/gem";
|
|
GOPATH = "${dataHome}/go";
|
|
IPYTHONDIR = "${configHome}/ipython";
|
|
NODE_REPL_HISTORY = "${dataHome}/node_repl_history";
|
|
NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc";
|
|
RUSTUP_HOME = "${dataHome}/rustup";
|
|
W3M_DIR = "${dataHome}/w3m";
|
|
WINEPREFIX = "${dataHome}/wine";
|
|
};
|
|
sessionPath = [
|
|
"$HOME/.local/bin"
|
|
"${dataHome}/krew/bin"
|
|
"${sessionVariables.GOPATH}/bin"
|
|
"${sessionVariables.CARGO_HOME}/bin"
|
|
"${sessionVariables.DENO_INSTALL_ROOT}/bin"
|
|
];
|
|
};
|
|
|
|
programs.gpg.homedir = "${configHome}/gnupg";
|
|
|
|
xdg = {
|
|
enable = true;
|
|
userDirs.enable = isLinux;
|
|
cacheHome = "${homeDirectory}/.cache";
|
|
configHome = "${homeDirectory}/.config";
|
|
dataHome = "${homeDirectory}/.local/share";
|
|
mimeApps = {
|
|
enable = isLinux;
|
|
defaultApplications."inode/directory" = "nautilus.desktop";
|
|
};
|
|
};
|
|
}
|