# Lists of environment names.
#
# Environment names in lists together cannot appear in the same environment condition string.
# For example, you cannot specify a path that matches both Vim and Neovim.
exclusivity = [
# Neovim takes priority over Vim.
["neovim", "vim"],
# Flatpak steam installation takes priority over "native" install.
["steam_flatpak", "steam"]
]
[defaults]
XDG_CONFIG_HOME = "${HOME}/.config"
XDG_DATA_HOME = "${HOME}/.local/share"
[envs]
# Match if `fish` is somewhere in $PATH.
[envs.fish]
exe_exists = ["fish"]
[envs.flatpak]
exe_exists = ["flatpak"]
[envs.neovim]
# Detect "neovim" if AT LEAST one of `nvim` or `nvim-qt` exists in $PATH.
# This is parsed as `nvim OR nvim-qt`.
exe_exists = ["nvim", "nvim-qt"]
[envs.vim]
# Detect "vim" if AT LEAST one of `vim` or `gvim` exists in $PATH.
exe_exists = ["vim", "gvim"]
# GAMES
[envs.itch]
# Match itch if BOTH of these paths exist.
# These paths are parsed as (first) AND (second).
path_exists = [
[
"${LOCALAPPDATA}/itch"
],
[
"${HOME}/.itch",
"${XDG_DATA_HOME}/applications/io.itch.itch.desktop"
]
]
[envs.steam]
exe_exists = ["steam"]
[envs.steam_flatpak]
exe_exists = ["flatpak"]
path_exists = [
"/home/shadow53/.var/app/com.valvesoftware.Steam"
]
# OPERATING SYSTEMS
# See https://doc.rust-lang.org/stable/std/env/consts/constant.OS.html for some possible
# values for `os`.
[envs.windows]
os = ["windows"]
[envs.linux]
os = ["linux"]
[envs.macos]
os = ["macos"]
[envs.freebsd]
os = ["freebsd"]
# Is "unix" if one of the OSes match AND both of the environment variables exist.
# You can also require a specific value for the variable with
#
# { var = "SOME_VAR", expected = "the var value" }
#
# Note: macOS is technically unixy as well, but does not generally use the XDG_*
# directories and is thus excluded here.
[envs.unix]
os = ["linux", "freebsd"]
env = [
{ var = "HOME" },
{ var = "XDG_CONFIG_HOME" }
]
[hoards]
# Both `fish|linux` and `linux|fish` match the same way and are considered
# the same condition internally.
[hoards.fish]
[hoards.fish.confdir]
"unix|fish" = "${XDG_CONFIG_HOME}/fish/conf.d"
[hoards.fish.functions]
"fish|unix" = "${XDG_CONFIG_HOME}/fish/functions"
[hoards.fonts]
# This is a standard place for FreeDesktop (Linux/BSD) systems to store user fonts.
"unix" = "${XDG_DATA_HOME}/fonts"
# This hoard uses "linux" instead of "unix" because Steam/Itch/etc. are not on the BSDs.
[hoards.game_saves]
[hoards.game_saves.apotheon]
"linux|steam" = "${XDG_DATA_HOME}/Apotheon/SavedGames"
"linux|steam_flatpak" = "${HOME}/.var/app/com.valvesoftware.Steam/.local/share/Apotheon/SavedGames"
[hoards.game_saves.death_and_taxes]
"linux|itch" = "${XDG_CONFIG_HOME}/unity3d/Placeholder Gameworks/Death and Taxes/Saves"
[hoards.game_saves.hat_in_time]
"linux|steam" = "${XDG_DATA_HOME}/Steam/steamapps/common/HatInTime/HatInTimeGame/SaveData"
"linux|steam_flatpak" = "${HOME}/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/HatInTime/HatInTimeGame/SaveData"
[hoards.game_saves.mindustry]
"linux|steam" = "${XDG_DATA_HOME}/Steam/steamapps/common/Mindustry/saves/saves"
"linux|steam_flatpak" = "${HOME}/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Mindustry/saves/saves"
[hoards.git]
"unix" = "${HOME}/.gitconfig"
[hoards.hoard]
"unix" = "${XDG_CONFIG_HOME}/hoard/config.toml"
"macos" = "${HOME}/Library/Application Support/com.shadow53.hoard/config.toml"
"windows" = "${APPDATA}\\shadow53\\hoard\\config.toml"
[hoards.vim]
[hoards.vim.init]
# Match unix AND neovim environments
"unix|neovim" = "${XDG_CONFIG_HOME}/nvim/init.vim"
"unix|vim" = "${HOME}/.vimrc"
"windows|neovim" = "${CSIDL_LOCAL_APPDATA}\\nvim\\init.vim"
"windows|vim" = "${USERPROFILE}/.vim/_vimrc"
[hoards.vim.configdir]
"windows|neovim" = "${CSIDL_LOCAL_APPDATA}\\nvim\\config"
"windows|vim" = "${USERPROFILE}/.vim/config"
"unix|neovim" = "${XDG_CONFIG_HOME}/nvim/config"
"unix|vim" = "${HOME}/.vim/config"
[hoards.vim.templates]
"windows|neovim" = "${CSIDL_LOCAL_APPDATA}\\nvim\\templates"
"windows|vim" = "${USER_PROFILE}\\.vim\\templates"
"unix|neovim" = "${XGD_CONFIG_HOME}/nvim/templates"
"unix|vim" = "${HOME}/.vim/templates"