commit e427a909d17006b45392acdce7d20817ece1e526 Author: Daniele Pintore Date: Tue Feb 20 11:31:08 2024 +0100 Added zsh configs diff --git a/.config/zsh/.gitignore b/.config/zsh/.gitignore new file mode 100644 index 0000000..0dcb4f6 --- /dev/null +++ b/.config/zsh/.gitignore @@ -0,0 +1,2 @@ +.zcompdump* +histfile diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile new file mode 100644 index 0000000..39fbcfb --- /dev/null +++ b/.config/zsh/.zprofile @@ -0,0 +1,7 @@ +# Profile file. Runs at login. Environmental variables are set here +# Exaples: +# export NAME="VALUE" +# export PATH="$PATH:/newPath" +export PATH="$PATH:/opt/flutter/bin/" + +export CAPACITOR_ANDROID_STUDIO_PATH="/home/daniele/.local/share/JetBrains/Toolbox/apps/android-studio/bin/studio.sh" diff --git a/.config/zsh/.zshenv b/.config/zsh/.zshenv new file mode 100644 index 0000000..c2f3182 --- /dev/null +++ b/.config/zsh/.zshenv @@ -0,0 +1 @@ +. "$HOME/.cargo/env" diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc new file mode 100644 index 0000000..9195c60 --- /dev/null +++ b/.config/zsh/.zshrc @@ -0,0 +1,76 @@ +# Load aliases +source $HOME/.config/zsh/aliases.zsh + +# Enable colors and change prompt +autoload -U colors && colors + +# Get git branch for the prompt +autoload -Uz vcs_info # load function +zstyle ':vcs_info:*' enable git # disable all vcs except git +zstyle ':vcs_info:*' actionformats '%F{5}(%f%s%F{5})hole%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f' +zstyle ':vcs_info:*' formats '%F{9}( %b)%f ' +precmd () { vcs_info } +setopt prompt_subst + +#PS1="\$vcs_info_msg_0_ $PS1" +PS1='%F{10}%~ %f${vcs_info_msg_0_}' + +# History in zsh dir +HISTFILE=~/.config/zsh/histfile +HISTSIZE=10000 +SAVEHIST=10000 + +# set vim as prefered editor +bindkey -v +export KEYTIMEOUT=1 + +# Auto completition +autoload -U compinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. + +# 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 { + if [[ ${KEYMAP} == vicmd ]] || + [[ $1 = 'block' ]]; then + echo -ne '\e[1 q' + elif [[ ${KEYMAP} == main ]] || + [[ ${KEYMAP} == viins ]] || + [[ ${KEYMAP} = '' ]] || + [[ $1 = 'beam' ]]; then + echo -ne '\e[5 q' + fi +} +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; zstyle :zle:edit-command-line editor nvim; +bindkey '^e' edit-command-line + +# Add reverse seach with ctrl-r +bindkey -v '^R' history-incremental-search-backward + +# Load zsh-syntax-highlighting; should be last. (You have to install it: +# https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md) +# Theme section +source $HOME/.config/zsh/themes/dracula.zsh +# End theme section + +# Zsh syntax highlighting +source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh diff --git a/.config/zsh/README.md b/.config/zsh/README.md new file mode 100644 index 0000000..9197ac5 --- /dev/null +++ b/.config/zsh/README.md @@ -0,0 +1,7 @@ +Clone this repo includig it's submodule: + +In order to put this config in the .config folder you have to edit /etc/zprofile to include these lines: +```bash +# Change zsh root dir in order to not pollute the home dir +export ZDOTDIR="$HOME/.config/zsh/" +``` diff --git a/.config/zsh/aliases.zsh b/.config/zsh/aliases.zsh new file mode 100644 index 0000000..8d69797 --- /dev/null +++ b/.config/zsh/aliases.zsh @@ -0,0 +1,18 @@ +# nvim alias +alias vim=nvim + +## Colorize the ls output +alias ls='ls --color=auto' + +## Use a long listing format +alias ll='ls -la' + +## secure run program via podman run +#alias podrun='podman run -v $(pwd):/chall/ --rm -it registry.fedoraproject.org/fedora:latest $@' +alias podrun='podman run -v $(pwd):/chall/ --rm -it registry.fedoraproject.org/fedora:latest $@' + +## pwninit alias +alias pwninit='pwninit --template-path /home/daniele/.config/pwninit/pwninit-template.py' + +## alias for managing dotfiles +alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' diff --git a/.config/zsh/themes/catppuccin_mocha.zsh b/.config/zsh/themes/catppuccin_mocha.zsh new file mode 100644 index 0000000..3958790 --- /dev/null +++ b/.config/zsh/themes/catppuccin_mocha.zsh @@ -0,0 +1,74 @@ +# Catppuccin Mocha Theme (for zsh-syntax-highlighting) +# +# Paste this files contents inside your ~/.zshrc before you activate zsh-syntax-highlighting +ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor) +typeset -gA ZSH_HIGHLIGHT_STYLES + +# Main highlighter styling: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md +# +## General +### Diffs +### Markup +## Classes +## Comments +ZSH_HIGHLIGHT_STYLES[comment]='fg=#585b70' +## Constants +## Entitites +## Functions/methods +ZSH_HIGHLIGHT_STYLES[alias]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[command]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[precommand]='fg=#a6e3a1,italic' +ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#fab387,italic' +ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#fab387' +ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#fab387' +ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#cba6f7' +## Keywords +## Built ins +ZSH_HIGHLIGHT_STYLES[builtin]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#a6e3a1' +## Punctuation +ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#f38ba8' +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#f38ba8' +ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#f38ba8' +ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#f38ba8' +## Serializable / Configuration Languages +## Storage +## Strings +ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#f9e2af' +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#f9e2af' +ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#f9e2af' +ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#e64553' +ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#f9e2af' +ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#e64553' +ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#f9e2af' +## Variables +ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#e64553' +ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[assign]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#cdd6f4' +## No category relevant in spec +ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#e64553' +ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4,underline' +ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#f38ba8,underline' +ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#cdd6f4,underline' +ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#f38ba8,underline' +ZSH_HIGHLIGHT_STYLES[globbing]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#cba6f7' +#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?' +#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?' +#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?' +#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?' +ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#e64553' +ZSH_HIGHLIGHT_STYLES[redirection]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[arg0]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[default]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[cursor]='fg=#cdd6f4' diff --git a/.config/zsh/themes/dracula.zsh b/.config/zsh/themes/dracula.zsh new file mode 100644 index 0000000..daca9fe --- /dev/null +++ b/.config/zsh/themes/dracula.zsh @@ -0,0 +1,90 @@ +# Dracula Theme (for zsh-syntax-highlighting) +# +# https://github.com/zenorocha/dracula-theme +# +# Copyright 2021, All rights reserved +# +# Code licensed under the MIT license +# http://zenorocha.mit-license.org +# +# @author George Pickering <@bigpick> +# @author Zeno Rocha +# Paste this files contents inside your ~/.zshrc before you activate zsh-syntax-highlighting +ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor) +typeset -gA ZSH_HIGHLIGHT_STYLES +# Default groupings per, https://spec.draculatheme.com, try to logically separate +# possible ZSH_HIGHLIGHT_STYLES settings accordingly...? +# +# Italics not yet supported by zsh; potentially soon: +# https://github.com/zsh-users/zsh-syntax-highlighting/issues/432 +# https://www.zsh.org/mla/workers/2021/msg00678.html +# ... in hopes that they will, labelling accordingly with ,italic where appropriate +# +# Main highlighter styling: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md +# +## General +### Diffs +### Markup +## Classes +## Comments +ZSH_HIGHLIGHT_STYLES[comment]='fg=#6272A4' +## Constants +## Entitites +## Functions/methods +ZSH_HIGHLIGHT_STYLES[alias]='fg=#50FA7B' +ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#50FA7B' +ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#50FA7B' +ZSH_HIGHLIGHT_STYLES[function]='fg=#50FA7B' +ZSH_HIGHLIGHT_STYLES[command]='fg=#50FA7B' +ZSH_HIGHLIGHT_STYLES[precommand]='fg=#50FA7B,italic' +ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#FFB86C,italic' +ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#FFB86C' +ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#FFB86C' +ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#BD93F9' +## Keywords +## Built ins +ZSH_HIGHLIGHT_STYLES[builtin]='fg=#8BE9FD' +ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#8BE9FD' +ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#8BE9FD' +## Punctuation +ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#FF79C6' +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#FF79C6' +ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#FF79C6' +ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#FF79C6' +## Serializable / Configuration Languages +## Storage +## Strings +ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#F1FA8C' +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#F1FA8C' +ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#F1FA8C' +ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#FF5555' +ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#F1FA8C' +ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#FF5555' +ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#F1FA8C' +## Variables +ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#FF5555' +ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[assign]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#F8F8F2' +## No category relevant in spec +ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#FF5555' +ZSH_HIGHLIGHT_STYLES[path]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#FF79C6' +ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#FF79C6' +ZSH_HIGHLIGHT_STYLES[globbing]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#BD93F9' +#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?' +#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?' +#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?' +#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?' +ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#FF5555' +ZSH_HIGHLIGHT_STYLES[redirection]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[arg0]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[default]='fg=#F8F8F2' +ZSH_HIGHLIGHT_STYLES[cursor]='standout'