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.
