Personal zsh configuration
plugins | ||
.gitignore | ||
.gitmodules | ||
arch.zsh | ||
bookmark.zsh | ||
clean-home.zsh | ||
init.zsh | ||
LICENSE | ||
README.md |
zsh-config
This is my personal zsh configuraton.
Requirements
- starship - a pretty and fast prompt
- direnv* - runs on cd, safely set enviroment
- exa* - better ls
- bat* - better cat, less, man, etc.
(* = optional)
Installation
- Clone this repo and init the submodules
git clone 'https://git.zander.im/Zander671/zsh-config.git'
git submodule init && git submodule update
- Create a
.zshrc
and fill it with something like this:
ZSH_CONFIG_DIR="path/to/this/repo" # This variable *MUST* be set
source "${ZSH_CONFIG_DIR}/init.zsh"
- Optionally, set some other variables (before the
source
line):
- ZSH_BOOKMARK_DIR: Bookmark directory (default: ~/.cache/zsh/bookmarks)
- ZSH_BOOKMARK_LS: If true, run
ls
after jumping to a bookmark (default: true) - ZSH_USER_DIR: Directory containing configuration files (see below, default: ~/.zsh.d)
Configuration
To configure, create ~/.zsh.d
(or set ZSH_USER_DIR as described above). The
create either of the option files init.zsh
and early-init.zsh
. The former is
run in the middle of startup, after most plugins have been initialized, but
before ones related to command history, auto-complete, etc. The latter is run as
the first thing in the configuration file (after autoload -U compinit && compinit
).