diff --git a/.config/aliasrc b/.config/aliasrc index 2075edc..feca27f 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -33,6 +33,6 @@ alias pacman-autoremove='pacman -Rns $(pacman -Qtdq)' alias qutebrowser-kiosk='qutebrowser -B $XDG_DATA_DIR/qutebrowser-kiosk -C $XDG_CONFIG_DIR/qutebrowser/config-kiosk.py' -alias sudo='sudo ' - alias rm='rm -I --one-file-system -v' + +alias sudo='sudo ' diff --git a/.config/environment b/.config/environment index c4ff41c..a352a37 100644 --- a/.config/environment +++ b/.config/environment @@ -9,6 +9,7 @@ export GOPATH="$HOME/.local/share/go" export MAKEFLAGS="-j$(grep -c ^processor /proc/cpuinfo)" export MAILCAPS="$HOME/.config/mailcap/mailcaprc" +export MARKPATH="$HOME/.config/zsh/jump_marks" export NOTMUCH_CONFIG="$HOME/.config/notmuch/config" diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 7db803d..b6c3754 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -1,62 +1,106 @@ -[ -f "$HOME/.config/user-dirs.dirs" ] && source $HOME/.config/user-dirs.dirs -source $HOME/.config/environment +# Path to your oh-my-zsh installation. +export ZSH="$HOME/.config/zsh/oh-my-zsh" -# Enable colors and change prompt: -autoload -U colors && colors -autoload -Uz vcs_info -precmd() -{ - vcs_info -} -zstyle ':vcs_info:git*' formats " (%b)" # hash & branch -setopt prompt_subst +if [ ! -f "$ZSH/oh-my-zsh.sh" ] +then + echo "Installing oh-my-zsh" + RUNZSH="no" sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" > /dev/null + rm "$HOME/.zshrc" +fi -PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$fg[green]%}\$vcs_info_msg_0_%{$reset_color%} -$%b " +# 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 +ZSH_THEME="tjkirch" -# History in cache directory: -HISTSIZE=1000000 -SAVEHIST=1000000 -HISTFILE=$HOME/.cache/zsh_history +# 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 $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) -# Basic auto/tab complete: -autoload -U compinit -zstyle ':completion:*' menu select -zmodload zsh/complist -compinit -_comp_options+=(globdots) # Include hidden files. +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" -# vi mode -bindkey -v -export KEYTIMEOUT=1 +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" -# Use vim keys in tab complete menu: -bindkey -M menuselect 'h' vi-backward-char -bindkey -M menuselect 'k' vi-up-line-or-history -bindkey -M menuselect 'l' vi-forward-char -bindkey -M menuselect 'j' vi-down-line-or-history -bindkey -v '^?' backward-delete-char +# Uncomment the following line to disable bi-weekly auto-update checks. +DISABLE_AUTO_UPDATE="false" -zle-line-init() { - zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) - echo -ne "\e[1 q" -} -zle -N zle-line-init -echo -ne '\e[1 q' # Use beam shape cursor on startup. -# preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. +# Uncomment the following line to automatically update without prompting. +# DISABLE_UPDATE_PROMPT="true" -# Edit line in vim with ctrl-e: -autoload edit-command-line; zle -N edit-command-line -bindkey '^e' edit-command-line +# 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="false" + +# 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="yyyy-mm-dd" + +# 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 $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=( + colored-man-pages + copydir + copyfile + cp + encode64 + extract + git + jump + safe-paste + sudo + vi-mode +) + +source $ZSH/oh-my-zsh.sh + +# User configuration [ -f "$HOME/.config/aliasrc" ] && source $HOME/.config/aliasrc [ -x "$(command -v thefuck)" ] && eval $(thefuck --alias) +export MARKPATH="$HOME/.config/zsh/jump_marks" + +setopt HIST_IGNORE_DUPS +export SAVEHIST=1000000 +export HISTSIZE=1000000 +export HISTFILE="$HOME/.cache/zsh_history" + +[ -f "$HOME/.config/aliasrc" ] && source $HOME/.config/aliasrc + # Load zsh-syntax-highlighting; should be last. source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null - -if [[ $STICKY_NOTE ]]; then - PS1= - cat "/tmp/sticky-note" - return -fi