dotfiles/.config/fish/config.fish

238 lines
5.4 KiB
Fish
Raw Normal View History

2025-01-16 15:08:57 +00:00
switch (uname)
case FreeBSD NetBSD DragonFly
echo Hi Beastie!
case Linux
#echo Hi Tux!
fish_vi_key_bindings
set ID (id -u)
# Start tmux
if not set -q TMUX; and [ $ID != 0 ]
echo "Setting tmux"
#set -g TMUX tmux new-session -d -s base
#eval $TMUX
#tmux attach-session -d -t base
eval tmux
end
# PATH
# Local PATH
fish_add_path -a $HOME/.local/bin
# Mason PATH
fish_add_path -a $HOME/.local/share/nvim/mason/bin
# sbin PATH
fish_add_path -a /sbin
fish_add_path -a /usr/sbin
# Rust
fish_add_path -a /usr/local/share/cargo/bin
# Android
fish_add_path -a /usr/share/android-tools
# rocm
fish_add_path -a /opt/rocm/bin
# Java
#fish_add_path -a /usr/local/jdk-21/bin
# Ltex-LS
#fish_add_path -a /usr/local/share/ltex-ls-16.0.0/bin
# pyenv
set -x PYENV_ROOT /usr/share/pyenv
fish_add_path -a $PYENV_ROOT/bin
pyenv init - fish | source
status --is-interactive; and pyenv virtualenv-init - | source
# Zig
fish_add_path -a /usr/share/zig
# VARIABLES
# For Torch
set -gx HSA_OVERRIDE_GFX_VERSION '10.3.0'
# bat
set -x BAT_THEME 'tokyonight_night'
# Rust
set -gx CARGO_HOME '/usr/local/share/cargo'
# ssh and gpg
set -x GPG_TTY (tty)
set -x SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
gpg-connect-agent updatestartuptty /bye > /dev/null
# Editor
set -gx EDITOR 'nvim'
# Manpager
#set -gx PAGER 'nvim +Man!'
# Term for ssh
#set -gx TERM 'xterm-256color'
# fzf
set -x FZF_CTRL_T_OPTS "--preview 'bat -n --color=always --line-range :500 {}'"
set -x FZF_ALT_C_OPTS "--preview 'eza --tree --color=always {} | head 200'"
# ALIAS
# convinience
alias doas="sudo"
# Neovim
alias vi="nvim"
alias vim="nvim"
# cat
alias cat="bat"
# ls
alias ls="eza --color=always --long --git --icons=always --group"
# mutt
#alias mutt='neomutt'
# rsync
alias rsync='rsync -h -v -r -P -p -t --stats'
# wget folder
alias wget_f='wget -r -np -R "index.html*"'
# btop
alias top='btop'
# fzf
fzf --fish | source
# git signed
function git --wraps git
switch $argv[1]
case commit
/usr/bin/git commit -S
case tag
/usr/bin/git tag -S
case '*'
/usr/bin/git $argv
end
end
case Darwin
#echo Hi Hexley!
fish_vi_key_bindings
set ID (id -u)
## Start tmux
#if not set -q TMUX; and [ $ID != 0 ]
# echo "Setting tmux"
# set -g TMUX tmux new-session -d -s base
# eval $TMUX
# tmux attach-session -d -t base
#end
# PATH
# Homebrew
fish_add_path -a /opt/homebrew/bin
fish_add_path -a /opt/homebrew/sbin
# Local PATH
fish_add_path -a $HOME/.local/bin
# Mason PATH
fish_add_path -a $HOME/.local/share/nvim/mason/bin
# Java
fish_add_path -a /opt/homebrew/Cellar/openjdk/23.0.1/bin
# Ruby
fish_add_path -a /opt/homebrew/opt/ruby/bin
fish_add_path -a /opt/homebrew/lib/ruby/gems/3.4.0/bin
# Zig
fish_add_path -a /opt/zig
# pyenv
set -x PYENV_ROOT "$HOME/.pyenv"
fish_add_path -a $PYENV_ROOT/bin
pyenv init - | source
status --is-interactive; and pyenv virtualenv-init - | source
# VARIABLES
if [ $ID != 0 ]
# ssh and gpg
set -x GPG_TTY (tty)
set -x SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
gpg-connect-agent updatestartuptty /bye > /dev/null
end
# Editor
set -x EDITOR 'nvim'
# Manpager
set -x PAGER 'nvim +Man!'
# Term for ssh
#export TERM='xterm-256color'
# Homebrew
set -x HOMEBREW_NO_AUTO_UPDATE 1
set -x HOMEBREW_NO_ENV_HINTS 1
# DBUS for zathura
#export DBUS_LAUNCHD_SESSION_BUS_SOCKET=/tmp/(id -u)
#export DBUS_SESSION_BUS_ADDRESS='unix:path='$DBUS_LAUNCHD_SESSION_BUS_SOCKET
#if pgrep -x dbus-daemon &> /dev/null
# printf (_ "%sdbus-daemon%s is running\n") (set_color red) (set_color normal)
#else
# #echo "dbus-daemon is not running"
# dbus-daemon --fork --session --address=$DBUS_SESSION_BUS_ADDRESS
#end
# ALIAS
# convinience
alias doas='sudo'
# ls
alias ls='colorls'
# neovim
alias vi='nvim'
alias vim='nvim'
# mutt
#alias mutt='neomutt'
# rsync
alias rsync='rsync -h -v -r -P -p -t --stats'
# wget folder
alias wget_f='wget -r -np -R "index.html*"'
# btop
alias top='btop'
# git signed
function git --wraps git
switch $argv[1]
case commit
/usr/bin/git commit -S
case tag
/usr/bin/git tag -S
case '*'
/usr/bin/git $argv
end
end
case '*'
echo Hi, stranger!
end