Skip to content


Repository files navigation

Correl’s Dotfiles

My personal configuration files and installation scripts.

Emacs Configuration

I use Doom Emacs with a handful of additional packages. My configuration lives in the .doom.d folder in the following three files:

Sets up Doom Emacs with the modules I want available.
Contains all of the additional packages that I install.
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 ./, 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 ./ with no arguments for the base installation, or ./ 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.