The best ones out there, surely.
WARNING: Instead of using my repository directly, you should do a couple of things:
- Create a fork.
- Review the code. Seriously.
- Remove any unneeded topics.
NOTE: These dotfiles are supposed to work on a minimal installation of Fedora, macOS, and Ubuntu for WSL.
Assuming that Git is already installed, run the following commands to initialize the dotfiles.
# Replace `wafflepie` with your GitHub username if using a fork.
git clone --recurse-submodules https://github.com/wafflepie/dotfiles.git ~/.dotfiles
~/.dotfiles/binaries/dot
The structure is built around topics, see holman's dotfiles to learn more about this approach.
Any file in /topics
beginning with a dot (such as /topics/git/.gitconfig
) will be automagically symlinked to your home directory. Use the +
character to indicate a directory structure. For example, /topics/git/.git-templates+hooks+post-commit
will be symlinked to ~/.git-templates/hooks/post-commit
.
Any .zsh
files in /topics
will be automatically sourced in the .zshrc
file. You can also name them .pre.zsh
or .post.zsh
if you need to source them in a certain order.
NOTE: The .post.zsh
files will be loaded after all of the antibody
plugins.
You can add an .sh
script to a topic if you need some additional setup upon (re)initialization. As with the configuration files, you can use the .pre.sh
and .post.sh
suffixes to modify the order.
NOTE: These scripts should be idempotent.
Any topic may include a Dumpfile
, denoting that it contains some files which are meant to be autogenerated, but which are still supposed to be in source control, such as lists of packages.
Running dot
will reinitialize your dotfiles, i.e. recreate symlinks and run all install scripts. Running dot
should be idempotent, so you can reinitialize as many times as you need to.
If you only want to reinitialize some topics, run dot <topics>
instead, e.g. dot nvm yarn
.