Dotfiles
Find a file
2021-01-21 23:20:13 -05:00
.config [provisioning] Configure BSPWM 2020-06-23 21:14:51 -04:00
.doom.d [emacs] Add undo-tree 2021-01-21 23:20:13 -05:00
applications [provisioning] Commit missing org-protocol app 2020-07-23 18:15:43 -04:00
bin [provisioning] Add html-xml-utils 2020-08-27 21:41:37 -04:00
Library/LaunchAgents [provisioning] Add chunkwm 2018-08-10 14:41:46 -04:00
recipes [provisioning] Add recipe for my work macbook 2021-01-21 19:21:56 -05:00
yabai [provisioning] Add yabai configuration 2020-07-10 18:32:49 -04:00
.chunkwmrc [provisioning] Improve chunkwm configuration 2018-08-14 11:57:11 -04:00
.skhdrc [provisioning] Add rotation shortcuts to chunkwm 2018-08-30 13:35:00 -04:00
.zshrc [zsh] Remove virtualenvwrapper 2018-08-16 13:37:47 -04:00
Dockerfile Split chmod and execution of provisioning script 2018-04-11 09:18:10 -04:00
provision.sh [provisioning] Fix bugs in provision.sh 2020-06-24 21:30:41 -04:00
README.org Add README 2021-01-20 23:32:14 -05:00

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:

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.

Provisioning

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).

Setup

  • 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).

Usage

dotfiles [OPTION]... [RECIPE]...

Provision one or more dotfiles RECIPEs.

Options:

-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.