dotfiles

config files and scripts
git clone git://git.hanetzok.net/dotfiles
Log | Files | Refs

commit c903f368c43811031df85422a5980d0af8c7861a
Author: Markus Hanetzok <markus@hanetzok.net>
Date:   Sun,  5 Oct 2025 20:42:14 +0200

add zsh configs

Diffstat:
A.config/zsh/.zprofile | 42++++++++++++++++++++++++++++++++++++++++++
A.config/zsh/.zshrc | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/zsh/aliases | 14++++++++++++++
3 files changed, 114 insertions(+), 0 deletions(-)

diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile @@ -0,0 +1,42 @@ +# PATH +export PATH="$PATH":"$HOME"/.local/bin:"$HOME"/.local/bin/dmenu + +# default programs +export EDITOR='nvim' +export BROWSER='firefox' + +# XDG directories +export XDG_DATA_HOME="$HOME"/.local/share +export XDG_CONFIG_HOME="$HOME"/.config +export XDG_STATE_HOME="$HOME"/.local/state +export XDG_CACHE_HOME="$HOME"/.cache + +# other settings +export FZF_DEFAULT_OPTS="--layout=reverse --height=40%" +export _JAVA_AWT_WM_NONREPARENTING=1 + +# keep home clean +export ANDROID_SDK_HOME="$XDG_CONFIG_HOME/android" +export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible/ansible.cfg" +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet +export ELECTRUMDIR="$XDG_DATA_HOME/electrum" +export GNUPGHOME="$XDG_DATA_HOME"/gnupg +export GOMODCACHE="$XDG_CACHE_HOME/go/mod" +export GOPATH="$XDG_DATA_HOME/go" +export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" +export HISTFILE="$XDG_STATE_HOME"/zsh/history +export KODI_DATA="$XDG_DATA_HOME/kodi" +export MBSYNCRC="$XDG_CONFIG_HOME/mbsync/config" +export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch-config" +export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages +export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" +export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc" +export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" +export TMUX_TMPDIR="$XDG_RUNTIME_DIR" +export UNISON="$XDG_DATA_HOME/unison" +export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" +#export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default" +export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority +export XINITRC="$XDG_CONFIG_HOME"/x11/xinitrc +export ZDOTDIR="$XDG_CONFIG_HOME"/zsh diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc @@ -0,0 +1,58 @@ +source "$HOME/.config/zsh/aliases" + +# Enable colors and change prompt: +autoload -U colors && colors # Load colors +PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " +stty stop undef # Disable ctrl-s to freeze terminal. +setopt interactive_comments + +# History in cache directory: +HISTSIZE=10000000 +SAVEHIST=10000000 +HISTFILE="$HOME/.cache/zsh/history" +setopt inc_append_history + +# Basic auto/tab complete: +autoload -U compinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. + +# vi mode +bindkey -v +export KEYTIMEOUT=1 + +# 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 + +# Change cursor shape for different vi modes. +function zle-keymap-select () { + case $KEYMAP in + vicmd) echo -ne '\e[1 q';; # block + viins|main) echo -ne '\e[5 q';; # beam + esac +} +zle -N zle-keymap-select +zle-line-init() { + zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) + echo -ne "\e[5 q" +} +zle -N zle-line-init +echo -ne '\e[5 q' # Use beam shape cursor on startup. +preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. + +# Edit line in vim with ctrl-e: +autoload edit-command-line; zle -N edit-command-line +bindkey '^e' edit-command-line +bindkey -M vicmd '^[[P' vi-delete-char +bindkey -M vicmd '^e' edit-command-line +bindkey -M visual '^[[P' vi-delete + +# Load syntax highlighting; should be last. +source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null + diff --git a/.config/zsh/aliases b/.config/zsh/aliases @@ -0,0 +1,14 @@ +alias \ + p='sudo pacman' \ + dcd='sudo docker compose down' \ + dcud='sudo docker compose up -d' \ + dcp='sudo docker compose pull' \ + dcl='sudo docker compose logs -n 100 -f' \ + v='nvim' + +alias \ + ls="ls -hN --color=auto --group-directories-first" \ + grep="grep --color=auto" \ + diff="diff --color=auto" \ + ccat="highlight --out-format=ansi" \ + ip="ip -color=auto"