I would highly recommend using this repository only as a reference and building your own dotfile solution from scratch.
However, I would *also* highly recommend using this stow-based approach instead of putting a bare repo in your home directory. Been there, done that. It sucks, especially if you're the type to diverge configs between machines or just want a subset installed.
This stash contains a number of packages for numerous situations:
| package | description |
| --- | --- |
| `base` | The base package contains shell and core utility configuration. Other packages do not depend on it; it merely contains basic configuration that I find necessary in every case. |
| `bin` | My custom binaries, plonked at `~/.bin`. |
| `desktop-common` | Common configuration shared across all possible rices. This contains things such as keybindings for applications, Quake configs, Redshift, etc. Configuration files with themes are avoided where possible. |
| `desktop-gruvbox` | My current rice and its accompanying configs. A nice and simple one with Rofi, bspwm, Dunst, Compton, and Polybar. |
| `firestarter` | A custom set of desktop environment scripts that I threw together to manage my environment without worrying about the fine details all the time. See the Firestarter repo for more info. |
| `git` | My personal git configuration. Separated from base because sometimes I don't want cockmail on all my commits. |
| `mac` | MacOS-specific configs. Very sparse; I hardly ever have to use one. |
| `ssh` | SSH configuration for my desktop machines. |
| `vim` | Configuration for Vim, everybody\*'s favorite text editor. Contains a fair few plugins and a mildly flabby `.vimrc`. |
Included within are also a handful of management scripts.
| script | description |
| --- | --- |
| `submodule-checkout-masters-and-update.sh` | For every submodule in the repo, checks out its master branch (instead of the exact commit specified in the base repo) and then pulls from upstream. Effectively, this updates any submodules in the repo, such as Vim plugins, themes, etc. |