# One File to Generate Them All

> The file that I use to generate configuration files from Markdown files (literate programming).

Source: https://curiouslychase.com/engineering/one-file-to-generate-them-all/

This Markdown file uses [Literate Programming](https://curiouslychase.com/engineering/literate-programming/) as a way to generate a shell script that will generate _all_ of my [Dotfiles](https://curiouslychase.com/engineering/dotfiles/).

# Install Homebrew
[Homebrew](https://curiouslychase.com/posts/homebrew/) is a critical part of my dotfiles: its the tool I use to fetch all of the applications and executables I use on a day to day basis.

I have to install Homebrew before I can do anything else:

```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

I run this script manually and keeping it in this document is for the sake of copy/pasta convenience. I used to do an md5 hash of the file and install it automatically. Now I visit the URL for the install on the [Rawe GitHub User Content](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)

# Tangling Dotfiles

Run the following to tangle this file:

```shell
md-tangle~/vault/42\ -\ Dotfiles/One\ File\ to\ Generate\ Them\ All.md
```

## Obsidian Styles

```shell tangle:~/dotfiles/tangle-main.sh
md-tangle ~/vault/42\ -\ Dotfiles/Obsidian\ Styles.md
```

## TODO
