This is a collection of dotfiles and scripts for my bspwm setup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

167 lines
4.5 KiB

## Settings
# Directories
export PATH="$PATH:$HOME/.scripts"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
# Files
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
export PLATFORMIO_HOME_DIR="$XDG_DATA_HOME/platformio"
# Qt5
export QT_QPA_PLATFORMTHEME="qt5ct"
# VIM
export EDITOR="vim"
export VIMINIT="source $XDG_CONFIG_HOME/vim/vimrc"
# X11
export XINITRC="$XDG_CONFIG_HOME/xorg/xinitrc"
export XAUTHORITY="$XDG_DATA_HOME/xorg/Xauthority"
# General
export LESSHISTFILE=-
## Terminal
stty -ixon
## ZSH
autoload -Uz promptinit colors vcs_info compinit history-search-end
# Prompt
promptinit
colors
setopt INTERACTIVE_COMMENTS
setopt PROMPT_SUBST
precmd() {
vcs_info
print -Pn "\e]0;%n@%m %~\a"
}
# ZSH parameters
USR_HOST="%F{cyan}%n%f@%F{cyan}%m%f"
DIRECTORY="%F{green}%~%f"
ARROW="%(?..%F{red})➤%f"
PROMPT='╭─${USR_HOST} ${DIRECTORY} ${vcs_info_msg_0_}
╰─${ARROW} '
RPROMPT='%t'
TIMEFMT=$'\nreal\t%*Es\nuser\t%*Us\nsys\t%*Ss'
# Git
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' stagedstr "%F{green}A%f"
zstyle ':vcs_info:*' unstagedstr "%F{red}M%f"
zstyle ':vcs_info:*' formats '%F{cyan}(%F{red}%b%F{cyan})%f %c%u'
# Autocompletion
compinit -d $XDG_CACHE_HOME/zcompdump
zstyle ':completion::complete:*' use-cache 1
zstyle ':completion::complete:*' cache-path $XDG_CACHE_HOME/zcache
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' menu select
# Bind keys
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey '\eOd' backward-word
bindkey '\eOc' forward-word
bindkey '\e[7~' beginning-of-line
bindkey '\e[3~' delete-char
bindkey '\e[8~' end-of-line
bindkey '\e[A' history-beginning-search-backward-end
bindkey '\e[B' history-beginning-search-forward-end
bindkey '^R' history-incremental-pattern-search-backward
# History
setopt APPEND_HISTORY
setopt EXTENDED_HISTORY
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_DUPS
setopt HIST_REDUCE_BLANKS
setopt HIST_SAVE_NO_DUPS
HISTFILE=$ZDOTDIR/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
## Aliases
# General
alias q='exit'
alias la='ls -laGh --color --group-directories-first'
alias ls='ls --color --group-directories-first'
alias grep='grep --color'
alias md='mkdir -p'
alias rm='rm -i'
alias vim='vim --servername VIM'
alias svim='sudoedit'
alias fuck='sudo $(fc -ln -1)'
# Config
alias i3b="$EDITOR $XDG_CONFIG_HOME/i3/blocks"
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config"
alias vrc="$EDITOR $XDG_CONFIG_HOME/vim/vimrc"
alias xrc="$EDITOR $XDG_CONFIG_HOME/xorg/xinitrc"
alias Xr="$EDITOR $XDG_CONFIG_HOME/xorg/Xresources"
alias zrc="$EDITOR $ZDOTDIR/.zshrc && source $ZDOTDIR/.zshrc"
alias li3='i3-msg restart'
alias lXr="xrdb $XDG_CONFIG_HOME/xorg/Xresources"
alias lzrc="source $ZDOTDIR/.zshrc"
# Pacman
alias install='sudo pacman -S --needed'
alias remove='sudo pacman -Rns'
alias update='sudo pacman -Syyu'
alias clean='sudo pacman -Rns $(pacman -Qtdq)'
alias cache='sudo paccache -r'
alias depend="$HOME/.scripts/alias.sh depend"
# Programming
alias jdoc="$HOME/.scripts/alias.sh java-doc"
alias jr="$HOME/.scripts/alias.sh java-run"
alias raspbian="$HOME/.scripts/alias.sh raspbian"
alias ser='pio serialports monitor -b 9600'
alias upl='pio run -t upload'
alias qmake='qmake -makefile ../ && make'
# Git
alias g='git'
alias ga='git add'
alias gs='git status'
alias gc='git commit'
alias gp='git pull'
alias gps='git push'
alias gd='git diff'
alias gdc='git diff --cached'
alias gl="git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d %C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all"
# Scripts
alias mc="$HOME/.scripts/mediacontrol.sh"
alias nw="$HOME/.scripts/network.sh"
alias vp="$HOME/.scripts/vimplugin.sh"
# Laptop
alias offtouchpad='sudo rmmod i2c_hid'
alias ontouchpad="sudo modprobe i2c_hid && $HOME/.scripts/touchscreen.sh 0"
# Other
alias man="$HOME/.scripts/alias.sh man"
alias mysql-workbench="GDK_SCALE=1 GDK_DPI_SCALE=1 mysql-workbench 1>/dev/null 2>&1 &; disown"
alias weather="curl -s 'http://wttr.in/dordrecht?q&n&p' | head -n -3"
alias mpvshuffle='mpv "$(xclip -o)" --no-video --shuffle --ytdl-format="bestaudio[ext=m4a]"'
source $ZDOTDIR/.zshrc_extended
## Login
[[ $USER == "rick" ]] && [ "$(tty)" = "/dev/tty1" ] && exec xinit -- vt1 &> /dev/null