Dotfiles
Find a file
Correl Roush f87c3166d1 [emacs] Load magit status when switching to a project
doom overrides projectile-switch-project-action for its workspace
behavior, so rather than update that, set the workspaces switch project
function.
2024-07-03 14:52:43 -04:00
.config [provisioning] Configure BSPWM 2020-06-23 21:14:51 -04:00
.doom.d [emacs] Load magit status when switching to a project 2024-07-03 14:52:43 -04: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] Update yabai recipe 2023-08-30 12:19:29 -04:00
recipes [provisioning] Include rofi in hyprland installation 2023-09-14 05:55:28 -04:00
yabai [provisioning] Change the yabai rotation shortcut 2023-08-30 22:36:53 -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 [provisioning] Add hyprland 2023-09-05 23:08:47 -04:00
Dockerfile Split chmod and execution of provisioning script 2018-04-11 09:18:10 -04:00
provision.sh [provisioning] Add Arch Linux support 2021-02-04 19:05:51 -05: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.