This repo contains the latest and greatest version of my dotfiles. I try to extract meaningful bits and pieces to separate plugins/repositories so they can be used by the broader public, however tweaks that are highly personal preference often first end up here before I decide what to do with them.
In summary my work environment consists of:
| purpose | tool | 
|---|---|
| editor | Neovim | 
| terminal multiplexer | Tmux | 
| shell | Zsh | 
| terminal application | Alacritty | 
- Install rcmusing your package manager, e.g.brew install rcm.
- Clone this repository into ~/.dotfiles.
- Run rcup -vfrom the repo root to symlink all managed files. The includedrcrcfile controls which files are linked.
Create your own symlinks if you prefer not to use rcm:
ln -s "$PWD/zshrc" ~/.zshrc
ln -s "$PWD/tmux.conf" ~/.tmux.conf- Homebrew packages: brew bundleinstalls everything from theBrewfile.
- Yarn packages: run npx yarn-bundleto install entries fromYarnfile.
- Cargo packages: cargo install --locked $(awk '{print $1}' CargoFile).
- Neovim uses the files under config/nvim. Start Neovim once to install plugins.
- Zsh is configured using zshrc,zshenvand related files. Set it as your shell withchsh -s $(which zsh).
- Additional application configs live in the config/directory (for Ranger, etc.). Link them withrcupor create manual symlinks.
Custom terminfo definitions live in the terminfo/ directory. Compile and
install them using:
scripts/install-terminfo.shThis installs the entries into ~/.terminfo so that tools like tmux can use
them.
Clone the Tmux Plugin Manager and install the configured plugins by running:
scripts/install-tmux-plugins.shRun this once after linking tmux.conf.
Run scripts/compile-zsh whenever you modify zsh_prompt, zsh_aliases or
zsh_keybindings to regenerate their .zwc files. The compiled versions will
be loaded automatically if present.
This project is licensed under the MIT License. See LICENSE for details.
