dotfiles-ansible/roles/config/templates/fish/env.j2

198 lines
7.3 KiB
Django/Jinja

# cursor shapes
set -g fish_cursor_default block
set -g fish_cursor_insert line
set -g fish_cursor_replace_one underscore
set -g fish_cursor_visual block
set -g fish_vi_force_cursor
# XDG thingy
set -gx XDG_BIN_HOME $HOME/.local/bin
set -gx XDG_CONFIG_HOME $HOME/.config
set -gx XDG_CACHE_HOME $HOME/.cache
set -gx XDG_DATA_HOME $HOME/.local/share
set -gx XDG_STATE_HOME $HOME/.local/state
# Respect defined XDG specs
set -gx XCURSOR_PATH $XDG_DATA_HOME/icons
set -gx TERMINFO $XDG_DATA_HOME/terminfo
set -gx TERMINFO_DIRS $XDG_DATA_HOME/terminfo:/usr/share/terminfo
set -gx MOST_INITFILE $XDG_CONFIG_HOME/mostrc
set -gx GOPATH $XDG_DATA_HOME/go
set -gx GRADLE_USER_HOME $XDG_DATA_HOME/gradle
set -gx _JAVA_OPTIONS -Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java
set -gx NODE_REPL_HISTORY $XDG_CACHE_HOME/node_repl_history
set -gx PNPM_HOME $XDG_DATA_HOME/pnpm
set -gx NPM_CONFIG_PREFIX $XDG_DATA_HOME/npm
set -gx NPM_CONFIG_USERCONFIG $XDG_CONFIG_HOME/npm/npmrc
set -gx CARGO_HOME $XDG_DATA_HOME/cargo
set -gx RUSTUP_HOME $XDG_DATA_HOME/rustup
set -gx BUNDLE_USER_CONFIG $XDG_CONFIG_HOME/bundle
set -gx BUNDLE_USER_CACHE $XDG_CACHE_HOME/bundle
set -gx BUNDLE_USER_PLUGIN $XDG_DATA_HOME/bundle
set -gx GEM_HOME $XDG_DATA_HOME/gem
set -gx GEM_SPEC_CACHE $XDG_CACHE_HOME/gem
set -gx DOCKER_CONFIG $XDG_CONFIG_HOME/docker
set -gx GNUPGHOME $XDG_DATA_HOME/gnupg
set -gx IPYTHONDIR $XDG_CONFIG_HOME/ipython
set -gx JUPYTER_CONFIG_DIR $XDG_CONFIG_HOME/jupyter
set -gx WGETRC $XDG_CONFIG_HOME/wgetrc
set -gx RIPGREP_CONFIG_PATH $XDG_CONFIG_HOME/ripgrep/config
set -gx GHCUP_USE_XDG_DIRS true
set -gx STACK_ROOT $XDG_DATA_HOME/stack
set -gx CABAL_CONFIG $XDG_CONFIG_HOME/cabal/config
set -gx CABAL_DIR $XDG_DATA_HOME/cabal
set -gx SQLITE_HISTORY $XDG_DATA_HOME/sqlite/history
set -gx TS_NODE_HISTORY $XDG_DATA_HOME/ts-node/history
set -gx WINEPREFIX $XDG_DATA_HOME/wine
set -gx PYENV_ROOT $XDG_DATA_HOME/pyenv
set -gx KREW_ROOT $XDG_DATA_HOME/krew
set -gx MINIKUBE_HOME $XDG_DATA_HOME
set -gx PULUMI_HOME $XDG_DATA_HOME/pulumi
set -gx CDKTF_HOME $XDG_DATA_HOME/terraform-cdk
set -gx TF_PLUGIN_CACHE_DIR $XDG_CACHE_HOME/terraform/plugin-cache
set -gx APPTAINER_CACHEDIR $XDG_CACHE_HOME/apptainer
set -gx MAGEFILE_CACHE $XDG_CACHE_HOME/magefile
# set -gx MANPATH :$XDG_DATA_HOME/man
# common envs
set -gx VISUAL nvim
set -gx EDITOR $VISUAL
set -gx LESS "-R -i -M --incsearch"
set -gx LESSOPEN "|bat %s"
set -gx LESSHISTFILE -
set -gx PAGER less
set -gx MANPAGER "less -R --use-color -Dd+b -Du+g -DS+kc"
# what fish uses to open fish_config settings
set -gx BROWSER xdg-open
# Rust: don't build openssl-sys
set -gx OPENSSL_NO_VENDOR 1
# Rust: miles faster to update crates.io index
set -gx CARGO_REGISTRIES_CRATES_IO_PROTOCOL sparse
# don't ping {proxy,sum}.golang.org all the time
set -gx GOPROXY direct
set -gx GOSUMDB off
set -gx GOTOOLCHAIN local
#set -gx GOTELEMETRY off
# Update check + telemetry
## .NET
set -gx DOTNET_CLI_TELEMETRY_OPTOUT true
set -gx DOTNET_SKIP_FIRST_TIME_EXPERIENCE true
## Pulumi
set -gx PULUMI_SKIP_UPDATE_CHECK true
set -gx PULUMI_AUTOMATION_API_SKIP_VERSION_CHECK true
## helmfile
set -gx HELMFILE_UPGRADE_NOTICE_DISABLED true
set -gx HELMFILE_DISABLE_INSECURE_FEATURES true
set -gx HELMFILE_SKIP_INSECURE_TEMPLATE_FUNCTIONS true
## kopia
set -gx KOPIA_CHECK_FOR_UPDATES false
set -gx KOPIA_PERSIST_CREDENTIALS_ON_CONNECT false
## qsv
set -gx QSV_NO_UPDATE true
set -gx QSV_PROGRESSBAR true
## atlas
set -gx ATLAS_NO_UPDATE_NOTIFIER true
## gcloud
set -gx CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK 1
set -gx CLOUDSDK_CORE_DISABLE_USAGE_REPORTING 1
## kubeshark
set -gx KUBESHARK_DISABLE_VERSION_CHECK true
## driftctl
set -gx DCTL_NO_VERSION_CHECK true
## deno
set -gx DENO_NO_UPDATE_CHECK true
## tabbyml
set -gx TABBY_DISABLE_USAGE_COLLECTION 1
## Hashicorp stuff phoning home
set -gx CHECKPOINT_DISABLE true
set -gx DISABLE_VERSION_CHECK true
set -gx VAGRANT_I_KNOW_WHAT_IM_DOING_PLEASE_BE_QUIET true
set -gx VAGRANT_BOX_UPDATE_CHECK_DISABLE true
set -gx VAGRANT_DISABLE_RESOLV_REPLACE true
set -gx VAGRANT_PREFER_SYSTEM_BIN true
## OPA
set -gx OPA_TELEMETRY_SERVICE_URL ""
# gopass settings not covered by the config file
set -gx GOPASS_CONFIG_NOSYSTEM true
set -gx GOPASS_CLIPBOARD_COPY_CMD "$HOME/.local/libexec/gopass-clipboard-copy.sh"
set -gx GOPASS_CLIPBOARD_CLEAR_CMD "$HOME/.local/libexec/gopass-clipboard-clear.sh"
# the downloaded Electron binary won't work on musl anyway
set -gx ELECTRON_SKIP_BINARY_DOWNLOAD 1
# Debian and Alpine support this (check the script at /usr/bin/chromium-browser)
set -gx CHROMIUM_USER_FLAGS "
--ozone-platform-hint=auto
--disable-sync-preferences
--enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer
--disk-cache-dir=$XDG_RUNTIME_DIR/chromium-cache
--gtk-version=4"
# make puppeteer use the system's chromium (for mermaid-cli)
set -gx PUPPETEER_EXECUTABLE_PATH '/usr/bin/chromium-browser'
set -gx PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
# qt5ct
set -gx QT_QPA_PLATFORMTHEME qt5ct
set -gx QT_PLATFORM_PLUGIN qt5ct
# fzf
set -gx FZF_DEFAULT_OPTS "--multi --layout=reverse --inline-info --cycle --separator=─ --preview-label=' Preview '
{% if theme == 'nord' %}
--color fg:-1,bg:-1,hl:{{ colors.green }},fg+:{{ colors.white2 }},bg+:{{ colors.grey2 }},hl+:{{ colors.green }}
--color pointer:{{ colors.red }},info:{{ colors.highlight }},spinner:{{ colors.grey3 }},header:{{ colors.grey3 }},prompt:{{ colors.blue }},marker:{{ colors.yellow }}
--color separator:{{ colors.highlight }},label:{{ colors.white2 }},border:{{ colors.highlight }}"
{% elif theme == 'onedark' %}
--color fg:-1,bg:-1,hl:{{ colors.purple }},fg+:{{ colors.white2 }},bg+:{{ colors.grey2 }},hl+:{{ colors.purple }}
--color info:{{ colors.green }},prompt:{{ colors.blue }},pointer:{{ colors.red }},marker:{{ colors.yellow }},spinner:{{ colors.blue }},header:{{ colors.blue }}
--color separator:{{ colors.highlight }},label:{{ colors.white2 }},border:{{ colors.highlight }}"
{% endif %}
set -gx FZF_DEFAULT_COMMAND "fd --type f --follow --hidden --exclude .git --color never"
set -gx FZF_CTRL_T_OPTS "--no-height --preview '$HOME/.local/libexec/preview {} 2>/dev/null'"
set -gx FZF_CTRL_T_COMMAND "fd . \$dir --follow --hidden --exclude .git --color never"
set -gx FZF_ALT_C_OPTS "--preview 'lsd -1FAL --group-dirs first --icon always --color always {} 2>/dev/null'"
set -gx FZF_ALT_C_COMMAND "fd --type d --follow --hidden --exclude .git --color never"
# set -gx FZF_TMUX 1
# zoxide
set -gx _ZO_DATA_DIR $XDG_DATA_HOME/zoxide
set -gx _ZO_ECHO 1
set -gx _ZO_FZF_OPTS "$FZF_DEFAULT_OPTS --no-multi"
set -gx _ZO_RESOLVE_SYMLINKS 1
# magefile
set -gx MAGEFILE_ENABLE_COLOR true
# LS_COLORS used for fd, exa, ...
# if command -v vivid > /dev/null
# not status is-login; and set -gx LS_COLORS (vivid generate {{ theme | capitalize }})
# end
# forgit
set -gx FORGIT_COPY_CMD wl-copy
set -gx FORGIT_GI_TEMPLATES $XDG_CACHE_HOME/forgit/gi/repos/dvcs/gitignore/templates
set -gx FORGIT_GI_REPO_LOCAL $XDG_CACHE_HOME/forgit/gi/repos/dvcs/gitignore
set -gx FORGIT_GI_REPO_REMOTE https://github.com/dvcs/gitignore
set -gx FORGIT_FZF_DEFAULT_OPTS "
$FZF_DEFAULT_OPTS
--ansi
--height='80%'
--bind='alt-k:preview-up,alt-p:preview-up'
--bind='alt-j:preview-down,alt-n:preview-down'
--bind='ctrl-r:toggle-all'
--bind='ctrl-s:toggle-sort'
--bind='?:toggle-preview'
--bind='alt-w:toggle-preview-wrap'
--preview-window='right:60%'
+1"
{% if ssh_client == 'dropbear' %}
# use dropbear-dbclient for rsync
set -gx RSYNC_RSH "dbclient -y"
{% endif %}