206 lines
6.2 KiB
Bash
206 lines
6.2 KiB
Bash
#!/bin/bash
|
|
# Binds
|
|
bind '"\C-f": forward-search-history'
|
|
bind '"\C-k": history-search-backward'
|
|
bind '"\C-j": history-search-forward'
|
|
|
|
# bind ctrl+; to enter
|
|
bind '"\e[24;5~": accept-line'
|
|
|
|
# ctrl+y to copy current command in line
|
|
kitty_copy_line() {
|
|
echo -n "$READLINE_LINE" | wl-copy
|
|
}
|
|
bind -x '"\C-y": kitty_copy_line'
|
|
|
|
|
|
# Aliases
|
|
# aliases aliases
|
|
alias aliasm='alias |comm -13 <(grep -h ^alias ~/.bashrc ~/.bash_private | sort) -'
|
|
alias aliasd='aliasm |diff -u --color ~/.bash_aliases -'
|
|
alias aliasr='unalias -a; . ~/.bashrc'
|
|
alias aliass='aliasm > ~/.bash_aliases'
|
|
|
|
# ls aliases
|
|
alias ll='ls -lah --color=auto'
|
|
alias ls='ls --color=auto'
|
|
alias sl='ls --color=auto'
|
|
alias ks='ls --color=auto'
|
|
alias l='ls --color=auto'
|
|
alias s='ls --color=auto'
|
|
|
|
# cd aliases
|
|
alias ..='cd ..'
|
|
alias ...='cd ../..'
|
|
alias ....='cd ../../..'
|
|
alias cr='cd ..'
|
|
alias cdp='cd ~/Programming'
|
|
alias cds='cd ~/services'
|
|
alias cdd='cd ~/Downloads'
|
|
alias cdt='cd ~/tmp'
|
|
alias cdn='cd ~/Documents/obsidian/Notes'
|
|
alias cda='cd /run/media/$USER/'
|
|
|
|
# rm aliases
|
|
alias rmr='rm -rf'
|
|
|
|
# grep aliases
|
|
alias grep='grep --color=auto'
|
|
alias fgrep='fgrep --color=auto'
|
|
alias egrep='egrep --color=auto'
|
|
|
|
# wm aliases
|
|
alias shy='start-hyprland'
|
|
alias hload='hyprctl reload'
|
|
alias sudo-gtk='sudo WAYLAND_DISPLAY="$WAYLAND_DISPLAY" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR"'
|
|
|
|
# edit aliases
|
|
alias cfgssh='(cd ~/.ssh && nvim .)'
|
|
alias cfghypr='(cd ~/.config/hypr && nvim .)'
|
|
alias cfgkitty='(cd ~/.config/kitty && nvim .)'
|
|
alias cfgnvim='(cd ~/.config/nvim && nvim .)'
|
|
alias cfgrofi='(cd ~/.config/rofi && nvim .)'
|
|
alias cfgwaybar='(cd ~/.config/waybar && nvim .)'
|
|
alias cfgdunst='(cd ~/.config/dunst && nvim .)'
|
|
alias cfgyazi='(cd ~/.config/yazi && nvim .)'
|
|
alias cfgfastfetch='(cd ~/.config/fastfetch && nvim .)'
|
|
alias cfgbash='(cd ~/.config/bash && nvim .)'
|
|
alias cfgtmux='(cd ~/.config/tmux && nvim .)'
|
|
alias cfgscripts='(cd ~/config-scripts && nvim .)'
|
|
alias cfgquickshell='(cd ~/.config/quickshell && nvim .)'
|
|
alias cfgxfce='(cd ~/.config/xfce4 && nvim .)'
|
|
alias cfgdriftwm='(cd ~/.config/driftwm && nvim .)'
|
|
alias script='(cd ~/scripts && nvim .)'
|
|
alias scripts='(cd ~/scripts && nvim .)'
|
|
alias notes='(cd ~/Documents/obsidian/Notes && nvim .)'
|
|
|
|
# tmp handling aliases
|
|
alias cleartmp='rm -rf ~/tmp && mkdir -p ~/tmp/daily'
|
|
alias tmp='(cd ~/tmp/daily && nvim $(date +"%Y-%m-%d-%H").md)'
|
|
alias tmpmd='(cd ~/tmp/daily && nvim $(date +"%Y-%m-%d-%H").md)'
|
|
alias tmpraw='(cd ~/tmp/daily && nvim $(date +"%Y-%m-%d-%H"))'
|
|
alias tmppy='(cd ~/tmp/daily && nvim $(date +"%Y-%m-%d-%H").py)'
|
|
alias tmppy-run='(cd ~/tmp/daily && python ./$(date +"%Y-%m-%d-%H").py)'
|
|
alias tmpsh='(cd ~/tmp/daily && nvim $(date +"%Y-%m-%d-%H").sh)'
|
|
alias tmpsh-run='(cd ~/tmp/daily && chmod +x ./$(date +"%Y-%m-%d-%H").sh && ./$(date +"%Y-%m-%d-%H").sh)'
|
|
|
|
# productivity aliases
|
|
alias sudo='sudo '
|
|
alias s='sudo '
|
|
alias profile='source ~/.bash_profile'
|
|
alias host='echo $HOSTNAME'
|
|
alias pi='ping google.com'
|
|
|
|
# modes
|
|
# rewrite "modes" to scripts
|
|
alias mode-local='cat ~/.config/nvim/lua/templates/clipboard/local-clipboard.lua > ~/.config/nvim/lua/config/clipboard.lua'
|
|
alias mode-remote='cat ~/.config/nvim/lua/templates/clipboard/remote-clipboard.lua > ~/.config/nvim/lua/config/clipboard.lua'
|
|
|
|
# wifi aliases
|
|
alias wifi-reload='nmcli r wifi off && nmcli r wifi on'
|
|
alias wifi-reload-off='nmcli r wifi off'
|
|
alias wifi-reload-on='nmcli r wifi on'
|
|
|
|
# kitty aliases
|
|
alias ssh='kitty +kitten ssh'
|
|
alias sshr='command ssh'
|
|
alias edit-in-kitty='kitten edit-in-kitty'
|
|
|
|
# yay/pacman aliases
|
|
alias pzf='yay -Qq | fzf --preview '\''yay -Qil {}'\'' --layout reverse --bind '\''enter:execute(yay -Qil {} | less)'\'' --bind '\''ctrl-r:execute(yay -R {} | less)'\'''
|
|
alias paclean='sudo pacman -Rs '
|
|
alias update='yay --noconfirm'
|
|
alias yayc='yay --editmenu'
|
|
|
|
# grep aliases
|
|
alias agrep='ps aux | grep --color'
|
|
alias g='grep --color'
|
|
|
|
# fastfetch aliases
|
|
alias fastfetch='~/.config/fastfetch/detect_os.py'
|
|
alias ff='~/.config/fastfetch/detect_os.py'
|
|
alias ffr='command fastfetch'
|
|
|
|
# curl aliases
|
|
alias post='curl -X POST -H "Content-Type: application\json"'
|
|
alias get='curl -X GET'
|
|
|
|
# docker aliases
|
|
alias docker-enable='sudo systemctl start docker.service'
|
|
alias docker-disable='sudo systemctl stop docker.service && sudo systemctl stop docker.socket'
|
|
alias docker-status='sudo systemctl status docker.service'
|
|
alias dcd='sudo docker compose down'
|
|
alias dcu='sudo docker compose up'
|
|
alias dcp='sudo docker compose pull'
|
|
alias swagger-docs='sudo host-docs'
|
|
|
|
# other utils aliases
|
|
alias x='sudo chmod +x'
|
|
alias y='yazi'
|
|
alias n='nvim .'
|
|
alias t='tmux'
|
|
alias a='abduco'
|
|
alias al='if [ -n "$A_SESSION_NAME" ]; then abduco -l | sed "s/.*$A_SESSION_NAME.*/\x1b[32m&\x1b[0m/"; else abduco -l; fi'
|
|
alias py='python'
|
|
alias pyv='python --version'
|
|
alias clipclear='cliphist wipe'
|
|
alias download='aria2c -x16 -s16'
|
|
alias scrcpy-def='scrcpy -S --no-audio -K'
|
|
alias share='python3 -m http.server'
|
|
alias globalshare='(cd ~/Share && python3 -m http.server)'
|
|
alias clearlock='faillock --user YOUR_USERNAME --reset'
|
|
|
|
|
|
# fun aliases
|
|
alias please='sudo '
|
|
alias mm='unimatrix -f -a -s 92 -l coo -c yellow'
|
|
alias mmbee='unimatrix -f -a -s 86 -u '\''bee'\'' -c yellow'
|
|
alias mmbeesquit='unimatrix -f -s 86 -u '\''beesquit'\'' -c yellow'
|
|
alias mmsnow='unimatrix -u ❄❆❅᪥𑁍⭒*❄❆❅᪥* -c white -a'
|
|
alias mute-light-disable='sudo sh -c "echo 0 > /sys/class/leds/platform::micmute/brightness"'
|
|
alias quick-info='echo "Cores: $(lscpu | awk "/Core\(s\) per socket:/ {print \$4}") | Threads: $(nproc) | RAM: $(free -h | awk "/Mem:/ {print \$2}")"'
|
|
|
|
|
|
# Functions
|
|
scannet() {
|
|
for net in "$@"; do
|
|
sudo nmap -sn "$net/24"
|
|
done
|
|
}
|
|
|
|
setos() {
|
|
if [ -z "$1" ]; then
|
|
echo "Error: Please provide a source file path."
|
|
echo "Usage: setos <source_file>"
|
|
return 1
|
|
fi
|
|
cp "$1" "$HOME/.os-release"
|
|
}
|
|
|
|
aa() {
|
|
abduco -e ^d -a "$@"
|
|
printf "\033[?1049l"
|
|
}
|
|
|
|
look-into-kitty() {
|
|
KITTY_RAW_PID="$@"
|
|
KITTY_PID="${KITTY_RAW_PID#kitty-}"
|
|
ABDUCO_PID=$(ps -ef | grep abduco | grep -v grep | grep "$KITTY_PID" | awk '{print $2}' | head -n 1)
|
|
pstree -p "$ABDUCO_PID"
|
|
}
|
|
|
|
|
|
# Imports
|
|
if [ -f "$HOME/.bash_private" ]; then
|
|
. "$HOME/.bash_private"
|
|
fi
|
|
if [ -f "$HOME/.bash_aliases" ]; then
|
|
. "$HOME/.bash_aliases"
|
|
fi
|
|
if [ -f "$HOME/.bash_prompt" ]; then
|
|
. "$HOME/.bash_prompt"
|
|
fi
|
|
if [ -f "$HOME/.multiplexer" ]; then
|
|
. "$HOME/.multiplexer"
|
|
fi
|