# Notes on Installing {{{ # You'll need to install oh-my-zsh and alien # # 1. oh-my-zsh # # sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # # 2. alien # # git clone https://github.com/eendroroy/alien.git && cd alien && git submodule update --init --recursive # }}} device="desktop" # can be either "desktop" (default when empty), "server" or "android" # General {{{ # Exports {{{ export PATH=$HOME/bin:/usr/local/bin:$PATH # Adds ~/bin and /usr/local/bin paths to PATH export PATH="$PATH:$HOME/.npm-global/bin" # Adds ~/.npm-global/bin path to PATH export PATH="$PATH:$HOME/go/bin" # Adds ~/go/bin to PATH # export LANG=en_US.UTF-8 # You may need to manually set your language environment if [[ -n $SSH_CONNECTION ]]; then # Preferred editor for local export EDITOR='vim' else # and remote export EDITOR='vim' fi # }}} # Theme {{{ ZSH_THEME="gruvbox" SOLARIZED_THEME="dark" # }}} # Completion {{{ # CASE_SENSITIVE="true" # case-sensitive completion # HYPHEN_INSENSITIVE="true" # hyphen-insensitive completion (case_sensitive must be false) # }}} # Updates {{{ # DISABLE_AUTO_UPDATE="true" # disable bi-weekly auto-update checks # DISABLE_UPDATE_PROMPT="true" # update without prompting # export UPDATE_ZSH_DAYS=13 # how often to auto-update (in days) # DISABLE_MAGIC_FUNCTIONS="true" # uncomment if pasting URLs and other text is messed up # ENABLE_CORRECTION="true" # command auto-correction # COMPLETION_WAITING_DOTS="true" # display red dots while waiting for completion # DISABLE_UNTRACKED_FILES_DIRTY="true" # disable marking untracked files under VCS as dirty; improves status check for large repos # }}} # Other {{{ stty -F/dev/tty -ixon -ixoff # Disables Software Flow Control setopt long_list_jobs # Changing/making/removing directory setopt auto_pushd setopt pushd_ignore_dups setopt pushdminus # recognize comments setopt interactivecomments # don't backward-kill-word on forward slash autoload -U select-word-style select-word-style bash # }}} # }}} # Homelander {{{ source ~/.zsh/homelander/homelander.zsh export RPROMPT='' # }}} # Plugins {{{ # omz plugins {{{ source ~/.zsh/omz/history.zsh source ~/.zsh/omz/termsupport.zsh source ~/.zsh/omz/key-bindings.zsh source ~/.zsh/omz/compfix.zsh # }}} # zsh-syntax-highlighting {{{ source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # }}} # }}} # Aliases {{{ # portage {{{ if [[ -x "$(command -v emerge)" ]]; then alias seq="sudo emerge --quiet-build -v" alias sep="sudo emerge -pv" alias sen="sudo ego sync && sudo emerge --quiet-build -vuDN @world" alias seN="sudo emerge --quiet-build -vuDN @world" alias seNp="sudo emerge --quiet-build -pvuDN @world" alias ses="sudo emerge -s" alias seS="sudo emerge -S" alias sec="sudo emerge -c" alias seC="sudo emerge -C" alias secp="sudo emerge -cp" alias seCp="sudo emerge -Cp" fi # }}} # dnf {{{ if [[ -x "$(command -v dnf)" ]]; then alias sdi="sudo dnf install -y" alias sdr="sudo dnf remove -y" alias sda="sudo dnf autoremove -y" # If you're using dotnet from the "packages-microsoft-com-prod" repo, make sure to # add "exclude=dotnet* aspnetcore* netstandard*" inside the /etc/yum.repos.d/fedora.repo, /etc/yum.repos.d/fedora-updates.repo and potentially /etc/yum.repos.d/fedora33.repo alias sdu="sudo dnf upgrade -y && sudo dnf autoremove -y && sudo youtube-dl --update && wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash && needs-restarting -r" alias ds="dnf search" alias dcs="dnf copr search" alias dp="dnf provides" alias di="dnf info" alias sdce="sudo dnf copr enable -y" alias sdcei='f() { sudo dnf copr enable -y $1 && sudo dnf install -y $2; unset -f f }; f' fi # }}} # apt {{{ if [[ -x "$(command -v apt-get)" ]]; then alias sasy="sudo apt install -y" alias sary="sudo apt remove -y" alias saty="sudo apt autoremove -y" alias sagt="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo youtube-dl --update && wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash" fi # }}} if [[ $device != "server" ]]; then # General commands {{{ if [[ -x "$(command -v exa)" ]]; then alias ll="exa --icons --group-directories-first --git --time-style long-iso -a -labh" alias lk="exa --icons --group-directories-first --git --time-style long-iso -labhTL" alias l.="exa --icons --group-directories-first --git --time-style long-iso -labhTL 2" alias l="exa --icons --group-directories-first --time-style long-iso -abh" else alias ll="la -alF" alias la="ls -A" alias l="ls -CF" fi alias q="exit" alias x="exit" alias cdg="cd ~/Programming/GitHub-repos/ && cd" alias cdl="cd ~/Programming/GitLab-repos/ && cd" alias cds="cd ~/Programming/source/ && cd" # }}} # Application specific {{{ alias combinepdf="gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf" alias lg="lazygit" alias ydl="youtube-dl -o '%(title)s.%(ext)s'" alias ydlba="youtube-dl -o '%(title)s.%(ext)s' --audio-format best -x" alias gr="grit" alias gra="grit add --" alias grc="grit check" alias grls="grit tree" alias sdudiscord="wget -O discord.tar.gz \"https://discord.com/api/download?platform=linux&format=tar.gz\" && tar -xzf discord.tar.gz && sudo rm -rf /opt/Discord && sudo mv Discord /opt" # }}} fi # }}} # Binds {{{ bindkey '^H' backward-kill-word # }}} # Functions {{{ # Run in the background bgr () { nohup sh -c "$@" 2>&1 & disown } # Kill process and run in the background res () { pkill $@ bgr $@ } if [[ $device == "desktop" ]]; then if [[ -x "$(command -v vim)" ]]; then # Open vim with .vim-session file, if it exists and the vim command doesn't have any parameters v () { if [ -f ".vim-session" ] && [ -z "$1" ]; then vim -S .vim-session else vim $@ fi } fi if [[ -x "$(command -v grit)" ]]; then # Add to grit parent, where first value is parent number and everything else is node value grap () { parent="$1" shift grit add -p $parent -- $@ } fi if [[ -x "$(command -v nemo)" ]]; then onemo() { bgr "nemo ./" } fi # Launch .desktop application (either full path or just name) dela () { name=$1 if [[ ${name:0:1} != "/" ]]; then name="/usr/share/applications/${name}" fi if [[ ! $name =~ .desktop$ ]]; then name+=".desktop" fi comm=($(awk -F= '$1=="Exec"{$1=""; print}' "$name")) bgr "$comm" } fi # }}} # Execute on startup {{{ #}}} # Added by scripts: export PATH="/home/kamen/bin/Sencha/Cmd:$PATH" export NVM_DIR="$HOME/.nvm" # [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm # [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion