Formation is a script to set up a macOS laptop for design and development.
After having to setup a new laptop one too many times, I decided to automate the process to make my life easier.
⚓️ TL;DR
Formation is the first of my Beyoncé-themed side projects. The inspiration came when I was listening to "Formation" while I was working on the script. I made a joke about "getting my laptop in formation" and everything else fell into place.
⚓️ Swag
The /swag
directory consists of all the applications that are installed by the script. The installation mechanisms are broken down into the following types: the Apple App Store, Homebrew, and NPM.
oh my god I would just like to you for giving us the most important development in computer science since turing completeness. I am LIVVING @MinaMarkham! https://t.co/cXqUgKwIkE #BeyDay #BeyWeek
— a very stable art student (@CherylMcDonnah) March 5, 2019
an important shell script or THE MOST IMPORTANT SHELL SCRIPT? https://t.co/KTvwZ7zqFn
— Malinda (@BeerAndBlank) September 11, 2018
my face hurts from smiling so hard over this, bravo @MinaMarkham 🐝
https://t.co/0p2QdnjQsP This! This is great! On so, so many levels! @MinaMarkham!
— Ian Goddard (@IanGoddard88) August 9, 2019
If you’re setting up a new machine, don’t do it without this amazing Formation tool
— Brendan O’Leary 🐀 (@olearycrew) February 4, 2020
Formation | https://t.co/itGOgiJIom https://t.co/7GJnc61OcH pic.twitter.com/RKRamprXOH
This is the business right here. Thank you @MinaMarkham! https://t.co/sIDmiU9ImA
— new year same meh (@marmalade) May 29, 2019
We love smart scripts — this one for MacOS X gets you setup for design and development! (+ you can add ~./hot-sauce) https://t.co/sPwekm2Ee5 #webdev #slay #fed #BeyDay #BeyWeek pic.twitter.com/X2NKh3H23q
— Plank (@plank) May 8, 2019
This has saved me hours of setup on a new mac. Get your laptop in Formation with this setup script from @MinaMarkham! https://t.co/kLIiYSABsg #BeyDay #BeyWeek
— Kyle Harrison (@apoclyps) June 12, 2019
I followed the rabbit hole to @MinaMarkham's https://t.co/wrTHCdIesp. It customizes via ~/.hot-sauce. I can't think of another computer-related thing that has made me this happy in a while. #swag https://t.co/JB0bdJV3Ga
— jlbec (@jlbec) January 4, 2019
⚓️ Hot Sauce
I got hot sauce in my bag, swag!
Users can add their own customizations in ~/.hot-sauce
, a special file that is ran at the end of every Formation. An example ~/.hot-sauce
might look like this:
#!/usr/bin/env bash
step "Making directories…"
for dir in $DIRECTORIES; do
mkd $dir
done
step "Symlinking dotfiles…"
link_file $SLAY_ALIASES $HOME/.bash_it/aliases/
link_file $SLAY_COLORLS $HOME/.config/colorls
link_file $SLAY_SSH_CONFIG $HOME/.ssh/
symlinking