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
rcm
using your package manager, e.g.brew install rcm
. - Clone this repository into
~/.dotfiles
. - Run
rcup -v
from the repo root to symlink all managed files. The includedrcrc
file 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 bundle
installs everything from theBrewfile
. - Yarn packages: run
npx yarn-bundle
to 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
,zshenv
and related files. Set it as your shell withchsh -s $(which zsh)
. - Additional application configs live in the
config/
directory (for Ranger, etc.). Link them withrcup
or create manual symlinks.
Custom terminfo definitions live in the terminfo/
directory. Compile and
install them using:
scripts/install-terminfo.sh
This 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.sh
Run 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.