63 lines
2.2 KiB
Fish
63 lines
2.2 KiB
Fish
|
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
|