+++ /dev/null
-## Options section
-setopt correct # Auto correct mistakes
-setopt extendedglob # Extended globbing. Allows using regular expressions with *
-setopt nocaseglob # Case insensitive globbing
-setopt rcexpandparam # Array expension with parameters
-setopt nocheckjobs # Don't warn about running processes when exiting
-setopt numericglobsort # Sort filenames numerically when it makes sense
-setopt nobeep # No beep
-setopt appendhistory # Immediately append history instead of overwriting
-setopt histignorealldups # If a new command is a duplicate, remove the older one
-setopt autocd # if only directory path is entered, cd there.
-
-zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
-zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
-zstyle ':completion:*' rehash true # automatically find new executables in path
-# Speed up completions
-zstyle ':completion:*' accept-exact '*(N)'
-zstyle ':completion:*' use-cache on
-zstyle ':completion:*' cache-path ~/.zsh/cache
-HISTFILE=~/.zhistory
-HISTSIZE=1000
-SAVEHIST=500
-#export EDITOR=/usr/bin/nano
-#export VISUAL=/usr/bin/nano
-WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
-
-
-## Keybindings section
-bindkey -e
-bindkey '^[[7~' beginning-of-line # Home key
-bindkey '^[[H' beginning-of-line # Home key
-if [[ "${terminfo[khome]}" != "" ]]; then
- bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
-fi
-bindkey '^[[8~' end-of-line # End key
-bindkey '^[[F' end-of-line # End key
-if [[ "${terminfo[kend]}" != "" ]]; then
- bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
-fi
-bindkey '^[[2~' overwrite-mode # Insert key
-bindkey '^[[3~' delete-char # Delete key
-bindkey '^[[C' forward-char # Right key
-bindkey '^[[D' backward-char # Left key
-bindkey '^[[5~' history-beginning-search-backward # Page up key
-bindkey '^[[6~' history-beginning-search-forward # Page down key
-
-# Navigate words with ctrl+arrow keys
-bindkey '^[Oc' forward-word #
-bindkey '^[Od' backward-word #
-bindkey '^[[1;5D' backward-word #
-bindkey '^[[1;5C' forward-word #
-bindkey '^H' backward-kill-word # delete previous word with ctrl+backspace
-bindkey '^[[Z' undo # Shift+tab undo last action
-
-## Alias section
-alias cp="cp -i" # Confirm before overwriting something
-alias df='df -h' # Human-readable sizes
-alias free='free -m' # Show sizes in MB
-alias cfg='/usr/bin/git --git-dir=/home/quilime/.cfg/.git/ --work-tree=/home/quilime'
-alias ls='ls --color'
-
-
-# Theming section
-autoload -U compinit colors zcalc
-compinit -d
-colors
-
-# Color man pages
-export LESS_TERMCAP_mb=$'\E[01;32m'
-export LESS_TERMCAP_md=$'\E[01;32m'
-export LESS_TERMCAP_me=$'\E[0m'
-export LESS_TERMCAP_se=$'\E[0m'
-export LESS_TERMCAP_so=$'\E[01;47;34m'
-export LESS_TERMCAP_ue=$'\E[0m'
-export LESS_TERMCAP_us=$'\E[01;36m'
-export LESS=-r
-
-
-## Plugins section: Enable fish style features
-# Use syntax highlighting
-source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
-# Use history substring search
-source /opt/homebrew/share/zsh-history-substring-search/zsh-history-substring-search.zsh
-# bind UP and DOWN arrow keys to history substring search
-zmodload zsh/terminfo
-bindkey "$terminfo[kcuu1]" history-substring-search-up
-bindkey "$terminfo[kcud1]" history-substring-search-down
-bindkey '^[[A' history-substring-search-up
-bindkey '^[[B' history-substring-search-down
-
-# Offer to install missing package if command is not found
-if [[ -r /usr/share/zsh/functions/command-not-found.zsh ]]; then
- source /usr/share/zsh/functions/command-not-found.zsh
- export PKGFILE_PROMPT_INSTALL_MISSING=1
-fi
+++ /dev/null
-#!/bin/sh
-
-# git
-autoload -Uz vcs_info
-precmd_vcs_info() { vcs_info }
-precmd_functions+=( precmd_vcs_info )
-setopt prompt_subst
-# RPROMPT='${vcs_info_msg_0_}'
-# PROMPT='${vcs_info_msg_0_}%# '
-zstyle ':vcs_info:git:*' formats '%b'
-
-# prompt
-# time: %F{magenta}%*
-PROMPT='%F{cyan}%n@%m%f %F{240}%1~ %f%# '
-RPROMPT='%F{green}${vcs_info_msg_0_} %F{240}%*%f'
-
-
-
-# ZSH completion
-if type brew &>/dev/null; then
- FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
-fi
-autoload -Uz compinit
-# only rebuild the completion dump once a day
-if [[ -n ~/.zcompdump(#qN.mh+24) ]]; then compinit; else compinit -C; fi
-
-export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43'
-
-zstyle ':completion:*' menu select
-zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
-zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
-zstyle ':completion:*' group-name ''
-zstyle ':completion:*:descriptions' format '%F{yellow}-- %d --%f'
-zstyle ':completion:*:messages' format '%F{purple}-- %d --%f'
-zstyle ':completion:*:warnings' format '%F{red}-- no matches --%f'
-zstyle ':completion:*' verbose yes
-zstyle ':completion:*' use-cache on
-zstyle ':completion:*' cache-path ~/.zsh/cache
-setopt complete_in_word auto_menu
-
-
-# aliases
-alias ls='ls -G'
-alias cats='highlight -O ansi --force'
-alias x86='arch -x86_64 zsh' # Start Shell in Rosetta 2 (M1 Macs)
-alias dl='yt-dlp'
-alias hf='defaults write com.apple.finder AppleShowAllFiles false; killall Finder' # hide hidden
-alias shf='defaults write com.apple.finder AppleShowAllFiles true; killall Finder' # show hidden
-# alias cat='bat'
-alias grep='grep --color'
-alias ff='fastfetch'
-#alias ncdu='ncdu --color=dark'
-
-# scripts
-export PATH="/Users/gld/bin:$PATH"
-
-
-# Lima
-alias archlinux='limactl shell archlinux'
-alias ubuntu='limactl shell ubuntu'
-
-# ncdu - directory size
-# fzf - fuzzy file search
-
-# if x86, show in prompt
-if [ `arch` = "i386" ];
-then
- PROMPT=$PROMPT"[x86] "
-fi
-
-# sublime
-export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"
-
-# homebrew
-eval $(/opt/homebrew/bin/brew shellenv)
-
-# nvm
-export NVM_DIR="$HOME/.nvm"
-[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
-[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
-
-# LaTeX
-export PATH="/etc/paths.d/TeX:/Library/TeX/texbin:$PATH"
-
-# ruby
-export PATH="/Users/gld/.gem/ruby/3.1.1/bin:/opt/homebrew/opt/ruby/bin:/opt/homebrew/lib/ruby/gems/3.1.1/bin:$PATH"
-#export PATH="/Users/gld/.gem/ruby/3.1.0/bin:/opt/homebrew/opt/ruby/bin:/opt/homebrew/lib/ruby/gems/3.1.0/bin:$PATH"
-source /opt/homebrew/opt/chruby/share/chruby/chruby.sh
-source /opt/homebrew/opt/chruby/share/chruby/auto.sh
-# chruby ruby-3.1.2 # run chruby to see actual version
-#source /opt/homebrew/opt/chruby/share/chruby/chruby.sh
-#source /opt/homebrew/opt/chruby/share/chruby/auto.sh
-
-# mysql
-export PATH="/opt/homebrew/opt/mysql/bin:$PATH"
-
-# dotfiles
-alias cfg='/opt/homebrew/bin/git --git-dir=/Users/gld/.cfg/ --work-tree=/Users/gld'
-
-# more path
-export PATH="$HOME/.local/bin:$PATH"
-
-# fzf and fuzzy tab completion
-source <(fzf --zsh)
-source "$(brew --prefix)/opt/fzf-tab/share/fzf-tab/fzf-tab.zsh"
-zstyle ':fzf-tab:*' fzf-flags --height=40%
-
-# plugins -- syntax highlighting must stay last
-source "$(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
-source "$(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
-
-
-
+++ /dev/null
-# enable substitution for prompt
-setopt prompt_subst
-
-# Prompt (on left side) similar to default bash prompt, or redhat zsh prompt with colors
-PROMPT="%(!.%{$fg[red]%}[%n@%m %1~] %{$reset_color%}# .%{$fg[green]%}[%n@%m %1~] %{$fg[cyan]%}%T%{$reset_color%} $ "
-# Maia prompt
-# PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.%{$fg[cyan]%}.%{$fg[red]%})>%{$reset_color%}%b " # Print some system information when the shell is first started
-# Print a greeting message when shell is started
-echo $USER@$HOST $(uname -srm)
-if command -v COMMAND &> /dev/null
-then
- $(lsb_release -rcs)
-fi
-
-
-## Prompt on right side:
-# - shows status of git when in git repository (code adapted from https://techanic.net/2012/12/30/my_git_prompt_for_zsh.html)
-# - shows exit status of previous command (if previous command finished with an error)
-# - is invisible, if neither is the case
-
-# Modify the colors and symbols in these variables as desired.
-GIT_PROMPT_SYMBOL="%{$fg[blue]%}±" # plus/minus - clean repo
-GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$reset_color%}"
-GIT_PROMPT_SUFFIX="%{$fg[green]%}]%{$reset_color%}"
-GIT_PROMPT_AHEAD="%{$fg[red]%}ANUM%{$reset_color%}" # A"NUM" - ahead by "NUM" commits
-GIT_PROMPT_BEHIND="%{$fg[cyan]%}BNUM%{$reset_color%}" # B"NUM" - behind by "NUM" commits
-GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}⚡︎%{$reset_color%}" # lightning bolt - merge conflict
-GIT_PROMPT_UNTRACKED="%{$fg_bold[red]%}●%{$reset_color%}" # red circle - untracked files
-GIT_PROMPT_MODIFIED="%{$fg_bold[yellow]%}●%{$reset_color%}" # yellow circle - tracked files modified
-GIT_PROMPT_STAGED="%{$fg_bold[green]%}●%{$reset_color%}" # green circle - staged changes present = ready for "git push"
-
-parse_git_branch() {
- # Show Git branch/tag, or name-rev if on detached head
- ( git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD ) 2> /dev/null
-}
-
-parse_git_state() {
- # Show different symbols as appropriate for various Git repository states
- # Compose this value via multiple conditional appends.
- local GIT_STATE=""
- local NUM_AHEAD="$(git log --oneline @{u}.. 2> /dev/null | wc -l | tr -d ' ')"
- if [ "$NUM_AHEAD" -gt 0 ]; then
- GIT_STATE=$GIT_STATE${GIT_PROMPT_AHEAD//NUM/$NUM_AHEAD}
- fi
- local NUM_BEHIND="$(git log --oneline ..@{u} 2> /dev/null | wc -l | tr -d ' ')"
- if [ "$NUM_BEHIND" -gt 0 ]; then
- GIT_STATE=$GIT_STATE${GIT_PROMPT_BEHIND//NUM/$NUM_BEHIND}
- fi
- local GIT_DIR="$(git rev-parse --git-dir 2> /dev/null)"
- if [ -n $GIT_DIR ] && test -r $GIT_DIR/MERGE_HEAD; then
- GIT_STATE=$GIT_STATE$GIT_PROMPT_MERGING
- fi
- if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
- GIT_STATE=$GIT_STATE$GIT_PROMPT_UNTRACKED
- fi
- if ! git diff --quiet 2> /dev/null; then
- GIT_STATE=$GIT_STATE$GIT_PROMPT_MODIFIED
- fi
- if ! git diff --cached --quiet 2> /dev/null; then
- GIT_STATE=$GIT_STATE$GIT_PROMPT_STAGED
- fi
- if [[ -n $GIT_STATE ]]; then
- echo "$GIT_PROMPT_PREFIX$GIT_STATE$GIT_PROMPT_SUFFIX"
- fi
-}
-
-git_prompt_string() {
- local git_where="$(parse_git_branch)"
-
- # If inside a Git repository, print its branch and state
- [ -n "$git_where" ] && echo "$GIT_PROMPT_SYMBOL$(parse_git_state)$GIT_PROMPT_PREFIX%{$fg[yellow]%}${git_where#(refs/heads/|tags/)}$GIT_PROMPT_SUFFIX"
-
- # If not inside the Git repo, print exit codes of last command (only if it failed)
- [ ! -n "$git_where" ] && echo "%{$fg[red]%} %(?..[%?])"
-}
-
-# Right prompt with exit status of previous command if not successful
- #RPROMPT="%{$fg[red]%} %(?..[%?])"
-# Right prompt with exit status of previous command marked with ✓ or ✗
- #RPROMPT="%(?.%{$fg[green]%}✓ %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
-
-# Apply different settigns for different terminals
-case $(basename "$(cat "/proc/$PPID/comm")") in
- login)
- RPROMPT="%{$fg[red]%} %(?..[%?])"
- alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
- ;;
-# 'tmux: server')
-# RPROMPT='$(git_prompt_string)'
-# ## Base16 Shell color themes.
-# #possible themes: 3024, apathy, ashes, atelierdune, atelierforest, atelierhearth,
-# #atelierseaside, bespin, brewer, chalk, codeschool, colors, default, eighties,
-# #embers, flat, google, grayscale, greenscreen, harmonic16, isotope, londontube,
-# #marrakesh, mocha, monokai, ocean, paraiso, pop (dark only), railscasts, shapesifter,
-# #solarized, summerfruit, tomorrow, twilight
-# #theme="eighties"
-# #Possible variants: dark and light
-# #shade="dark"
-# #BASE16_SHELL="/usr/share/zsh/scripts/base16-shell/base16-$theme.$shade.sh"
-# #[[ -s $BASE16_SHELL ]] && source $BASE16_SHELL
-# # Use autosuggestion
-# source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
-# ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
-# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
-# ;;
- *)
- RPROMPT='$(git_prompt_string)'
- # Use autosuggestion
- source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
- ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
- ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
- ;;
-esac