Browse Source

28 May 2022 21:40:01

main
Jack Foltz 1 year ago
parent
commit
6a271e05c1
No known key found for this signature in database GPG Key ID: 79C872C088D157D1
1 changed files with 161 additions and 0 deletions
  1. +161
    -0
      .config/fish/config.fish

+ 161
- 0
.config/fish/config.fish View File

@@ -0,0 +1,161 @@
#
# Setup
#
set -U fish_greeting ''
function fish_user_key_bindings
# ctrl-del
bind \e\[3\;5~ kill-word

# ctrl-backspace
bind \cH backward-kill-path-component
end

#
# Variables
#

fish_add_path ~/.local/bin
fish_add_path ~/.go/bin
fish_add_path ~/.spicetify

set -gx TERM xterm-256color
set -gx VISUAL emacsclient -c
set -gx EDITOR nvim

# Yubikey
set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
set -gx GPG_TTY (tty)
gpg-connect-agent updatestartuptty /bye >/dev/null



#
# Functions
#

# Abbreviations
abbr -a ls exa
abbr -a g git
abbr -a vim nvim

# Dotfiles management
function dots
if test (count $argv) -eq 1
if test "$argv[1]" = "ls"
dots ls-tree --full-tree -r --name-only HEAD
return
end
if test "$argv[1]" = "sync"
for f in (dots ls-files --modified)
dots add $f
end
dots commit -m "$(date +'%d %b %Y %T')"
dots push
return
end
end

git --git-dir=$HOME/.dotfiles --work-tree=$HOME $argv
end

# Reload fish configuration
function reload
. ~/.config/fish/config.fish
end

# Editor shorthand
function e
emacsclient -nc $argv[1]
end
function ez
set target (f $argv)
if test -f $target
e $target
else
return 1
end
end
function v
nvim $argv[1]
end
function vz
set target (f $argv)
if test -f $target
v $target
else
return 1
end
end

# Process Management
set ps "-ax" "-o" "pid,user,pcpu,pmem,start_time,cmd"
function pg
ps $ps | head -n1
ps $ps -h | rg -v rg | rg $argv
end
function pk
if test (count $argv) -gt 0
set pids (pg $argv | tail -n +2 | awk '{print $1}')
else
set pids (ps $ps -h | fzf -m | awk '{print $1}')
end

if test -n "$pids"
for pid in $pids
kill $pid
end
echo "Killed $(count $argv)"
else
return 1
end
end

# Archive creation
function tcz
set dir $argv[1]
tar cvfz "$dir.tar.gz" "$dir"
end
function tcj
set dir $argv[1]
tar cvfJ "$dir.tar.xz" "$dir"
end
function tx
tar xvf $argv[1]
end

# Clipboard
function clip
xclip -sel c
end



#
# Theme: Tomorrow Night Bright
#
set -U fish_color_normal normal
set -U fish_color_command c397d8
set -U fish_color_quote b9ca4a
set -U fish_color_redirection 70c0b1
set -U fish_color_end c397d8
set -U fish_color_error d54e53
set -U fish_color_param 7aa6da
set -U fish_color_comment e7c547
set -U fish_color_match --background=brblue
set -U fish_color_selection white --bold --background=brblack
set -U fish_color_search_match bryellow --background=brblack
set -U fish_color_history_current --bold
set -U fish_color_operator 00a6b2
set -U fish_color_escape 00a6b2
set -U fish_color_cwd green
set -U fish_color_cwd_root red
set -U fish_color_valid_path --underline
set -U fish_color_autosuggestion 969896
set -U fish_color_user brgreen
set -U fish_color_host normal
set -U fish_color_cancel --reverse
set -U fish_pager_color_prefix normal --bold --underline
set -U fish_pager_color_progress brwhite --background=cyan
set -U fish_pager_color_completion normal
set -U fish_pager_color_description B3A06D
set -U fish_pager_color_selected_background --background=brblack

Loading…
Cancel
Save