2022-08-28 02:52:37 -07:00
|
|
|
# zsh-config
|
|
|
|
This is my personal zsh configuraton.
|
|
|
|
|
|
|
|
### Requirements
|
2022-11-30 23:28:40 -08:00
|
|
|
* [starship](https://github.com/starship/starship) - a pretty and fast prompt
|
|
|
|
* [direnv](https://github.com/direnv/direnv)* - runs on cd, safely set enviroment
|
|
|
|
* [exa](https://github.com/ogham/exa)* - better ls
|
|
|
|
* [bat](https://github.com/sharkdp/bat)* - better cat, less, man, etc.
|
|
|
|
|
|
|
|
(* = optional)
|
2022-08-28 02:52:37 -07:00
|
|
|
|
|
|
|
### Installation
|
2022-08-30 02:04:54 -07:00
|
|
|
1. Clone this repo and init the submodules
|
2022-11-30 23:28:40 -08:00
|
|
|
```sh
|
|
|
|
git clone 'https://git.zander.im/Zander671/zsh-config.git'
|
|
|
|
git submodule init && git submodule update
|
|
|
|
```
|
2022-08-28 02:52:37 -07:00
|
|
|
2. Create a `.zshrc` and fill it with something like this:
|
2022-11-30 23:28:40 -08:00
|
|
|
```zsh
|
|
|
|
ZSH_CONFIG_DIR="path/to/this/repo" # This variable *MUST* be set
|
2022-11-30 23:35:15 -08:00
|
|
|
source "${ZSH_CONFIG_DIR}/init.zsh"
|
2022-11-30 23:28:40 -08:00
|
|
|
```
|
2022-08-28 02:52:37 -07:00
|
|
|
3. Optionally, set some other variables (before the `source` line):
|
2023-05-03 16:29:35 -07:00
|
|
|
* 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`).
|