Skip to content

alexandru-dinu/zsh-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zsh config

CI

A minimalistic zsh configuration.

Getting Started

Prerequisites

  • zsh 5.3+
  • git 2.22+

Install

The config follows the XDG Base Directory specification. You need the following env vars defined in ~/.zshenv:

export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"

export ZDOTDIR="$XDG_CONFIG_HOME"/zsh
export HISTFILE="$XDG_DATA_HOME"/zsh/history

Then you can install the config as such:

CFG_DIR="$XDG_CONFIG_HOME"/zsh
DATA_DIR="$XDG_DATA_HOME"/zsh

rm -ri "$CFG_DIR"
mkdir -p "$DATA_DIR"

git clone --depth=1 --recurse-submodules --remote-submodules \
    https://github.com/alexandru-dinu/zsh-config.git $CFG_DIR

$DATA_DIR contains persistent, non-config files, e.g.:

bookmarks  history  zcompcache/  zcompdump

Finally, config.zsh needs to be sourced in $ZDOTDIR/.zshrc:

plugins=(fzf zshmarks zsh-autosuggestions)
source $ZDOTDIR/config.zsh

Info

  • Async git info using async.zsh.
  • One clean theme, showing git and conda / venv info.
  • Vi-mode is enabled by default.
  • Plugins can be added in the plugins directory, each one having an entrypoint X/X.plugin.zsh.
  • Enabling a plugin is done by adding it to the plugins array defined in zshrc.
  • The following plugins are enabled by default:

Credits

About

A minimalistic zsh configuration.

Topics

Resources

License

Stars

Watchers

Forks

Languages