pkgs: { enable = true; plugins = [ { name = "bang-bang"; src = pkgs.fetchFromGitHub { owner = "oh-my-fish"; repo = "plugin-bang-bang"; rev = "816c66d"; hash = "sha256-35xXBWCciXl4jJrFUUN5NhnHdzk6+gAxetPxXCv4pDc="; }; } ]; shellAliases = { clip = "kitty +kitten clipboard"; l = "ls -lah --hyperlink=auto"; icat = "kitty +kitten icat"; rust-musl-builder = "fish -c 'docker run --rm -it -v (pwd):/home/rust/src ekidd/rust-musl-builder cargo build --release'"; lonk = "qrencode -t utf8i"; s = "kitty +kitten ssh"; weather = "curl wttr.in/43.0844,-77.6749"; }; shellAbbrs = { unlock-rclone = "set -x RCLONE_CONFIG_PASS (pass rclone)"; ":qa" = "exit"; ":q" = "exit"; "rmount" = "rclone mount --vfs-cache-mode full --vfs-cache-max-size 8Gi"; }; shellInit = '' set -x PATH ~/.cargo/bin/ ~/go/bin ~/.local/bin ~/.gem/ruby/*/bin /var/lib/flatpak/exports/bin/ $PATH set -x KEYFILE ~/.config/void/keyfile set fish_color_command magenta set fish_color_normal white set fish_color_param ffffff set fish_color_quote blue set fish_color_redirection green set fish_color_end b4a8c8 set fish_color_comment black set fish_color_operator green set fish_color_escape yellow set fish_color_autosuggestion 91889b set fish_greeting "" # echo "You're cute and loved <3" # echo "You seriously are incredibly wonderful and you mean so much to me, you've made my life so much brighter and i never wanna let you go <3" ''; functions = { n = { description = "support nnn quit and change directory"; wraps = "nnn"; body = '' # Block nesting of nnn in subshells if test -n "$NNNLVL" if [ (expr $NNNLVL + 0) -ge 1 ] echo "nnn is already running" return end end set -x NNN_TMPFILE '.nnn.tmp' nnn $argv if test -e $NNN_TMPFILE source $NNN_TMPFILE rm $NNN_TMPFILE end ''; }; fish_prompt = '' # Theme based on Bira theme from oh-my-zsh: https://github.com/robbyrussell/oh-my-zsh/blob/master/themes/bira.zsh-theme # Some code stolen from oh-my-fish clearance theme: https://github.com/bpinto/oh-my-fish/blob/master/themes/clearance/ # Further modification by Ember, to make the colors cooler function __user_host set -l content echo -n (set_color --bold cyan) echo -n $USER@(hostname|cut -d . -f 1) (set color normal) end function __current_path echo -n (set_color --bold red) (pwd) (set_color normal) end function _git_branch_name echo (command git symbolic-ref HEAD 2> /dev/null | sed -e 's|^refs/heads/||') end function _git_is_dirty echo (command git status -s --ignore-submodules=dirty 2> /dev/null) end function __git_status if [ (_git_branch_name) ] set -l git_branch (_git_branch_name) if [ (_git_is_dirty) ] set git_info '['$git_branch"*"']' else set git_info '['$git_branch']' end echo -n (set_color white) $git_info (set_color normal) end end function fish_right_prompt set -l st $status if [ $st != 0 ]; echo (set_color red) ↵ $st(set_color normal) end end echo -n (set_color white)"╭─"(set_color normal) __user_host __current_path __git_status echo -e ''' echo (set_color white)"╰─"(set_color --bold white)"\$ "(set_color normal) ''; }; }