Personal zsh configuration
Go to file
2024-01-09 15:10:46 -08:00
plugins Update submodules 2023-12-22 21:30:56 -08:00
.gitignore Initial commit 2022-08-28 02:52:37 -07:00
.gitmodules Various changes 2022-11-30 23:28:40 -08:00
arch.zsh Fix arch.zsh 2023-10-15 22:39:36 -07:00
bookmark.zsh Overhaul bookmark.zsh completions 2023-05-03 04:11:16 -07:00
early-init.zsh Reorganize files 2023-11-21 04:04:09 -08:00
init.zsh Add some dired aliases and functions 2024-01-09 15:10:46 -08:00
LICENSE Initial commit 2022-08-28 02:52:37 -07:00
README.md Change exa to eza 2023-09-10 03:40:05 -07:00

zsh-config

This is my personal zsh configuraton.

Requirements

  • starship - a pretty and fast prompt
  • direnv* - runs on cd, safely set enviroment
  • eza* - better ls
  • bat* - better cat, less, man, etc.

(* = optional)

Installation

  1. Clone this repo and init the submodules
git clone 'https://git.zander.im/Zander671/zsh-config.git'
git submodule init && git submodule update
  1. 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"
  1. 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).