dotfiles/lina/.zshrc
2025-08-24 13:05:25 +03:30

116 lines
4.2 KiB
Bash

setxkbmap -option caps:escape
################################################################
## ZSH CONFIGURATIONS
HISTFILE=~/.zshhist # Save history file
HISTSIZE=2048 # Save history zsh max lines
SAVEHIST=4096 # Save history file max lines
setopt autocd # Automatically change directory if only a path was provided
unsetopt beep notify # No bells!
bindkey -v # Use VI Keybindings
PROMPT="%F{green}%n@%m%f %~ $ " # The prompt
################################################################
## EXPORTS
export PATH="${PATH}:/home/light/.local/bin:/home/light/scripts/:/opt/cuda/bin:/home/light/dev/meshoptimizer"
export LC_ALL="C"
export CC="/usr/bin/clang"
export CXX="/usr/bin/clang++"
export CPM_SOURCE_CACHE="${HOME}/.cache/CPM"
export GTEST_COLOR="yes"
export GPG_TTY=$(tty)
# pnpm
export PNPM_HOME="/home/light/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
################################################################
## ALIASES
alias v='nvim'
alias wifi='sudo wpa_supplicant -B -i wlp0s20f3 -c /home/light/.config/wpa_configs/home_wifi'
alias icat='kitty +kitten icat'
alias cat='bat'
alias zsrc='source ~/.zshrc'
alias clip="xclip -selection c"
alias val='valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt'
alias q='exit'
alias pirate='aria2c --seed-time=0 --split=8'
# alias ryali='ssh root@5.75.207.117' # old ryali :(
alias ryali='ssh light@5.75.206.84'
alias l='\eza --icons --sort type -TL1'
alias la='\eza --icons --sort type -T1' # all
alias ~="c ~"
alias ..='c ../'
alias ...='c ../../'
alias ....='c ../../../'
alias .....='c ../../../../'
alias ......='c ../../../../../'
alias gs='cgs'
alias trans='xprop -format _NET_WM_WINDOW_OPACITY 32c -set _NET_WM_WINDOW_OPACITY 0xEFFFFFFF'
c () { cd ${1:-.} ; clear ; l }
ca () { cd ${1:-.} ; clear ; la }
cn () { cd ${1:-.} ; clear ; hyfetch }
cgs() { cd ${1:-.} ; clear ; git status }
picomadd() { sed -i '/# OPACITY_RULE/i ,"100:name *= '\'$1\''"' ~/.config/picom/picom.conf }
################################################################
## UTILITIES
activate()
{
if [[ "$1" == "light" ]]; then
source ${HOME}/dev/python_envs/light/bin/activate #Python
source ${HOME}/dev/1.4.321.1/setup-env.sh # Vulkan
PROMPT="%F{green}%n@%m%f %~ $ "
clear
echo "Environments applied for project: light"
else
zsrc
clear
echo "Unknown environment"
exit 1
fi
echo "Please remember to not keep multiple environments active at the same time"
}
jade() # Jade is the name of the lofi girl
{
radio=""
case "$1" in
# Lofi girl radios... (https://www.youtube.com/@LofiGirl)
lofi) radio='https://www.youtube.com/watch?v=jfKfPfyJRdk' ;;
sad) radio='https://www.youtube.com/watch?v=P6Segk8cr-c' ;;
asian) radio='https://www.youtube.com/watch?v=Na0w3Mz46GA' ;;
dark) radio='https://www.youtube.com/watch?v=S_MOd40zlYU' ;;
synth) radio='https://www.youtube.com/watch?v=4xDzrJKXOOY' ;;
medieval) radio='https://www.youtube.com/watch?v=IxPANmjPaek' ;;
sleep_ambient) radio='https://www.youtube.com/watch?v=xORCbIptqcc' ;;
sleep_lofi) radio='https://www.youtube.com/watch?v=28KRPhVzCus' ;;
summer) radio='https://www.youtube.com/watch?v=SXySxLgCV-8' ;;
guitar) radio='https://www.youtube.com/watch?v=E_XmwjgRLz8' ;;
piano) radio='https://www.youtube.com/watch?v=TtkFsfOP9QI' ;;
rain) radio='https://www.youtube.com/watch?v=-OekvEFm1lo' ;;
jazz) radio='https://www.youtube.com/watch?v=HuFYqnbVbzY' ;;
sunday) radio='https://www.youtube.com/watch?v=uFlzUaisbig' ;;
sunday) radio='https://www.youtube.com/watch?v=uFlzUaisbig' ;;
# Game Chops (https://www.youtube.com/@gamechops)
game) radio='https://www.youtube.com/watch?v=0cQN5okmPmY' ;;
*)
echo 'Invalid radio name :('
return 1
esac
echo "Playing ${input} radio, target url: ${radio}..."
mpv --no-video $radio
}
clear ; hyfetch