My personal configuration files and installation scripts.
I use Doom Emacs with a handful of additional packages. My configuration lives in the .doom.d folder in the following three files:
- init.el
- Sets up Doom Emacs with the modules I want available.
- packages.el
- Contains all of the additional packages that I install.
- config.org
- My literate configuration file containing all of my customization. Check this out if you want to see how I set things up.
Rather than attempting to remember what I which applications I want installed and how I have to install them on my machines, I’ve scripted them into a set of “recipes” that I can easily execute to get my environment set up. Think something like Chef or Ansible, except hacked together in bash.
Simply by cloning this repository and running ./provision.sh, I can turn any OSX or Ubuntu machine (typically my work laptop and personal Chromebook running GalliumOS) into a comfortably familiar basic environment with zsh, git, emacs, my personal scripts, and my favorite command-line utilities.
Once the base (or, at the very least, bin) recipe has been installed, the
provisioning tool is available in my path as dotfiles
, which I can then
execute to install other recipes as I need them.
Most (but not all!) of the recipes are built to support both OSX and Ubuntu (or
other Debian-based distributions). I’ve preferred brew
when possible for OSX,
and apt
for Ubuntu (as linuxbrew is slow and eats up way too much space on my
Chromebook).
- Clone this repository to
~/dotfiles
(some recipes depend on this location, sorry). - Run
./provision.sh
with no arguments for the base installation, or./provision.sh bin
for the minimum (which simply adds${HOME}/dotfiles/bin
to the PATH).
dotfiles [OPTION]... [RECIPE]...
Provision one or more dotfiles RECIPEs.
- -A, –all
- Install all available recipes.
- -D, –debug
- Enable debug logging, including command output for each step.
- -h, –help
- Display this help text and exit.
- -l, –list
- Display all available recipes and exit.
- -r, –restart
- Restart the shell upon completion.
If no RECIPE
is provided (and the -A/--all
flag is not set), the base recipe
will be provisioned.