From 5b7381e68287e1d51c2edbfcb0c03a9b8b866d1d Mon Sep 17 00:00:00 2001 From: Joachim Nielandt Date: Sun, 7 May 2023 09:43:50 +0200 Subject: [PATCH] Starting fresh with zshrc. Need to include (parts of) old customs. --- dot_zshrc.tmpl | 141 ++++++++++++++++++++++--------------------------- 1 file changed, 63 insertions(+), 78 deletions(-) diff --git a/dot_zshrc.tmpl b/dot_zshrc.tmpl index 2eb4748..385754d 100644 --- a/dot_zshrc.tmpl +++ b/dot_zshrc.tmpl @@ -2,106 +2,91 @@ # 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" + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi -# Finally, source custom scripts that are global for zsh. These are useful to override things from powerlevel10k, -# oh-my-zsh, ... -for file in ~/.dotfiles/zsh/custom/*.zsh; do - source "$file" -done +# ZSH setup +# 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 +# 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 }} -# 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="powerlevel10k" +# Lines configured by zsh-newuser-install +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +# 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 +bindkey -v +# 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' -# 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" ) +autoload -Uz compinit +compinit +# End of lines added by compinstall -# Uncomment the following line to use case-sensitive completion. -# CASE_SENSITIVE="true" +# load zgenom +source "${HOME}/.zgenom/zgenom.zsh" -# Uncomment the following line to use hyphen-insensitive completion. -# Case-sensitive completion must be off. _ and - will be interchangeable. -# HYPHEN_INSENSITIVE="true" +# Check for plugin and zgenom updates every 7 days +# This does not increase the startup time. +zgenom autoupdate -# Uncomment the following line to disable bi-weekly auto-update checks. -DISABLE_AUTO_UPDATE="true" +# if the init script doesn't exist +if ! zgenom saved; then -# Uncomment the following line to automatically update without prompting. -# DISABLE_UPDATE_PROMPT="true" + # specify plugins here + zgenom ohmyzsh plugins/git + zgenom ohmyzsh plugins/sudo zgenom ohmyzsh -# Uncomment the following line to change how often to auto-update (in days). -# export UPDATE_ZSH_DAYS=13 + zgenom load zsh-users/zsh-syntax-highlighting -# Uncomment the following line if pasting URLs and other text is messed up. -# DISABLE_MAGIC_FUNCTIONS="true" + # load powerlevel10k + zgenom load romkatv/powerlevel10k powerlevel10k -# Uncomment the following line to disable colors in ls. -# DISABLE_LS_COLORS="true" + # This ZSH plugin enables using fzf to search your command history and do file searches. + zgenom load unixorn/fzf-zsh-plugin -# 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=$HOME/.config/oh-my-zsh/custom/ - -# 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=(git) - -ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh -if [[ ! -d $ZSH_CACHE_DIR ]]; then - mkdir $ZSH_CACHE_DIR + # generate the init script from plugins above + zgenom save fi -source $ZSH/oh-my-zsh.sh - -# don't think i'm using this, could be nice place to put machine-local stuff -[ -f ~/.zshrc.local ] && source ~/.zshrc.local +# 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 +#if [[ -n $DISPLAY ]]; then +# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh +#else +# [[ ! -f ~/.p10k.console.zsh ]] || source ~/.p10k.console.zsh +#fi -# 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. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh