nix-config/.config/fish/config.fish
Donovan Glover 9b9a7b1768
Switch from base16 to pywal
pywal (also known as wal) lets us change color schemes with a cache
directory instead of editing config files directly. This helps us
separate the dotfiles from the color schemes.

This commit removes explicit color settings from my dotfiles, which are
now managed by pywal. Dunst has been added to show any notifications
that I may want to use in the future. The colors.Xresources file is used
to prevent urxvt from using a depth of 32.

My custom colors.vim file has been removed in favor of wal.vim, which
solves some problems I had to manually resolve myself and should make
things easier to maintain in the long term.

Note that pywal also supports base16 color schemes, as well as any other
color scheme you can think of.
2018-10-12 23:13:15 -04:00

84 lines
3.3 KiB
Fish

# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
set -U fish_greeting ""
export VISUAL="nvim"
export EDITOR="nvim"
export BROWSER="firefox"
export XDG_CURRENT_DESKTOP="KDE"
export QT_FONT_DPI="192"
# Use rg instead of ag / ack / grep for fzf (much faster)
export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
export FZF_DEFAULT_OPTS='--height 40% --reverse --border --color=16'
# Required to make gpg-agent work in cases like git commit
export GPG_TTY=(tty)
# Always use the default keybindings in fish
fish_default_key_bindings
# Use exa as a drop-in replacement for ls and tree (faster, more colors, etc.)
alias ls="exa --group-directories-first"
alias tree="exa --group-directories-first --long --tree -I 'node_modules|lib|.git'"
# Abbreviations are aliases that expand
if not set -q set_abbr
set -U set_abbr
abbr g "git"
abbr ga "git add"
abbr gaa "git add --all"
abbr gap "git add --patch"
abbr gb "git branch --verbose" # List all branches
abbr gc "git commit -m"
abbr gca "git commit --amend"
abbr gd "git diff" # Show all file changes not staged yet
abbr gds "git diff --staged" # Show changes staged but not committed
abbr gg "git grep"
abbr gi "git init"
abbr gl "git log --oneline --decorate --all --graph -n 10"
abbr gp "git push" # Push your commits to a remote server
abbr gs "git status"
abbr gss "git status -s"
abbr gr "git reset HEAD~" # Undo the last commit but keep changed files
abbr gre "git remote --verbose" # List all remotes
abbr grh "git reset HEAD"
abbr grr "git reset --hard HEAD~" # Remove the last commit and all changes with it
abbr t "task"
abbr ta "task add"
abbr te "task edit"
abbr tc "task completed"
abbr dl "youtube-dl"
abbr back "feh --bg-fill" # Change the background
abbr vol "amixer set 'Master'" # Change the volume, e.g. vol 10%+, vol 10%-, vol 100%
abbr copy "xclip -sel clip <" # Easily copy the contents of any file
abbr dog "pygmentize -g" # "dog" is a colorful version of cat
abbr cf "tput reset" # Clear the terminal completely
abbr c "clear" # Because 5 letters is too much
abbr e "exit"
abbr l "ls -l"
abbr f "launch feh --auto-zoom" # Easy image viewing with f
abbr z "launch zathura" # Easy document browsing with z
abbr m "launch mpv" # Easy media playing with m
abbr w "wal -o ~/.config/wal/bspwm_and_dunst.sh"
abbr T "tree"
abbr lium "launch chromium" # Launch chromium separate from the terminal
abbr lfox "launch firefox" # Launch firefox separate from the terminal
abbr nano "vim" # The explanation is in the name
abbr emacs "vim" # No need to start another operating system
end
# Start X at login
if status --is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
end