-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.fish
74 lines (60 loc) · 2.02 KB
/
config.fish
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Disable greeting
set fish_greeting
# vi-like keybinds
fish_vi_key_bindings
# Exported variables
## Explicitly define XDG defaults that are used below
set -x XDG_BIN_HOME ~/.local/bin/
set -x XDG_CACHE_HOME ~/.cache/
set -x XDG_CONFIG_HOME ~/.config/
set -x XDG_DATA_HOME ~/.local/share/
## Respect XDG
set -x CARGO_HOME "$XDG_DATA_HOME/cargo"
set -x DOCKER_CONFIG "$XDG_CONFIG_HOME/docker"
set -x GHCUP_USE_XDG_DIRS true
set -x GOPATH "$XDG_DATA_HOME/go"
set -x GNUPGHOME "$XDG_CONFIG_HOME/gnupg/"
set -x GRADLE_USER_HOME "$XDG_DATA_HOME/gradle/"
set -x HISTFILE "$XDG_DATA_HOME/bash/history"
set -x LESSHISTFILE "$XDG_DATA_HOME/less/history"
set -x NODE_REPL_HISTORY "$XDG_DATA_HOME/node/history"
set -x PASSWORD_STORE_DIR "/home/sam/.local/share/pass"
set -x RUSTUP_HOME "$XDG_DATA_HOME/rustup/"
set -x STACK_ROOT "$XDG_DATA_HOME/stack/"
set -x SQLITE_HISTORY "$XDG_DATA_HOME/sqlite/history"
set -x TS_NODE_HISTORY "$XDG_DATA_HOME/ts-node/history"
set -x WINEPREFIX "$XDG_DATA_HOME/wine/pfx/default/"
set -x XAUTHORITY "$XDG_RUNTIME_DIR/Xauthority"
set -x XINITRC "$XDG_CONFIG_HOME/init"
## Use nvim as editor wherever possible
set -x VISUAL nvim
set -x EDITOR $VISUAL
## Use nvim for man pages
set -x MANPAGER nvim +Man!
## Inform shell environment of preexisting ssh-agent socket
set -x SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket"
## Use rootless Docker socket
set -x DOCKER_HOST "unix://$XDG_RUNTIME_DIR/docker.sock"
# Sync colorscheme
source "$XDG_CACHE_HOME/wal/colors.fish"
# Extend PATH for XDG & Cabal (which doesn't yet respect XDG)
fish_add_path "$XDG_BIN_HOME"
fish_add_path ~/.cabal/bin/
# Command drop-in replacement aliases
abbr -g vi 'nvim'
abbr -g top 'gotop'
abbr -g mpc 'vimpc'
# Arch package management-specific aliases
abbr -g in 'sudo pacman -S'
abbr -g ina 'paru -S'
abbr -g up 'sudo pacman -Syu'
abbr -g upa 'paru -Sau'
abbr -g un 'sudo pacman -Rs'
# Misc/specific aliases
abbr -g sys 'systemctl'
abbr -g sysu 'systemctl --user'
# Create directory path and cd into it
function mkcd
mkdir -p $argv;
cd $argv;
end