This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/apps/shell/fish/config.fish

63 lines
2.2 KiB
Fish
Raw Normal View History

2020-01-16 17:01:59 -06:00
set -U XDG_CONFIG_HOME "$HOME/.config"
set -U DOTFILES_PATH "$XDG_CONFIG_HOME/dotfiles"
set -U ENV_DOTFILES_PATH "$DOTFILES_PATH/env"
set -U EDFP "$ENV_DOTFILES_PATH"
# TODO: better logic for auto-detecting alternative home directories?
# 1. check dirname(basename $HOME)) matches username
# 2. check if /home/$username
set -U NICE_HOME $HOME
test (basename $HOME) = .home && set -U NICE_HOME (realpath $HOME/..)
test -e $HOME/.nice_home && set -U NICE_HOME (cat $HOME/.nice_home)
test -e $EDFP/.nice_home && set -U NICE_HOME (cat $EDFP/.nice_home)
# setup paths
source $DOTFILES_PATH/apps/shell/fish/paths.fish
# stop parsing here on a non-interactive shell
status --is-interactive || exit
# TODO: autocompletions?
# TODO: ctrl-r history fzf
# TODO: ctrl-p files fzf
# TODO: forever history ignoring certain commands
# TODO: per-env configuration
source $DOTFILES_PATH/apps/shell/fish/key-bindings.fish
source $DOTFILES_PATH/apps/shell/fish/colors.fish
source $DOTFILES_PATH/apps/shell/fish/prompt.fish
source $DOTFILES_PATH/apps/shell/fish/aliases.fish
set -U _JAVA_AWT_WM_NONREPARENTING 1
set -U LS_COLORS 'ow=01;36;40'
set -U LESS -x2 # less tab size of 2 spaces
set -U TERMINAL urxvtc
set -U BROWSER firefox-developer-edition
set -U ERL_AFLAGS "-kernel shell_history enabled -kernel shell_history_file_bytes 1024000" # iex history
# set our EDITOR to neovim if we've got it
set -U EDITOR vim
if command -v nvim 2>&1 >/dev/null
alias vim nvim
alias ovim 'command vim'
set -U EDITOR nvim
end
_make_paths
command -v fd 2>&1 >/dev/null && set -U FZF_DEFAULT_COMMAND 'fd --type f --hidden --follow --exclude .git'
# we assume the user uses "$HOME" to just store their mess of dotfiles and other
# nonsense that clutters it up and that they have a preferred starting
# directory where they keep the stuff they actually care about
# we only do this if the user is opening a shell at $HOME
test $PWD = $HOME && cd $NICE_HOME || cd || exit
test -f ~/.fzf/shell/key-bindings.fish && source ~/.fzf/shell/key-bindings.fish
if test -d $HOME/.asdf/; and test -f $HOME/.asdf/asdf.sh
source $HOME/.asdf/asdf.sh
else if test -d /opt/asdf-vm/; and test -f /opt/asdf-vm/asdf.sh
source $HOME/opt/asdf-vm/asdf.sh
end