141 lines
4.9 KiB
Cheetah
141 lines
4.9 KiB
Cheetah
# 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
|
||
|
||
# set wayland specific settings
|
||
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
|
||
# make firefox work
|
||
export MOZ_ENABLE_WAYLAND=1
|
||
# make idea work
|
||
wmname LG3D
|
||
fi
|
||
|
||
|
||
# To check
|
||
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||
# DISABLE_AUTO_UPDATE="true"
|
||
# 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 enable command auto-correction.
|
||
# ENABLE_CORRECTION="true"
|
||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||
# COMPLETION_WAITING_DOTS="true"
|
||
|
||
# Path to your oh-my-zsh installation.
|
||
# WSL2 would be Ubuntu, ohmyzsh is installed in userfolder
|
||
{{ if or (contains "WSL2" .chezmoi.kernel.osrelease) (contains "microsoft-standard" .chezmoi.kernel.osrelease) }}
|
||
ZSH=~/.oh-my-zsh/
|
||
{{ else }}
|
||
ZSH=/usr/share/oh-my-zsh/
|
||
{{ end }}
|
||
|
||
# Zsh history
|
||
HISTFILE=~/.histfile
|
||
HISTSIZE=10000
|
||
SAVEHIST=100000
|
||
|
||
# Zsh options
|
||
# Use invalid command as a directory if applicable and cd to it
|
||
setopt autocd
|
||
# Treat the ‘#’, ‘~’ and ‘^’ characters as part of patterns for filename generation, etc. (An initial unquoted ‘~’ always produces named directory expansion.)
|
||
setopt extendedglob
|
||
# If a pattern for filename generation has no matches, print an error, instead of leaving it unchanged in the argument list. This also applies to file expansion of an initial ‘~’ or ‘=’.
|
||
setopt nomatch
|
||
# Report the status of background jobs immediately, rather than waiting until just before printing a prompt.
|
||
setopt notify
|
||
# Beep on error
|
||
unsetopt beep
|
||
|
||
# Bindings
|
||
bindkey -v
|
||
# This fixed "can't backspace after switching from normal to insert mode"
|
||
bindkey -v '^?' backward-delete-char
|
||
# must be after -v
|
||
# enable backwards search with ctrl-r
|
||
bindkey '^R' history-incremental-search-backward
|
||
# End of lines configured by zsh-newuser-install
|
||
# The following lines were added by compinstall
|
||
zstyle :compinstall filename '/home/joachim/.zshrc'
|
||
|
||
autoload -Uz compinit
|
||
compinit
|
||
# End of lines added by compinstall
|
||
|
||
# load zgenom
|
||
source "${HOME}/.zgenom/zgenom.zsh"
|
||
|
||
# Check for plugin and zgenom updates every 7 days
|
||
# This does not increase the startup time.
|
||
zgenom autoupdate
|
||
|
||
# if the init script doesn't exist
|
||
if ! zgenom saved; then
|
||
|
||
# specify plugins here
|
||
zgenom ohmyzsh plugins/git
|
||
zgenom ohmyzsh plugins/sudo zgenom ohmyzsh
|
||
|
||
zgenom load zsh-users/zsh-syntax-highlighting
|
||
|
||
# load powerlevel10k
|
||
zgenom load romkatv/powerlevel10k powerlevel10k
|
||
|
||
# This ZSH plugin enables using fzf to search your command history and do file searches.
|
||
zgenom load unixorn/fzf-zsh-plugin
|
||
|
||
# Provide tips about aliases, give hint when using a command that has one
|
||
zgenom load djui/alias-tips
|
||
|
||
# generate the init script from plugins above
|
||
zgenom save
|
||
fi
|
||
|
||
# Aliases
|
||
alias rm="rm -v"
|
||
alias vi="vim"
|
||
alias cp="cp -v"
|
||
alias mv="mv -v"
|
||
alias ls="ls $LS_OPTIONS -hFtr"
|
||
alias ll="ls $LS_OPTIONS -lAhFtr"
|
||
alias ccat="pygmentize -O style=monokai -f 256 -g"
|
||
alias dig="dig +nocmd any +multiline +noall +answer"
|
||
alias prettyjson='python -m json.tool'
|
||
# aliases to quickly switch between two keyboard layouts
|
||
#alias aoeu="setxkbmap us"
|
||
#alias asdf="setxkbmap dvorak"
|
||
disable -r time # disable shell reserved word
|
||
alias time='time -p ' # -p for POSIX output
|
||
# git shortcuts - probably supplanted by the zsh git plugin, to check
|
||
# alias gac="git add -A && git commit -a"
|
||
# check for the docker plugin of zsh?
|
||
# alias dddu="docker-compose down && docker-compose up -d"
|
||
# yank the last command from history into the clipboard
|
||
alias yk="cat ~/.zsh_history | tail -n 2 | head -n 1 | cut -d ';' -f 2- | xclip -selection clipboard"
|
||
# add space after sudo to make it consider aliases, other 'sudo vi' would fail for not aliasing to vim
|
||
alias sudo="sudo "
|
||
|
||
# PATH modifications
|
||
export PATH=$HOME/.config/emacs/bin:$PATH
|
||
export PATH=/home/joachim/.local/share/gem/ruby/3.0.0/bin:$PATH
|
||
# add my own scripts to the path
|
||
export PATH=$HOME/scripts:$PATH
|
||
|
||
# this supposedly fixes the slow pasting into shell
|
||
# zstyle ':bracketed-paste-magic' active-widgets '.self-*'
|
||
|
||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||
# If we're in graphical environment, run full flavour. Otherwise, 8-bit ASCII.
|
||
#if [[ -n $DISPLAY ]]; then
|
||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||
#else
|
||
# [[ ! -f ~/.p10k.console.zsh ]] || source ~/.p10k.console.zsh
|
||
#fi
|
||
|
||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|