dotfiles-remastered/.zshrc
2023-12-02 02:22:06 +01:00

122 lines
3.3 KiB
Bash

############################
# #
# ███████╗███████╗██╗ ██╗ #
# ╚══███╔╝██╔════╝██║ ██║ #
# ███╔╝ ███████╗███████║ #
# ███╔╝ ╚════██║██╔══██║ #
# ███████╗███████║██║ ██║ #
# ╚══════╝╚══════╝╚═╝ ╚═╝ #
# #
############################
# Required packages:
# - zsh
# - oh-my-zsh-git (AUR)
# - zsh-theme-powerlevel10k
# - zsh-syntax-highlighting
# - zsh-completions
# - zsh-autosuggestions
# - nerd-font-hack (AUR)
# - lsd
# - fzf
# - pkgfile
# - trash-cli (with gvfs)
export PATH=$HOME/.local/bin:$HOME/.dotnet/tools:$XDG_DATA_HOME/npm_global/bin:$XDG_DATA_HOME/cargo/bin:$PATH
[[ $- != *i* ]] && return
[ -n $SSH_CONNECTION ] && source ~/.profile
# Oh my zsh stuff
# powerline instant promt
if [ -z $SSH_CONNECTION ]; then
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
fi
ZSH="/usr/share/oh-my-zsh"
HISTFILE="$XDG_CACHE_HOME/zsh_history"
if [[ -n $SSH_CONNECTION ]]; then
ZSH_THEME="gallois"
else
ZSH_THEME="../../zsh-theme-powerlevel10k/powerlevel10k"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f "$XDG_CACHE_HOME/p10k.zsh" ]] || source "$XDG_CACHE_HOME/p10k.zsh"
#[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
fi
# wal subshell
(cat ~/.cache/wal/sequences &)
DISABLE_UPDATE_PROMPT=true
DISABLE_AUTO_UPDATE=true
ZSH_CACHE_DIR="$XDG_CACHE_HOME/oh-my-zsh" # mkdir ~/.cache/oh-my-zsh
_Z_DATA="$XDG_CACHE_HOME/z"
ZSH_COMPDUMP=$ZSH/cache/.zcompdump-$HOST
plugins=(
git
last-working-dir
extract
z
)
autoload -U compinit
# start oh my zsh
source $ZSH/oh-my-zsh.sh
# Sytax highlight
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# autosugestion
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# command not found
source /usr/share/doc/pkgfile/command-not-found.zsh # dont forget to run pkgfile -u
# Variables
export MANPAGER="bat -l man -p"
# ZSH percent fix
export PROMPT_EOL_MARK=""
# FZF
export FZF_DEFAULT_COMMAND="fd --type file --color=always"
export FZF_DEFAULT_OPTS="--ansi"
# Aliases
alias vim="nvim"
alias sudo='sudo '
alias please='sudo '
[ -z $SSH_CONNECTION ] && alias ls='exa --icons'
alias svim='sudo -E nvim'
alias dotfiles="git --git-dir=$XDG_DATA_HOME/dotfiles-remastered --work-tree=$HOME" # dotfile config --local status.showUntrackedFiles no
alias open="xdg-open"
alias mixer="pulsemixer"
alias yt-dl-audio="yt-dlp --extract-audio --audio-format mp3 -o '%(title)s.%(ext)s'"
alias rm="trash"
alias modx="chmod +x"
alias mv="mv -iv"
alias cp="cp -riv"
alias mkdir="mkdir -pv"
alias yeet="sudo pacman -Rns"
alias ip="ip -c=auto"
alias syu="sudo pacman -Syu"
alias virsh="virsh -c qemu:///system"
alias k="kubectl"
alias ssh="TERM=xterm-256color ssh"
alias df="duf"
alias nom="npm"