# 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 zgenom ohmyzsh plugins/git zgenom ohmyzsh plugins/sudo zgenom ohmyzsh plugins/docker zgenom ohmyzsh plugins/docker-compose 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 # set firefox as default browser xdg-settings set default-web-browser firefox.desktop # 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