From 8f4bff3514f31b88762e3b3e48773907f85265f8 Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Thu, 9 Mar 2023 11:06:38 +0100 Subject: use XDG base directories, set directories in .zshenv --- config/essentials/zsh/aliases.zsh | 2 + config/essentials/zsh/zshrc | 99 ++++++++++++++++++++++++++++ config/home/.zshenv | 50 +++++++++++++++ config/zshrc/.zshrc | 132 -------------------------------------- stowcmds.sh | 6 +- 5 files changed, 154 insertions(+), 135 deletions(-) create mode 100644 config/essentials/zsh/zshrc create mode 100644 config/home/.zshenv delete mode 100644 config/zshrc/.zshrc diff --git a/config/essentials/zsh/aliases.zsh b/config/essentials/zsh/aliases.zsh index 33648a2..cfad09e 100644 --- a/config/essentials/zsh/aliases.zsh +++ b/config/essentials/zsh/aliases.zsh @@ -7,6 +7,8 @@ alias -g nb='newsboat' alias -g sr='surfraw' alias -g ccu='calcurse' +alias arduino-cli='arduino-cli --config-file $XDG_CONFIG_HOME/arduino15/arduino-cli.yaml' + if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" # alias ls='ls -h --color --group-directories-first' diff --git a/config/essentials/zsh/zshrc b/config/essentials/zsh/zshrc new file mode 100644 index 0000000..dd52e5e --- /dev/null +++ b/config/essentials/zsh/zshrc @@ -0,0 +1,99 @@ +#!/bin/zsh + +if [ ! $(pgrep Xorg) ] && [ "tty1" = "$(basename $(tty))" ] +then + clear + eval "$(keychain --dir "$XDG_CONFIG_HOME/keychain" --eval --quiet --agents gpg 3A626DD20A32EB2E5DD9CE71CFD9ABC97158CD5D 2> /dev/null)" + eval "$(keychain --dir "$XDG_CONFIG_HOME/keychain" --noask --eval --quiet --agents ssh 2> /dev/null)" + clear + startx 2&> /dev/null + exit +fi + +autoload -U select-word-style +autoload -z edit-command-line +zle -N edit-command-line +zstyle ':compinstall' filename '/home/aluc/.zshrc' +zstyle ':completion:*' menu select +autoload -Uz compinit +compinit -d $XDG_CACHE_HOME/zsh/zcompdump-$ZSH_VERSION +autoload -Uz surround +zle -N delete-surround surround +zle -N add-surround surround +zle -N change-surround surround +compinit + +for f in \ + /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh \ + /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \ + ~/.config/zsh/functions.zsh \ + ~/.config/zsh/aliases.zsh +do + test -f $f && source $f +done + +bindkey -v +bindkey -a cs change-surround +bindkey -a ds delete-surround +bindkey -a ys add-surround +bindkey -M visual S add-surround +bindkey "^A" beginning-of-line +bindkey "^E" end-of-line +bindkey '^I' expand-or-complete-prefix # necessary for completeinword +bindkey '^Y' autosuggest-accept +bindkey "^K" kill-line +bindkey "^P" up-line-or-history +bindkey "^N" down-line-or-history +bindkey "^V" quoted-insert +bindkey "^Xa" _expand_alias +bindkey "^Xe" edit-command-line +bindkey "^[." insert-last-word +bindkey "^['" quote-line + +# pacman synced rehash +zshcache_time="$(date +%s%N)" +autoload -Uz add-zsh-hook +rehash_precmd() { + if [[ -a /var/cache/zsh/pacman ]]; then + local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)" + if (( zshcache_time < paccache_time )); then + rehash + zshcache_time="$paccache_time" + fi + fi +} +add-zsh-hook -Uz precmd rehash_precmd + +# prompt +PS1=' %B%(#.%F{1}.%F{13})[%n%b%f@%B%F{6}%m]%b%f %3~ ' +RPROMPT='%F{blue}$(parse_git_remote)%f%F{red}$(parse_git_status)%f%F{green}$(parse_git_branch)%f%(?.. %?)' + +setopt prompt_subst +parse_git_remote() { + b="$(git branch -v 2> /dev/null | grep "^*" | sed 's/.\+\[\([^ ]\+\).*$/\1/')" + if [ "$b" = "behind" ] + then + echo -n "↓ " + elif [ "$b" = "ahead" ] + then + echo -n "↑ " + fi +} +parse_git_branch() { + git symbolic-ref --short HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null +} +parse_git_status() { + git status --short 2> /dev/null | head -n1 | awk '{print $1 " "}' +} + +# Options +setopt correct +setopt nonomatch +setopt autocd +setopt completeinword +setopt extendedglob +setopt histignorealldups +setopt histreduceblanks +setopt interactivecomments +setopt notify +setopt cdablevars diff --git a/config/home/.zshenv b/config/home/.zshenv new file mode 100644 index 0000000..00aab62 --- /dev/null +++ b/config/home/.zshenv @@ -0,0 +1,50 @@ +#!/bin/zsh +export PATH="$HOME/.local/bin:$PATH" +export PATH="$HOME/bin:$PATH" +export PATH="$HOME/go/bin:$PATH" + +export EDITOR="nvim" +export VISUAL="nvim" +export TERMINAL="st" +export BROWSER="firefox" + +export XDG_CONFIG_HOME="$HOME"/.config +export XDG_CACHE_HOME="$HOME"/.cache +export XDG_DATA_HOME="$HOME"/.local/share +export XDG_STATE_HOME="$HOME"/.local/state + +test ! -d "$XDG_CONFIG_HOME"/x11 && + mkdir "$XDG_CONFIG_HOME"/x11 +export XINITRC="$XDG_CONFIG_HOME/x11"/xinitrc +# export XAUTHORITY="$XDG_RUNTIME_DIR/x11"/Xauthority +export CARGO_HOME="$XDG_CONFIG_HOME"/cargo +export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc +export GNUPGHOME="$XDG_CONFIG_HOME"/gnupg +export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc-2.0 +export CUDA_CACHE_PATH="$XDG_CONFIG_HOME"/nv +export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc +export NVM_DIR="$XDG_DATA_HOME/nvm" +export W3M_DIR="$XDG_STATE_HOME"/w3m + +export ZDOTDIR="$XDG_CONFIG_HOME"/zsh +export HISTFILE="$ZDOTDIR"/histfile +export HISTSIZE=100000 +export SAVEHIST=100000 +export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10' + +export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +export QT_QPA_PLATFORMTHEME="qt5ct" + +export _JAVA_AWT_WM_NONREPARENTING=1 +export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java + +export PASSWORD_STORE_CLIP_TIME=5 + + +source "$ZDOTDIR"/zshrc + +# old +# export RANGER_LOAD_DEFAULT_RC=FALSE +# export VIMINIT="source ~/.config/vim/vimrc" +# export fpath=($XDG_CONFIG_HOME/zsh/completion/ $fpath) diff --git a/config/zshrc/.zshrc b/config/zshrc/.zshrc deleted file mode 100644 index 30f6b46..0000000 --- a/config/zshrc/.zshrc +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/zsh - -export PATH="$HOME/.local/bin:$PATH" -export PATH="$HOME/bin:$PATH" -export PATH="$HOME/go/bin:$PATH" - -export XINITRC="$HOME/.config/x11/xinitrc" -export EDITOR="nvim" -export VISUAL="nvim" -export TERMINAL="st" -export BROWSER="firefox" - -export CARGO_HOME=~/.config/cargo -export GNUPGHOME="$HOME/.config/gnupg" -export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" -export QT_QPA_PLATFORMTHEME="qt5ct" - -export _JAVA_AWT_WM_NONREPARENTING=1 - -export PASSWORD_STORE_CLIP_TIME=5 - -if [ ! $(pgrep Xorg) ] && [ "tty1" = "$(basename $(tty))" ] -then - clear - eval "$(keychain --dir "$HOME/.config/keychain" --eval --quiet --agents gpg 3A626DD20A32EB2E5DD9CE71CFD9ABC97158CD5D 2> /dev/null)" - eval "$(keychain --dir "$HOME/.config/keychain" --noask --eval --quiet --agents ssh 2> /dev/null)" - clear - startx 2&> /dev/null - exit -fi - -autoload -U select-word-style -autoload -z edit-command-line -zle -N edit-command-line -zstyle ':compinstall' filename '/home/aluc/.zshrc' -zstyle ':completion:*' menu select -autoload -Uz compinit -autoload -Uz surround -zle -N delete-surround surround -zle -N add-surround surround -zle -N change-surround surround -compinit - -for f in \ - /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh \ - /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \ - ~/.config/zsh/functions.zsh \ - ~/.config/zsh/aliases.zsh -do - test -f $f && source $f -done - -bindkey -v -bindkey -a cs change-surround -bindkey -a ds delete-surround -bindkey -a ys add-surround -bindkey -M visual S add-surround -bindkey "^A" beginning-of-line -bindkey "^E" end-of-line -bindkey '^I' expand-or-complete-prefix # necessary for completeinword -bindkey '^Y' autosuggest-accept -bindkey "^K" kill-line -bindkey "^P" up-line-or-history -bindkey "^N" down-line-or-history -bindkey "^V" quoted-insert -bindkey "^Xa" _expand_alias -bindkey "^Xe" edit-command-line -bindkey "^[." insert-last-word -bindkey "^['" quote-line - -# pacman synced rehash -zshcache_time="$(date +%s%N)" -autoload -Uz add-zsh-hook -rehash_precmd() { - if [[ -a /var/cache/zsh/pacman ]]; then - local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)" - if (( zshcache_time < paccache_time )); then - rehash - zshcache_time="$paccache_time" - fi - fi -} -add-zsh-hook -Uz precmd rehash_precmd - -# prompt -PS1=' %B%(#.%F{1}.%F{13})[%n%b%f@%B%F{6}%m]%b%f %3~ ' -RPROMPT='%F{blue}$(parse_git_remote)%f%F{red}$(parse_git_status)%f%F{green}$(parse_git_branch)%f%(?.. %?)' - -setopt prompt_subst -parse_git_remote() { - b="$(git branch -v 2> /dev/null | grep "^*" | sed 's/.\+\[\([^ ]\+\).*$/\1/')" - if [ "$b" = "behind" ] - then - echo -n "↓ " - elif [ "$b" = "ahead" ] - then - echo -n "↑ " - fi -} -parse_git_branch() { - git symbolic-ref --short HEAD 2> /dev/null || git rev-parse --short HEAD 2> /dev/null -} -parse_git_status() { - git status --short 2> /dev/null | head -n1 | awk '{print $1 " "}' -} - -# Options -setopt correct -setopt nonomatch -setopt autocd -setopt completeinword -setopt extendedglob -setopt histignorealldups -setopt histreduceblanks -setopt interactivecomments -setopt notify -setopt cdablevars - -# Variables -HISTFILE=~/.config/zsh/histfile -HISTSIZE=100000 -SAVEHIST=100000 - -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10' -GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' -ZOT="${HOME}/zot" - -# old -# export RANGER_LOAD_DEFAULT_RC=FALSE -# export VIMINIT="source ~/.config/vim/vimrc" -# export NVM_DIR="$HOME/.config/nvm" -# export fpath=($HOME/.config/zsh/completion/ $fpath) diff --git a/stowcmds.sh b/stowcmds.sh index 9e9d26e..05d163c 100755 --- a/stowcmds.sh +++ b/stowcmds.sh @@ -26,21 +26,21 @@ case "$MACH" in stow -d bin/ -t "$HOME/bin" -R common guiscripts extra mkdir -p "$HOME/.config" stow -d config/ -t "$HOME/.config" -R essentials common extra X theme xdg - stow -d config/ -t "$HOME/" -R zshrc + stow -d config/ -t "$HOME/" -R home ;; "server" | "s") mkdir -p "$HOME/bin" stow -d bin/ -t "$HOME/bin" -R common mkdir -p "$HOME/.config" stow -d config/ -t "$HOME/.config" -R essentials common - stow -d config/ -t "$HOME/" -R zshrc + stow -d config/ -t "$HOME/" -R home ;; "laptop" | "l") mkdir -p "$HOME/bin" stow -d bin/ -t "$HOME/bin" -R common guiscripts extra mkdir -p "$HOME/.config" stow -d config/ -t "$HOME/.config" -R essentials common extra theme xdg hyprland X - stow -d config/ -t "$HOME/" -R zshrc + stow -d config/ -t "$HOME/" -R home ;; *) echo "E: invalid value for 'MACH'" 1>&2 -- cgit v1.2.3