# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. #installation via script from github #export ZSH="/home/$USER/.oh-my-zsh" #installation via yay -S oh-my-zsh-git export ZSH=/usr/share/oh-my-zsh/ # Set name of the theme to load --- if set to "random", it will # load a random theme each time oh-my-zsh is loaded, in which case, # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes # if you installed the package oh-my-zsh-powerline-theme-git then you type here "powerline" as zsh theme ZSH_THEME="sporty_256" # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load # a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ # If set to an empty array, this variable will have no effect. # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) # ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod) # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" # Uncomment the following line to use hyphen-insensitive completion. # Case-sensitive completion must be off. _ and - will be interchangeable. # HYPHEN_INSENSITIVE="true" # Uncomment the following line to disable bi-weekly auto-update checks. # DISABLE_AUTO_UPDATE="true" # Uncomment the following line to automatically update without prompting. # DISABLE_UPDATE_PROMPT="true" # Uncomment the following line to change how often to auto-update (in days). # export UPDATE_ZSH_DAYS=13 # Uncomment the following line if pasting URLs and other text is messed up. # DISABLE_MAGIC_FUNCTIONS=true # Uncomment the following line to disable colors in ls. # DISABLE_LS_COLORS="true" # Uncomment the following line to disable auto-setting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment the following line to enable command auto-correction. # ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. # COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories # much, much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" # Uncomment the following line if you want to change the command execution time # stamp shown in the history command output. # You can set one of the optional three formats: # "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # or set a custom format using the strftime function format specifications, # see 'man strftime' for details. # HIST_STAMPS="mm/dd/yyyy" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder # Which plugins would you like to load? # Standard plugins can be found in ~/.oh-my-zsh/plugins/* # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=(git) source $ZSH/oh-my-zsh.sh # User configuration # export MANPATH="/usr/local/man:$MANPATH" # You may need to manually set your language environment # export LANG=en_US.UTF-8 # Preferred editor for local and remote sessions # if [[ -n $SSH_CONNECTION ]]; then # export EDITOR='vim' # else # export EDITOR='mvim' # fi # Compilation flags # export ARCHFLAGS="-arch x86_64" #### ARCOLINUX SETTINGS #### source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh setopt GLOB_DOTS # If not running interactively, don't do anything [[ $- != *i* ]] && return export HISTCONTROL=ignoreboth:erasedups # Make nano the default editor export EDITOR='nvim' export VISUAL='nvim' #PS1='[\u@\h \W]\$ ' if [ -d "$HOME/.bin" ] ; then PATH="$HOME/.bin:$PATH" fi if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi #list alias ls='ls --color=auto' alias la='ls -a' alias ll='ls -la' alias l='ls' alias l.="ls -A | egrep '^\.'" #fix obvious typo's alias cd..='cd ..' alias pdw="pwd" alias udpate='sudo pacman -Syyu' alias upate='sudo pacman -Syyu' alias updte='sudo pacman -Syyu' alias updqte='sudo pacman -Syyu' alias upqll="yay -Syu --noconfirm" alias upal="yay -Syu --noconfirm" ## Colorize the grep command output for ease of use (good for log files)## alias grep='grep --color=auto' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' #readable output alias df='df -h' #pacman unlock alias unlock="sudo rm /var/lib/pacman/db.lck" alias rmpacmanlock="sudo rm /var/lib/pacman/db.lck" #arcolinux logout unlock alias rmlogoutlock="sudo rm /tmp/arcologout.lock" #free alias free="free -mt" #use all cores alias uac="sh ~/.bin/main/000*" #continue download alias wget="wget -c" #userlist alias userlist="cut -d: -f1 /etc/passwd" #merge new settings alias merge="xrdb -merge ~/.Xresources" # Aliases for software managment # pacman or pm alias pacman='sudo pacman --color auto' alias update='sudo pacman -Syyu' # yay as aur helper - updates everything alias pksyua="yay -Syu --noconfirm" alias upall="yay -Syu --noconfirm" #ps alias psa="ps auxf" alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" #grub update alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg" #add new fonts alias update-fc='sudo fc-cache -fv' #copy/paste all content of /etc/skel over to home folder - backup of config created - beware alias skel='cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) && cp -rf /etc/skel/* ~' #backup contents of /etc/skel to hidden backup folder in home/user alias bupskel='cp -Rf /etc/skel ~/.skel-backup-$(date +%Y.%m.%d-%H.%M.%S)' #copy bashrc-latest over on bashrc - cb= copy bashrc #alias cb='sudo cp /etc/skel/.bashrc ~/.bashrc && source ~/.bashrc' #copy /etc/skel/.zshrc over on ~/.zshrc - cb= copy zshrc alias cz='sudo cp /etc/skel/.zshrc ~/.zshrc && exec zsh' #switch between bash and zsh alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'" alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'" #switch between lightdm and sddm alias tolightdm="sudo pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings --noconfirm --needed ; sudo systemctl enable lightdm.service -f ; echo 'Lightm is active - reboot now'" alias tosddm="sudo pacman -S sddm --noconfirm --needed ; sudo systemctl enable sddm.service -f ; echo 'Sddm is active - reboot now'" #quickly kill conkies alias kc='killall conky' #hardware info --short alias hw="hwinfo --short" #skip integrity check alias yayskip='yay -S --mflags --skipinteg' alias trizenskip='trizen -S --skipinteg' #check vulnerabilities microcode alias microcode='grep . /sys/devices/system/cpu/vulnerabilities/*' #get fastest mirrors in your neighborhood alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist" alias mirrord="sudo reflector --latest 30 --number 10 --sort delay --save /etc/pacman.d/mirrorlist" alias mirrors="sudo reflector --latest 30 --number 10 --sort score --save /etc/pacman.d/mirrorlist" alias mirrora="sudo reflector --latest 30 --number 10 --sort age --save /etc/pacman.d/mirrorlist" #our experimental - best option for the moment alias mirrorx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 5 --sort rate --protocol https --save /etc/pacman.d/mirrorlist" alias mirrorxx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist" #mounting the folder Public for exchange between host and guest on virtualbox alias vbm="sudo /usr/local/bin/arcolinux-vbox-share" #shopt #shopt -s autocd # change to named directory #shopt -s cdspell # autocorrects cd misspellings #shopt -s cmdhist # save multi-line commands in history as single line #shopt -s dotglob #shopt -s histappend # do not overwrite history #shopt -s expand_aliases # expand aliases #youtube-dl alias yta-aac="youtube-dl --extract-audio --audio-format aac " alias yta-best="youtube-dl --extract-audio --audio-format best " alias yta-flac="youtube-dl --extract-audio --audio-format flac " alias yta-m4a="youtube-dl --extract-audio --audio-format m4a " alias yta-mp3="youtube-dl --extract-audio --audio-format mp3 " alias yta-opus="youtube-dl --extract-audio --audio-format opus " alias yta-vorbis="youtube-dl --extract-audio --audio-format vorbis " alias yta-wav="youtube-dl --extract-audio --audio-format wav " alias ytv-best="youtube-dl -f bestvideo+bestaudio " #Recent Installed Packages alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl" alias riplong="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -3000 | nl" #iso and version used to install ArcoLinux alias iso="cat /etc/dev-rel | awk -F '=' '/ISO/ {print $2}'" #Cleanup orphaned packages alias cleanup='sudo pacman -Rns $(pacman -Qtdq)' #search content with ripgrep alias rg="rg --sort path" #get the error messages from journalctl alias jctl="journalctl -p 3 -xb" #nano for important configuration files #know what you do in these files alias nlightdm="sudo $EDITOR /etc/lightdm/lightdm.conf" alias npacman="sudo $EDITOR /etc/pacman.conf" alias ngrub="sudo $EDITOR /etc/default/grub" alias nconfgrub="sudo $EDITOR /boot/grub/grub.cfg" alias nmkinitcpio="sudo $EDITOR /etc/mkinitcpio.conf" alias nmirrorlist="sudo $EDITOR /etc/pacman.d/mirrorlist" alias nsddm="sudo $EDITOR /etc/sddm.conf" alias nfstab="sudo $EDITOR /etc/fstab" alias nnsswitch="sudo $EDITOR /etc/nsswitch.conf" alias nsamba="sudo $EDITOR /etc/samba/smb.conf" alias nb="$EDITOR ~/.bashrc" alias nz="$EDITOR ~/.zshrc" #gpg #verify signature for isos alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify" alias fix-gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify" #receive the key of a developer alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys" alias fix-gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys" alias fix-key="[ -d ~/.gnupg ] || mkdir ~/.gnupg ; cp /etc/pacman.d/gnupg/gpg.conf ~/.gnupg/ ; echo 'done'" #maintenance alias big="expac -H M '%m\t%n' | sort -h | nl" alias downgrada="sudo downgrade --ala-url https://bike.seedhost.eu/arcolinux/" #systeminfo alias probe="sudo -E hw-probe -all -upload" #shutdown or reboot alias ssn="sudo shutdown now" alias sr="sudo reboot" #update betterlockscreen images alias bls="betterlockscreen -u /usr/share/backgrounds/arcolinux/" #give the list of all installed desktops - xsessions desktops alias xd="ls /usr/share/xsessions" # # ex = EXtractor for all kinds of archives # # usage: ex ex () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1;; *.7z) 7z x $1 ;; *.deb) ar x $1 ;; *.tar.xz) tar xf $1 ;; *.tar.zst) tar xf $1 ;; *) echo "'$1' cannot be extracted via ex()" ;; esac else echo "'$1' is not a valid file" fi } #create a file called .zshrc-personal and put all your personal aliases #in there. They will not be overwritten by skel. [[ -f ~/.zshrc-personal ]] && . ~/.zshrc-personal # reporting tools - install when not installed # install neofetch #neofetch # install screenfetch #screenfetch # install ufetch-git #ufetch # install ufetch-arco-git #ufetch-arco # install arcolinux-paleofetch-git #paleofetch # install alsi #alsi # install arcolinux-bin-git - standard on ArcoLinux isos (or sfetch - smaller) #hfetch # install lolcat #sfetch | lolcat export CC=/usr/bin/clang export CXX=/usr/bin/clang++ export _JAVA_AWT_WM_NONREPARENTING=1 export ANDROID_SDK_ROOT=/home/horhik/Android/Sdk/ export NDK_HOME=/home/horhik/Android/Sdk/ndk/22.0.7026061/ ZSH_THEME="cloud" plugins=(git colorize colored-man-pages emoji rustup sudo zsh-syntax-highlighting zsh-autosuggestions zsh-completions) autoload -U compinit && compinit export PATH=$HOME/.local/bin:$PATH export PATH=/usr/local/bin:$PATH export PATH=$HOME/.cargo/bin:$PATH export PATH=$HOME/.emacs.d/bin:$PATH export PATH=$HOME/Desktop:$PATH export PATH=/home/horhik/code/projects/potato-notify:$PATH export PATH="/root/.deno/bin:$PATH" alias vim=nvim alias vi=vim alias libvirtdaemon="sudo start-stop-daemon --start libvirtd" alias virtm="sudo start-stop-daemon --start virtlogd &; sudo start-stop-daemon --start libvirtd &; virt-manager &" alias clip=xclip -selection clipboard alias suspend="loginctl suspend" if [ -f '/home/horhik/yandex-cloud/path.bash.inc' ]; then source '/home/horhik/yandex-cloud/path.bash.inc'; fi if [ -f '/home/horhik/yandex-cloud/completion.zsh.inc' ]; then source '/home/horhik/yandex-cloud/completion.zsh.inc'; fi alias rd='rustc -g --emit="obj,link"' compile_and_run() { rustc -g --emit="obj,link" $1 && gdb ${1%.*} } alias rdr=compile_and_run alias aia=ankiaudio alias picom="killall picom; picom --experimental-backends &;" alias cc="cargo check" alias ct="cargo test" alias gc="git clone" alias gs="git status" alias vim="nvim" # eval $(thefuck --alias) if [ -e /home/horhik/.nix-profile/etc/profile.d/nix.sh ]; then . /home/horhik/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer