Merge branch 'arch' into gentoo

This commit is contained in:
ItsDrike 2021-07-20 23:20:28 +02:00
commit e8e2df38b8
No known key found for this signature in database
GPG key ID: B5F6B41F708C3ADD
9 changed files with 93 additions and 107 deletions

View file

@ -17,6 +17,11 @@ alias .2='cd ../../'
alias .3='cd ../../../' alias .3='cd ../../../'
alias .4='cd ../../../../' alias .4='cd ../../../../'
alias .5='cd ../../../../../' alias .5='cd ../../../../../'
# z.lua script
alias zz='z -c' # restrict matches to subdirs of $PWD
alias zb='z -b' # restrict matches to parent directories
alias zi='z -I' # cd with interactive fzf selection
alias zbi='z -b -I' # pick parent directory to cd into with fzf
# Files/Directories utilities # Files/Directories utilities
alias mkdir='mkdir -p' alias mkdir='mkdir -p'
@ -56,12 +61,13 @@ fi
# Config access shortcuts # Config access shortcuts
alias cfzsh='vim ~/.config/zsh/.zshrc' alias cfzsh='vim ~/.config/zsh/.zshrc'
alias cfvim='vim ~/.config/nvim/init.vim' alias cfnvim='vim ~/.config/nvim/init.vim'
alias cfnvim='cfvim' alias cfvim='cfnvim'
alias cfalias='vim ~/.config/shell/aliases' alias cfalias='vim ~/.config/shell/aliases'
alias cffunctions='vim ~/.config/shell/functions' alias cffunctions='vim ~/.config/shell/functions'
alias cfprofile='vim ~/.config/shell/profile' alias cfprofile='vim ~/.config/shell/profile'
alias cfxdg='cfenviron' alias cfenvironment='vim ~/.config/shell/environment'
alias cfenv='cfenvironment'
alias cfhandlers='vim ~/.config/shell/handlers' alias cfhandlers='vim ~/.config/shell/handlers'
alias cfprompt='vim ~/.config/shell/prompt' alias cfprompt='vim ~/.config/shell/prompt'
alias cfkeybinds='vim ~/.config/shell/keybinds' alias cfkeybinds='vim ~/.config/shell/keybinds'
@ -131,6 +137,11 @@ alias iptlistout='iptables -L OUTPUT -n -v --line-numbers' # OUT rules
alias iptlistfw='iptables -L FORWARD -n -v --line-numbers' # FORWARD rules alias iptlistfw='iptables -L FORWARD -n -v --line-numbers' # FORWARD rules
alias ufw-log='journalctl -f -n 100 -g ufw' # Show UFW log entries in system journal alias ufw-log='journalctl -f -n 100 -g ufw' # Show UFW log entries in system journal
# Kernel actions
alias kernel-recompile='cd /usr/src/linux && make -j7 && make -j7 modules_install && make install'
alias kernel-oldconfig='cd /usr/src/linux && make oldconfig'
alias kernel-configure='cd /usr/src/linux && make menuconfig'
# System actions # System actions
alias sv='systemctl' alias sv='systemctl'
alias backup="rsync -avHAXS --delete --filter='dir-merge /.rsync-filter'" # Make full rsync backup, respecting .rsync-filter files for exclusions alias backup="rsync -avHAXS --delete --filter='dir-merge /.rsync-filter'" # Make full rsync backup, respecting .rsync-filter files for exclusions
@ -194,36 +205,6 @@ alias gundo='git reset HEAD~'
alias gredo="git reset 'HEAD@{1}'" alias gredo="git reset 'HEAD@{1}'"
alias gundopush="git push -f origin HEAD^:master" alias gundopush="git push -f origin HEAD^:master"
# Pacman aliases (using pacman directly would be faster, but I have goldfish memory)
alias pac-pkgs='pacman -Q' # List all packages on the system
alias pac-installed-pkgs='pacman -Qe' # Only list explicitly installed packages
alias pac-aur-pkgs='pacman -Qm' # Not necessarely AUR, but generally foreign (not in sync db)
alias pac-orphan-pkgs='pacman -Qdt' # Packages without any packages that depend on them
alias pac-rm-orphans='pacman -Rns $(pacman -Qdtq)' # Remove all orphaned packages
alias pac-search='pacman -Ss' # Lookup package by name from sync database
alias pac-search-local='pacman -Qs' # Lookup package by name from local database
alias pac-info='pacman -Qi' # Show detailed info about a local package
alias pac-info-remote='pacman -Si' # Show detailed info about a package in sync db
alias pac-download-upgrades='pacman -Syyuw' # Download all upgradeable packages, but don't upgrade
alias pac-extract='pacman -Syw --cachedir .' # Download given package to current directory
alias pac-cache-clean='pacman -Sc' # Remove all old packages in pacman cache
alias pac-file-owner='pacman -F' # Look in the sync db and check what package owns given filei
alias pac-file-owner-regex='pacman -Fx' # Same as above, but works with partial names or regex patterns
alias pac-file-owner-local='pacman -Qo' # Look in the local index and find which packge given file belongs to
alias pac-owned-files='pacman -Fl' # Show all files owned by given package from sync db
alias pac-owned-files-local='pacman -Ql' # Same as above, but for locally installed packages
alias pac-count-files='pacman -Qk' # Print amount of owned files, with the amount of missing files
alias pac-group-packages='pacman -Sg' # List all packages which will be installed with a group
alias pac-group-packages-local='pacman -Qg' # Only list locally installed packages from given group
alias vuln='arch-audit' # Show vulnerable packages that can be upgraded (Arch Linux)
alias vuln-upgrade="pacman -Sy \"\$(arch-audit --upgradable --quiet | awk '{sub(/>=.+/, \"\"); print}' | paste -s -d ' ')\"" # Upgrade all vulnerable packages, with released fixes
# Get fastest mirrors (using reflector)
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/pacman.d/mirrorlist"
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
# Youtube-dl aliases # Youtube-dl aliases
alias ytv-best='youtube-dl -f bestvideo+bestaudio' alias ytv-best='youtube-dl -f bestvideo+bestaudio'
alias yta-best='youtube-dl --extract-audio --audio-format best' alias yta-best='youtube-dl --extract-audio --audio-format best'

64
home/.config/shell/environment Executable file
View file

@ -0,0 +1,64 @@
#!/usr/bin/env bash
# Environmental variable definitions.
# This file is only sourced once after login, unlike .zshrc/.bashrc
#
# NOTE: This file shouldn't be defined for root account. Sudo
# will not source it (and neither will it source .zshrc/.zprofile),
# which means the XDG definitions will be ignored anyway, and
# defining them may break programs when root is actually logged in.
# Default programs
export EDITOR="nvim"
export BROWSER="firefox"
export TERMINAL="Alacrity"
# Add all ~/.local/bin folders to PATH
PATH+=":${$(find ~/.local/bin -type d | tr '\n' ':')%%:}"
# XDG Standard paths
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_RUNTIME_DIR="/run/user/$UID"
# Pre-Application XDG settings
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
export LESSHISTFILE="-"
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
# Less commonly used applications
export _ZL_DATA="$XDG_DATA_HOME/zlua"
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history"
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
export GOPATH="$XDG_DATA_HOME/go"
export IPYTHONDIR="$XDG_CONFIG_HOME/ipython"
#export PYLINTHOME="$XDG_CACHE_HOME/pylint"
#export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
#export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
#export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java"
# Colorful man pages
# If bat is installed, use it as manpager
if command -v bat > /dev/null; then
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
else
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
fi
# Other program settings
export SUDO_ASKPASS="$HOME/.local/bin/scripts/dmenu/dmenupass"
export PIPENV_VENV_IN_PROJECT=1 # Force pipenv to create new environments within projects ./.venv
#export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.

View file

@ -272,11 +272,12 @@ function anonymize {
OLD_LINE="%F{047}%n%f %F{027}" OLD_LINE="%F{047}%n%f %F{027}"
if [ -z "$MACHINE" ]; then
NEW_LINE="${NAME_COLOR}${NAME}%f ${DIR_COLOR}" [ -n "$NAME" ] && NEW_LINE="${NAME_COLOR}${NAME}"
else [ -n "$NAME" ] && [ -n "$MACHINE" ] && NEW_LINE="${NEW_LINE}${AT_COLOR}@"
NEW_LINE="${NAME_COLOR}${NAME}${AT_COLOR}@${MACHINE_COLOR}${MACHINE}%f ${DIR_COLOR}" [ -n "$MACHINE" ] && NEW_LINE="${NEW_LINE}${MACHINE_COLOR}${MACHINE}"
fi [ -n "$NAME" ] || [ -n "$MACHINE" ] && NEW_LINE="${NEW_LINE}%f "
NEW_LINE="${NEW_LINE}${DIR_COLOR}"
# Use new anonymized name, machine and colors in PS1 # Use new anonymized name, machine and colors in PS1
PS1=${PS1/"$OLD_LINE"/"$NEW_LINE"} PS1=${PS1/"$OLD_LINE"/"$NEW_LINE"}

View file

@ -51,7 +51,7 @@ bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word bindkey '^[[1;5D' backward-word
# [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line.
bindkey '^r' history-incremental-search-backward bindkey '^r' history-incremental-search-backward
# [PageUp] - Up a line of history # [PageUp] - Up a line of history
[[ -n "${terminfo[kpp]}" ]] && bindkey "${terminfo[kpp]}" up-line-or-history [[ -n "${terminfo[kpp]}" ]] && bindkey "${terminfo[kpp]}" up-line-or-history
# [PageDown] - Down a line of history # [PageDown] - Down a line of history

View file

@ -1,75 +1,13 @@
#!/usr/bin/env bash #!/bin/sh
# User .profile definition. # User .profile definition.
# This file is only sourced after login, whereas .bashrc/.zshrc # This file is only sourced once, after login, Unlike
# files will run every time a new terminal is open # .zshrc/.bashrc, which will run whenever a new terminal
# # is opened.
# NOTE: This file shouldn't be defined for root account. Sudo
# will not source it (and neither will it source .zshrc),
# which means the XDG definitions will be ignored anyway, and
# defining them may break programs when root is actually logged in.
# Default programs
export EDITOR="nvim"
export BROWSER="firefox"
export TERMINAL="Alacrity"
# Add all ~/.local/bin folders to PATH
PATH+=":${$(find ~/.local/bin -type d | tr '\n' ':')%%:}"
# XDG Standard paths
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_RUNTIME_DIR="/run/user/$UID"
# Pre-Application XDG settings
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
export LESSHISTFILE="-"
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
# Less commonly used applications
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history"
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
export GOPATH="$XDG_DATA_HOME/go"
export IPYTHONDIR="$XDG_CONFIG_HOME/ipython"
#export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
#export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
#export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java"
#export PYLINTHOME="$XDG_CACHE_HOME/pylint"
#export MYSQL_HISTFILE="$XDG_DATA_HOME/mysql_history"
#export PSQLRC="$XDG_CONFIG_HOME/pg/psqlrc"
#export PSQL_HISTORY="$XDG_CACHE_HOME/pg/psql_history"
#export PGPASSFILE="$XDG_CONFIG_HOME/pg/pgpass"
#export PGSERVICEFILE="$XDG_CONFIG_HOME/pg/pg_service.conf"
#export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
# Colorful man pages
# If bat is installed, use it as manpager
if command -v bat > /dev/null; then
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
else
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
fi
# Other program settings
export SUDO_ASKPASS="$HOME/.local/bin/scripts/dmenu/dmenupass"
export PIPENV_VENV_IN_PROJECT=1 # Force pipenv to create new environments within projects ./.venv
#export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
# Start graphical session automatically on tty1 if startx is aviable # Start graphical session automatically on tty1 if startx is aviable
if [ "$(tty)" = "/dev/tty1" ]; then if [ "$(tty)" = "/dev/tty1" ] && [ "$UID" != 0 ]; then
if command -v startx > /dev/null; then if command -v startx > /dev/null; then
! pidof -s Xorg > /dev/null 2>&1 && exec startx "$XINITRC" ! pidof -s Xorg > /dev/null 2>&1 && exec startx "$XINITRC"
fi fi

1
home/.config/zsh/.zprofile Symbolic link
View file

@ -0,0 +1 @@
../shell/profile

1
home/.config/zsh/.zshenv Symbolic link
View file

@ -0,0 +1 @@
../shell/environment

View file

@ -1 +0,0 @@
.config/shell/profile

1
home/.zshenv Symbolic link
View file

@ -0,0 +1 @@
.config/zsh/.zshenv