add laptop configs

This commit is contained in:
Simon Belmont 2025-03-24 13:00:20 -04:00
parent 9b8dd017d8
commit 47fac581ee
46 changed files with 3332 additions and 0 deletions

300
dot-files-laptop/.zshrc Normal file
View file

@ -0,0 +1,300 @@
# ┌───────────────────────────────────────────────────┐
# │ ██████╗ ███████╗████████╗███████╗██████╗ ███████╗ │
# │ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔══██╗██╔════╝ │
# │ ██████╔╝█████╗ ██║ █████╗ ██████╔╝███████╗ │
# │ ██╔═══╝ ██╔══╝ ██║ ██╔══╝ ██╔══██╗╚════██║ │
# │ ██║ ███████╗ ██║ ███████╗██║ ██║███████║ │
# │ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝ │
# ├───────────────────────────────────────────────────┤
# │ no good, total trash and possibly broken ~/.zshrc │
# ├───────────────────────────────────────────────────┤
# │ Anime traps and dank memes, one command away! │
# │---------------------------------------------------│
# │ https://gitlab.com/putridpete/dot-files │
# └───────────────────────────────────────────────────┘
# 1. Autoload
autoload -Uz compinit history-substring-search-up history-substring-search-down bracketed-paste-url-magic && compinit
zstyle ':completion:*' menu select # Auto completion
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zle -N bracketed-paste bracketed-paste-url-magic # autoquote urls
# 2. Auto correction
setopt CORRECT
# 3. History search
zle -N history-substring-search-up
zle -N history-substring-search-down
# 4. History settings
export HISTFILE="$HOME/.zsh_history"
export HISTSIZE=10000
export SAVEHIST=10000
setopt EXTENDED_HISTORY
setopt INC_APPEND_HISTORY
HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND=true
# 5. Git repository
alias config='/usr/bin/git --git-dir=$HOME/dot-files/.git/ --work-tree=$HOME'
# 6. Starship
eval "$(starship init zsh)"
# 7. nnn variables
BLK="04" CHR="04" DIR="04" EXE="00" REG="00" HARDLINK="00" SYMLINK="06" MISSING="00" ORPHAN="01" FIFO="0F" SOCK="0F" OTHER="02"
export NNN_FCOLORS="$BLK$CHR$DIR$EXE$REG$HARDLINK$SYMLINK$MISSING$ORPHAN$FIFO$SOCK$OTHER" NNN_COLORS="2345"
export NNN_TRASH=1
export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$"
export NNN_PLUG='p:preview-tui;c:x2sel'
export SPLIT='h'
export NNN_FIFO='/tmp/nnn.fifo'
export NNN_BMS='d:~/Downloads/;u:~/;n:~/Nextcloud;w:~/Nextcloud/Notes;c:~/.config;r:/run/media;a:~/Downloads/AUR;!:~/.bin/sh;t:~/.local/share/Trash/files;y:/media/NFS'
export VISUAL='vim'
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# 8. Aliases
# 8.1 zsh aliases
alias ls='nnn -deUxH'
alias aurdir='cd ~/Downloads/AUR'
alias gitdir='cd ~/Downloads/git'
alias notesdir='cd ~/Nextcloud/Notes'
alias mv='mv -i'
alias cp='cp -i'
alias rm='rm -i'
alias ..='cd ..'
alias ...='cd ../..'
alias visudo='sudo EDITOR=vim visudo'
export EDITOR=vim
# 8.2 Sway aliases
alias lock='~/.bin/sh/swaylock.sh'
alias logoff='swaymsg exit'
alias gettree='swaymsg -pt get_tree'
alias getoutputs='hyprctl monitors all'
# 8.3 System commands aliases
alias amdman='echo "manual" | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level'
alias amdhigh='echo "high" | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level'
alias gpumode='cat /sys/class/drm/card0/device/pp_power_profile_mode'
alias systemcheck='systemctl --failed && journalctl -p 3 -b;'
alias mountkf='sudo cryptsetup open /dev/disk/by-uuid/dd18906b-821e-46cc-9580-60b70ce33737 peter && sudo mount --mkdir -t ext4 /dev/mapper/peter /run/media/peter'
alias umountkf='sudo umount /run/media/peter && sudo cryptsetup close peter'
alias findfat='find ~ -xdev -type f -size +100M'
# 8.4 Kitty aliases
alias icat="kitty +kitten icat"
alias tssh="kitty +kitten ssh"
# 8.5 Misc Programs aliases
alias send='ffsend'
alias grim1='grim -t png -l 0 -o DP-1'
alias grim2='grim -t png -l 0 -o DP-2'
alias grimc='slurp | grim -g - - | wl-copy'
# 8.5 git aliases
alias gitclean='git clean -dxfi'
alias homesync='~/.bin/sh/synchomepage.sh'
# 8.6 Pacman & Auracle aliases
alias get='sudo pacman -S'
alias yap='pacman -Qq | fzf --color="border:magenta,info:green,header:green,info:yellow,hl:blue,label:magenta" --multi --preview "pacman -Qi {1}" --preview-window=up | xargs -ro sudo pacman -Rns'
alias yeet='sudo pacman -Rns'
alias kick='sudo pacman -R'
alias search='pacman -Ss'
alias spot='pacman -Qs'
alias searchaur='auracle search'
alias getaur='auracle clone'
alias listaur='pacman -Qm'
alias buildorder='auracle buildorder'
alias updateaur='auracle update && cd ~/Downloads/AUR'
alias check='pacman -Si'
alias checkaur='auracle info'
alias clear='clear && fastfetch'
alias pkgstatus='comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)'
# 8.7 Script Aliases
alias checkupdates='~/.bin/sh/checkupdates.sh'
alias update='~/.bin/sh/update.sh'
alias reboot='~/.bin/sh/reboot.sh'
alias shutdown='~/.bin/sh/shutdown.sh'
alias pkgb='~/.bin/sh/pkgb.sh'
alias build='~/.bin/sh/build.sh'
alias buildgames='~/.bin/sh/buildgames.sh'
alias deloldbins='rm -rf ~/.bin/*/old/*'
alias orphans='~/.bin/sh/orphans.sh'
alias bday='/home/peter/.bin/sh/bd.sh'
alias kap='~/.bin/sh/kap.sh'
alias lap='~/.bin/sh/lap.sh'
alias aurfzf='~/.bin/sh/aur.sh'
# 8.8 Meme aliases
alias get-waifus='mpv "https://www.youtube.com/watch?v=sr078vS8l_4"'
alias bullyme='mpv "https://www.youtube.com/watch?v=9jrO58mg-Qg"'
alias archbtw='fastfetch'
# 8.9 Newsboat aliases
alias news='~/.bin/sh/news.sh'
# 8.10 Offline Arch Wiki
alias archwiki='lynx https://wiki.archlinux.org/'
alias offlinewiki='lynx /usr/share/doc/arch-wiki/html/en'
# 9. Android tools
export PATH=${PATH}:~/platform-tools
# 10. Arch BTW
fastfetch
# 11. Dracula TTY theme
if [ "$TERM" = "linux" ]; then
printf %b '\e[40m' '\e[8]' # set default background to color 0 'dracula-bg'
printf %b '\e[37m' '\e[8]' # set default foreground to color 7 'dracula-fg'
printf %b '\e]P0282a36' # redefine 'black' as 'dracula-bg'
printf %b '\e]P86272a4' # redefine 'bright-black' as 'dracula-comment'
printf %b '\e]P1ff5555' # redefine 'red' as 'dracula-red'
printf %b '\e]P9ff7777' # redefine 'bright-red' as '#ff7777'
printf %b '\e]P250fa7b' # redefine 'green' as 'dracula-green'
printf %b '\e]PA70fa9b' # redefine 'bright-green' as '#70fa9b'
printf %b '\e]P3f1fa8c' # redefine 'brown' as 'dracula-yellow'
printf %b '\e]PBffb86c' # redefine 'bright-brown' as 'dracula-orange'
printf %b '\e]P4bd93f9' # redefine 'blue' as 'dracula-purple'
printf %b '\e]PCcfa9ff' # redefine 'bright-blue' as '#cfa9ff'
printf %b '\e]P5ff79c6' # redefine 'magenta' as 'dracula-pink'
printf %b '\e]PDff88e8' # redefine 'bright-magenta' as '#ff88e8'
printf %b '\e]P68be9fd' # redefine 'cyan' as 'dracula-cyan'
printf %b '\e]PE97e2ff' # redefine 'bright-cyan' as '#97e2ff'
printf %b '\e]P7f8f8f2' # redefine 'white' as 'dracula-fg'
printf %b '\e]PFffffff' # redefine 'bright-white' as '#ffffff'
clear
fi
# 12. FZF dracula theme
export FZF_DEFAULT_OPTS='--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4'
# 13. Dracula Theme for zsh-syntax-highlighting
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor)
typeset -gA ZSH_HIGHLIGHT_STYLES
## 13.1 General
### 13.2 Diffs
### 13.3 Markup
## 13.4 Classes
## 13.5 Comments
ZSH_HIGHLIGHT_STYLES[comment]='fg=#6272A4'
## 13.6 Constants
## 13.7 Entitites
## 13.8 Functions/methods
ZSH_HIGHLIGHT_STYLES[alias]='fg=#50FA7B'
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#50FA7B'
ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#50FA7B'
ZSH_HIGHLIGHT_STYLES[function]='fg=#50FA7B'
ZSH_HIGHLIGHT_STYLES[command]='fg=#50FA7B'
ZSH_HIGHLIGHT_STYLES[precommand]='fg=#50FA7B,italic'
ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#FFB86C,italic'
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#FFB86C'
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#FFB86C'
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#BD93F9'
## 13.9 Keywords
## 13.10 Built ins
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#8BE9FD'
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#8BE9FD'
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#8BE9FD'
## 13.11 Punctuation
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#FF79C6'
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#FF79C6'
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#FF79C6'
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#FF79C6'
## 13.12 Serializable / Configuration Languages
## 13.14 Storage
## 13.15 Strings
ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#F1FA8C'
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#F1FA8C'
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#F1FA8C'
ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#FF5555'
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#F1FA8C'
ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#FF5555'
ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#F1FA8C'
## 13.16 Variables
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#FF5555'
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[assign]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#F8F8F2'
## 13.17 No category relevant in spec
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#FF5555'
ZSH_HIGHLIGHT_STYLES[path]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#FF79C6'
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#FF79C6'
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#BD93F9'
#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?'
#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?'
#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?'
#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?'
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#FF5555'
ZSH_HIGHLIGHT_STYLES[redirection]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[arg0]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[default]='fg=#F8F8F2'
ZSH_HIGHLIGHT_STYLES[cursor]='standout'
# 14. Source plugins
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# 15. Keybinds
bindkey -v '^?' backward-delete-char # Vi keybindings like God intended
bindkey "\e[3~" delete-char
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down