forked from FelixKratz/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
82 lines (66 loc) · 2.73 KB
/
.zshrc
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
74
75
76
77
78
79
80
81
82
# Source zsh plugins
source $HOME/.config/.zsh-vi-mode/zsh-vi-mode.plugin.zsh
[ -d "/opt/homebrew/share/zsh-autosuggestions/" ] && source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh \
|| source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
[ -d "/opt/homebrew/share/zsh-syntax-highlighting/highlighters" ] && export ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR=/opt/homebrew/share/zsh-syntax-highlighting/highlighters \
|| export ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR=/usr/local/share/zsh-syntax-highlighting/highlighters
[ -d "/opt/homebrew/share/zsh-autosuggestions/" ] && source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \
|| source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Aliases for common dirs
alias home="cd ~"
# System Aliases
alias ..="cd .."
# Git Aliases
alias add="git add"
alias commit="git commit"
alias pull="git pull"
alias stat="git status"
alias gdiff="git diff HEAD"
alias vdiff="git difftool HEAD"
alias log="git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
alias cfg="git --git-dir=$HOME/dotfiles/ --work-tree=$HOME"
alias push="git push"
alias g="lazygit"
eval "$(starship init zsh)"
alias ssh="TERM=xterm-256color ssh"
# Sketchybar interactivity overloads
function brew() {
command brew "$@"
if [[ $* =~ "upgrade" ]] || [[ $* =~ "update" ]] || [[ $* =~ "outdated" ]]; then
sketchybar --trigger brew_update
fi
}
alias n="nnn"
function nnn () {
command nnn "$@"
if [ -f "$NNN_TMPFILE" ]; then
. "$NNN_TMPFILE"
fi
}
# Fancy sketchybar commands
function margin () {
if [ $1 = "on" ]; then
yabai -m config top_padding 20
sketchybar --animate sin 30 --bar margin=10 y_offset=10 corner_radius=9
else
yabai -m config top_padding 10
sketchybar --animate sin 30 --bar margin=0 y_offset=0 corner_radius=0
fi
}
function zen () {
~/.config/sketchybar/plugins/zen.sh $1
}
function suyabai () {
SHA256=$(shasum -a 256 /opt/homebrew/bin/yabai | awk "{print \$1;}")
if [ -f "/private/etc/sudoers.d/yabai" ]; then
sudo sed -i '' -e 's/sha256:[[:alnum:]]*/sha256:'${SHA256}'/' /private/etc/sudoers.d/yabai
else
echo "sudoers file does not exist yet"
fi
}
# Only load conda into path but dont actually use the bloat that comes with it
export PATH="$HOME/miniforge3/bin:/usr/local/anaconda3/bin:$PATH"
export NNN_TMPFILE="$HOME/.config/nnn/.lastd"
export EDITOR="$(which nvim)"
export VISUAL="$HOME/.config/nnn/plugins/selnew.sh"
export XDG_CONFIG_HOME="$HOME/.config"