{ config, pkgs, ... }: { programs.fish = { enable = true; interactiveShellInit = "fish_add_path ${config.xdg.dataHome}/npm/packages/bin"; shellInit = '' set -gx EDITOR "nvim" set -gx VISUAL "nvim" function fish_greeting; end function startrloft --description 'Starts R with custom environment' set -lx R_ENVIRON_USER "~/.config/rloft/RLoft_environ" R -q end function vd --wraps vim --description 'vim with date in filename' nvim (ymd)_$argv.md end function lipsum --description 'Create placeholder text' nix-shell -p perl536Packages.TextLorem --run 'lorem '(echo $argv) end set -U fish_prompt_pwd_dir_length 0 function fish_prompt --description "Write out the prompt" echo -s (set_color brblack) (basename $PWD) (set_color normal) (set_color magenta) ' $ ' (set_color normal) end function fish_right_prompt --description "Display info to the right of the prompt" echo -s (__fish_git_prompt) end function fish_mode_prompt; end set fish_cursor_default line blink set __fish_git_prompt_showdirtystate 'yes' set __fish_git_prompt_showstashstate 'yes' set __fish_git_prompt_showuntrackedfiles 'yes' set __fish_git_prompt_showupstream 'yes' set __fish_git_prompt_color_upstream_ahead green set __fish_git_prompt_color_upstream_behind red set __fish_git_prompt_char_dirtystate '*' set __fish_git_prompt_char_stagedstate '→' set __fish_git_prompt_char_untrackedfiles '☡' set __fish_git_prompt_char_stashstate '↩' set __fish_git_prompt_char_upstream_ahead '+' set __fish_git_prompt_char_upstream_behind '-' ''; }; }