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

75 lines
2.5 KiB
Fish
Raw Normal View History

2020-01-17 03:02:53 -06:00
#!/usr/bin/env fish
2020-01-22 17:25:47 -06:00
set -Ux XDG_CONFIG_HOME $HOME/.config
2020-11-06 00:31:43 -06:00
set -Ux DOTFILES_PATH $XDG_CONFIG_HOME/lytedev-dotfiles
2020-01-22 17:25:47 -06:00
set -Ux ENV_PATH $HOME/.env
2020-01-17 03:02:53 -06:00
2020-01-16 17:01:59 -06:00
source $DOTFILES_PATH/apps/shell/fish/paths.fish
2020-11-20 21:40:10 -06:00
source $DOTFILES_PATH/apps/nnn/config.fish
2020-01-16 17:01:59 -06:00
status --is-interactive || exit
2020-01-20 14:01:06 -06:00
for f in key-bindings colors prompt aliases
source $DOTFILES_PATH/apps/shell/fish/$f.fish
end
2020-01-16 17:01:59 -06:00
2020-01-22 17:25:47 -06:00
set -Ux _JAVA_AWT_WM_NONREPARENTING 1
set -Ux TERMINAL kitty
set -Ux BROWSER firefox-developer-edition
set -Ux ERL_AFLAGS "-kernel shell_history enabled -kernel shell_history_file_bytes 1024000" # iex history
2020-07-02 11:17:42 -05:00
set -Ux LESS "-r"
2020-11-05 22:29:58 -06:00
set -Ux LS_COLORS 'ow=01;36;40' # more sane ls colors
set -Ux EDITOR nvim
2020-11-22 00:21:37 -06:00
set -Ux VISUAL nvim
set -Ux PAGER less
2020-11-05 22:29:58 -06:00
set -Ux MANPAGER 'env MANWIDTH="" nvim --cmd "let g:prosession_on_startup=0" +Man!'
2020-01-22 17:25:47 -06:00
2020-01-23 12:38:19 -06:00
has_command fd && set -Ux FZF_DEFAULT_COMMAND 'fd --type f --hidden --follow --exclude .git'
2020-01-20 10:49:06 -06:00
2020-01-23 12:38:19 -06:00
test -f ~/.fzf/shell/key-bindings.fish && source ~/.fzf/shell/key-bindings.fish
2020-01-16 17:01:59 -06:00
2020-11-22 00:21:37 -06:00
function fish_greeting;
set_color -b black brblack
printf "%s@%s %s\n" $USER (hostname) (date)
2020-11-22 09:30:11 -06:00
printf "%6d processes running\n" (ps -aux | wc -l)
printf "%6sGB memory available\n" (free -g | grep '^Mem:' | tr -s ' ' | cut -d ' ' -f7)
printf "%6d PTYs open\n" (cat /proc/sys/kernel/pty/nr)
2020-11-22 00:21:37 -06:00
end
2020-01-16 17:01:59 -06:00
# 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
2020-01-20 09:12:52 -06:00
if test $PWD = $HOME; or test $PWD = $NICE_HOME;
cd $NICE_HOME || cd
end
2020-01-16 17:01:59 -06:00
if test -f $HOME/.asdf/asdf.fish
source $HOME/.asdf/asdf.fish
else if test -f /opt/asdf-vm/asdf.fish
source /opt/asdf-vm/asdf.fish
2020-01-16 17:01:59 -06:00
end
2020-01-23 12:38:19 -06:00
2020-11-05 22:29:58 -06:00
if set -q $__HM_SESS_VARS_SOURCED; and test -f $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
exec bash -c "source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh; exec fish"
end
# load a per-device, secret config last so anything can be overridden
2020-01-23 12:38:19 -06:00
for cf in config.fish .hidden/config.fish
set f $ENV_PATH/$cf
test -f $f && source $f
end
2020-11-06 00:31:43 -06:00
# TODO: completion
function src-hidden-dir
not scount $argv && echo "No directory specified" && exit 1
set f $ENV_PATH/.hidden/fish.d/$argv[1]/config.fish
echo "Checking $f..."
test -f $f && source $f
end
2020-11-22 00:21:37 -06:00
test -d $ENV_PATH/.hidden/fish.d && \
complete --command src-hidden-dir -a \
"(pushd $NICE_HOME && fd . $ENV_PATH/.hidden/fish.d/ --max-depth 1 --min-depth 1 -x ls -p && popd)"
2020-11-06 00:31:43 -06:00
2020-01-23 12:38:19 -06:00
mkdir -p $NOTES_PATH $USER_LOGS_PATH $SCROTS_PATH