# =========================================================================== # Fish config # =========================================================================== # requires fisher (https://github.com/jorgebucaran/fisher) set -gx COLORTERM truecolor set -gx EDITOR nvim set -gx LANG fr_FR.UTF-8 set -gx LC_ALL fr_FR.UTF-8 set --universal fish_greeting # nix if test -e $HOME/.nix-profile/etc/profile.d/nix.sh fenv source $HOME/.nix-profile/etc/profile.d/nix.sh abbr -a nix-update "nix-channel --update && nix-env -u" function nix-search nix-env -qa --description ".*$argv.*" end end fish_add_path "$HOME/.local/bin" abbr -a vi nvim abbr -a v nvim abbr -a s subl . abbr -a r ranger abbr -a cdd "cd {{ .deploydir }}" set -x cdd {{ .deploydir }} # git abbr -a tiga tig --all function __git_fetch_after_cd__on_variable_pwd --on-variable PWD if test -d .git git fetch end end # fzf function p --description "cd project" cd {{ .projectdir }} && _fzf_search_directory end # File find: CTRL+F, Git log: CTRL+G fzf_configure_bindings --directory=\cf --git_log=\cg set fzf_diff_highlighter diff-so-fancy # java abbr -a m mvn abbr -a mvnp mvn -Dmaven.test.skip -Dmaven.javadoc.skip=true -DskipMunitTests clean package abbr -a mvni mvn -Dmaven.test.skip -Dmaven.javadoc.skip=true clean install abbr -a mvnd mvn -Dmaven.test.skip -Dmaven.javadoc.skip=true deploy -P profile-nexus function mbump if test (count $argv) -eq 0 echo "Usage: mbump (means -SNAPSHOT) or mbump (kind is R or S)" else if test (count $argv) -gt 1; and test $argv[2] = 'R'; set kind = 'RELEASE' else set kind = 'SNAPSHOT' end mvn versions:set -DgenerateBackupPoms=false -DnewVersion=$argv[1]-$kind end end alias d "python3 ~/.local/bin/deploy.py {{ .deploydir }}" # sdkman if test -f "$__fish_sdkman_init" function sdk_autoenv --on-variable PWD if test -f ".sdkmanrc" sdk env end end end # node if test -e "{{ .extra_ca_cert }}" set -x NODE_EXTRA_CA_CERTS {{ .extra_ca_cert }} set -x NODE_BUILD_CURL_OPTS --insecure end set -Ux fish_user_paths $HOME/.nodenv/bin $fish_user_paths # python if test -e "{{ .extra_ca_cert }}" set -x REQUESTS_CA_BUNDLE {{ .extra_ca_cert }} end # tmux set -x FAVORITE_COMMAND1 "{{ .tmux_favorite1 }}" set -x FAVORITE_COMMAND2 "{{ .tmux_favorite2 }}" set -x FAVORITE_COMMAND3 "{{ .tmux_favorite3 }}" set -x FAVORITE_COMMAND4 "{{ .tmux_favorite4 }}" # extend with specific config if test -e "$HOME/.config/fish/custom.fish" source "$HOME/.config/fish/custom.fish" end # Commands to run in interactive sessions can go here if status is-interactive abbr -a rm "rm --interactive --verbose" abbr -a mv "mv --interactive --verbose" abbr -a cp "cp --interactive --verbose" # direnv (https://direnv.net) if type -q direnv direnv hook fish | source end end