Environment configuration for @tannerwelsh.
Built around @anishathalye's dotbot.
The main configuration lives in default.conf.yaml
, and additional machine-specific configurations can be found in additional *.conf.yaml
files.
Since this configuration is meant to support both Mac and Linux machines, there are some slight differences.
Most of these can be resolved by installing the platform-specific config (e.g. mac.conf.yaml
), but some (such as those which affect statically tracked files like config/gitconfig
) must be handled by using a different branch.
For this, before installing make sure to use the appropriate branch for your platform:
-
Clone this repo at
~/.dotfiles
- this ensures that theDOTFILES_DIR
environment variable is exported correctly.$ git clone [email protected]:tannerwelsh/dotfiles.git
-
Install dependencies: submodules and dependent packages/systems:
-
Run install script for the given machine, e.g. to use
mac.conf.yaml
:$ cd dotfiles $ ./install -c mac.conf.yaml
-
Enjoy your new configuration, with dotfiles symlinked into
~/
!
NOTE: install only certain sections with the --only
flag for install (see dotbot docs for more info), e.g. ./install -c mac.conf.yaml --only link
.
Some of the packages installed might need additional configuration to work properly. Known caveats:
After running ./install
, install useful keybindings and fuzzy completion for fzf. See instructions with brew info fzf
(for Mac).
When first running tmux, the plugins managed by tpm are not installed. To install them, run prefix + I
(prefix is configured to ctrl-a) from within a tmux session.
All dependencies are included as Git submodules. To update them, run:
$ ./update
You will find aliases for common commands in configs/zsh_aliases
, although some may be added through Oh My ZSH plugins as well.
Some useful ones to be aware of:
$ dotfiles # navigate to this directory
$ _alias # open zsh_aliases file in $EDITOR
$ refresh # re-source ~/.zshrc in shell (to include latest changes)
This tool takes advantage of git submodules to load other dependencies. The full list of submodules can be found in the file .gitmodules
.
The foundational framework for this project. Provides basic infrastructure for defining the configuration YAML. repo
Dotbot plugin allowing list of Homebrew packages to be defined in config files. repo
Framework for managing zsh configuration. repo
Tmux plugin manager. Self-explanatory. repo
There are other tools which you may want to install depending on environment needs.
- ImageMagick - image processing tool, used by lots of libraries
Also, some optional apps that you can manually install:
- 1Password
- Descript
- Docker Desktop
- Dropbox
- Figma
- Moom
- Pastebot (Mac)
- Slack
- Spotify
- Todoist
- VS Code (and Insiders edition)
- XCode (Mac)
- Zoom