.zshrc
1#-----------------------------------------------------------------------------
2# FUNCTIONS
3#-----------------------------------------------------------------------------
4
5function fork_journal() {
6 sudo systemctl start "${1}.service" &;
7 sudo journalctl -f -u "${1}.service"
8}
9
10#-----------------------------------------------------------------------------
11# KEYBINDINGS
12#-----------------------------------------------------------------------------
13bindkey -v
14bindkey "^[[1~" beginning-of-line
15bindkey "^[[4~" end-of-line
16
17#-----------------------------------------------------------------------------
18# ENVIRONMENT VARS
19#-----------------------------------------------------------------------------
20export PAGER="less -X"
21export MANWIDTH="80"
22export MANROFFOPT="-c"
23export MANPAGER="less -X"
24export EDITOR="nvim"
25
26HISTFILE="/home/jas/.zsh_history"
27HISTSIZE=100000
28SAVEHIST=65536
29setopt appendhistory
30setopt sharehistory
31
32# Have less display colors
33export LESS_TERMCAP_mb=$'\e[1;31m'
34export LESS_TERMCAP_md=$'\e[1;34m'
35export LESS_TERMCAP_so=$'\e[01;0;33m'
36export LESS_TERMCAP_us=$'\e[01;31m'
37export LESS_TERMCAP_me=$'\e[0m'
38export LESS_TERMCAP_se=$'\e[0m'
39export LESS_TERMCAP_ue=$'\e[0m'
40export GROFF_NO_SGR=1
41
42export LANG="en_US.UTF-8"
43export MANPATH="${MANPATH:-/usr/share/man:/usr/local/share/man}"
44export PATH="${HOME}/bin:${HOME}/.local/bin:${PATH}"
45
46#-----------------------------------------------------------------------------
47# ALIASES
48#-----------------------------------------------------------------------------
49
50# Aliases for APT
51if [ -e "/etc/debian_version" ]; then
52 alias acs="sudo apt-cache search"
53 alias acp="sudo apt-cache policy"
54 alias afs="sudo apt-file search"
55 alias afu="sudo apt-file update"
56 alias aac="sudo apt autoclean"
57 alias agc="sudo apt clean"
58 alias agi="sudo apt install"
59 alias agli="sudo apt list --installed"
60 alias agp="sudo apt purge"
61 alias agr="sudo apt remove"
62 alias agu="sudo apt update"
63 alias agud="sudo apt update && sudo apt dist-upgrade"
64 alias agar="sudo apt autoremove"
65fi
66
67# Aliases for DNF
68if [ -e "/etc/redhat-release" ]; then
69 alias dnfi="sudo dnf install"
70 alias dnfu="sudo dnf update"
71 alias dnfr="sudo dnf remove"
72 alias dnfs="sudo dnf search"
73fi
74
75# The ls family
76alias ls='ls --color=auto'
77alias l='ls -lFhg'
78alias la='ls -A'
79alias ll='ls -l'
80alias lal='ls -lA'
81alias ldot='ls -gld .*'
82
83# greps
84alias grep='grep --color'
85
86# Prompt user before overwriting files
87alias cp='cp -i'
88alias mv='mv -i'
89alias rm='rm -i'
90
91# Get public IP address
92alias pubip='curl -m 5 ipv4.icanhazip.com'
93
94# List apps with network connections
95alias netcons='lsof -i'
96
97# List ports
98alias tulp='ss -tulp'
99
100# List open ports
101alias openports='sudo lsof -i | grep LISTEN'
102
103# Ping google.com
104alias pong='ping -c 3 www.google.com'
105
106# List sockets in use
107alias lsock='sudo lsof -i -P'
108
109# List UDP sockets in use
110alias lsocku='sudo lsof -nP | grep UDP'
111
112# List TCP sockets in use
113alias lsockt='sudo lsof -nP | grep TCP'
114
115# firewalld
116if test -x "$(command -v firewall-cmd)"; then
117 alias fw='sudo firewall-cmd'
118 alias fwp='sudo firewall-cmd --permanent'
119 alias fwr='sudo firewall-cmd --reload'
120 alias fwrp='sudo firewall-cmd --runtime-to-permanent'
121 alias fw-info-pub='sudo firewall-cmd --info-zone=public'
122 alias fw-info-tn='sudo firewall-cmd --info-zone=tailnet'
123 alias fw-info-in='sudo firewall-cmd --info-zone=internal'
124 alias fwp-pub='sudo firewall-cmd --permanent --zone=public'
125 alias fwp-tn='sudo firewall-cmd --permanent --zone=tailnet'
126 alias fwp-in='sudo firewall-cmd --permanent --zone=internal'
127fi
128
129# git
130alias ga='git add'
131alias gcl='git clone'
132alias gcmsg='git commit -m'
133alias gd='git diff'
134alias gl='git pull'
135alias gp='git push'
136alias gr='git remote'
137alias grbi='git rebase -i'
138alias grm='git rm'
139alias grv='git remote -v'
140alias gst='git status'
141
142# systemd
143alias sc-cat='systemctl cat'
144alias sc-daemon-reexec='sudo systemctl daemon-reexec'
145alias sc-daemon-reload='sudo systemctl daemon-reload'
146alias sc-disable='sudo systemctl disable'
147alias sc-disable-now='sudo systemctl disable --now'
148alias sc-edit='sudo systemctl edit'
149alias sc-enable='sudo systemctl enable'
150alias sc-enable-now='sudo systemctl enable --now'
151alias sc-help='systemctl help'
152alias sc-is-active='systemctl is-active'
153alias sc-is-enabled='systemctl is-enabled'
154alias sc-is-failed='systemctl is-failed'
155alias sc-list-deps='systemctl list-dependencies'
156alias sc-list-jobs='systemctl list-jobs'
157alias sc-list-machines='systemctl list-machines'
158alias sc-list-sockets='systemctl list-sockets'
159alias sc-list-timers='systemctl list-timers'
160alias sc-list-unit-files='systemctl list-unit-files'
161alias sc-list-units='systemctl list-units'
162alias sc-list-svc='systemctl list-units --type=service'
163alias sc-load='sudo systemctl load'
164alias sc-mask='sudo systemctl mask'
165alias sc-poweroff='sudo systemctl poweroff'
166alias sc-reboot='sudo systemctl reboot'
167alias sc-reload='sudo systemctl reload'
168alias sc-restart='sudo systemctl restart'
169alias sc-start='sudo systemctl start'
170alias sc-stop='sudo systemctl stop'
171alias sc-status='sudo systemctl status'
172alias sc-unmask='sudo systemctl unmask'
173alias scu-cat='systemctl --user cat'
174alias scu-daemon-reexec='systemctl --user daemon-reexec'
175alias scu-daemon-reload='systemctl --user daemon-reload'
176alias scu-disable='systemctl --user disable'
177alias scu-disable-now='systemctl --user disable --now'
178alias scu-edit='systemctl --user edit'
179alias scu-enable='systemctl --user enable'
180alias scu-enable-now='systemctl --user enable --now'
181alias scu-help='systemctl --user help'
182alias scu-is-active='systemctl --user is-active'
183alias scu-is-enabled='systemctl --user is-enabled'
184alias scu-is-failed='systemctl --user is-failed'
185alias scu-list-deps='systemctl --user list-dependencies'
186alias scu-list-jobs='systemctl --user list-jobs'
187alias scu-list-machines='systemctl --user list-machines'
188alias scu-list-sockets='systemctl --user list-sockets'
189alias scu-list-timers='systemctl --user list-timers'
190alias scu-list-unit-files='systemctl --user list-unit-files'
191alias scu-list-units='systemctl --user list-units'
192alias scu-list-svc='systemctl --user list-units --type=service'
193alias scu-load='systemctl --user load'
194alias scu-mask='systemctl --user mask'
195alias scu-reload='systemctl --user reload'
196alias scu-restart='systemctl --user restart'
197alias scu-show='systemctl --user show'
198alias scu-start='systemctl --user start'
199alias scu-stop='systemctl --user stop'
200alias scu-status='systemctl --user status'
201alias scu-unmask='systemctl --user unmask'
202alias jc-f='sudo journalctl -f'
203alias jc-fu='sudo journalctl -f -u'
204alias jc-xeu='sudo journalctl -xeu'
205alias jcu-f='journalctl --user -f'
206alias jcu-fu='journalctl --user -f -u'
207alias jcu-xeu='journalctl --user -xeu'
208
209# cd to ~ and clear screen
210alias rsrc='cd "${HOME}"/ && clear'
211
212# zsh-autosuggestions
213source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
214
215# zsh-syntax-highlighting
216source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
217
218# fzf
219eval "$(fzf --zsh)"
220
221# starship.rs
222eval "$(starship init zsh)"
223
224# display quickinfo
225if [ -f "${HOME}/bin/quickinfo" ]; then
226 quickinfo
227fi
228
229# vim: sw=4 sts=4 ts=4 ai et ft=zsh