All Projects → minamarkham → Formation

minamarkham / Formation

Licence: mit
💻 macOS setup script for front-end development

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Formation

macstrap
Set up your macOS from scratch.
Stars: ✭ 16 (-99.06%)
Mutual labels:  setup, homebrew
mac-dev-setup
An easy script to install your mac dev environment
Stars: ✭ 38 (-97.77%)
Mutual labels:  setup, development
sloth-app
Sloth desktop app
Stars: ✭ 16 (-99.06%)
Mutual labels:  setup, homebrew
Ansible Role Homebrew
Ansible Role - Homebrew
Stars: ✭ 195 (-88.57%)
Mutual labels:  setup, homebrew
Devmymac
✨ ✨ A Simple Tool To Setup A Mac for Development✨✨
Stars: ✭ 312 (-81.71%)
Mutual labels:  setup, homebrew
dotfiles
🔨 My dotfiles for setting up my Macs with Ansible
Stars: ✭ 31 (-98.18%)
Mutual labels:  setup, homebrew
awesome-scripts
Set of scripts that can do awesome stuff for developers
Stars: ✭ 16 (-99.06%)
Mutual labels:  setup, development
dotfiles
macOS / Linux / Codespaces dotfiles with 1-line setup script. Tested on Apple Silicon Macs. Supports both zsh and fish. Now managed with https://github.com/twpayne/chezmoi
Stars: ✭ 82 (-95.19%)
Mutual labels:  homebrew, laptop
Mac Dev Playbook
Mac setup and configuration via Ansible.
Stars: ✭ 4,202 (+146.31%)
Mutual labels:  setup, homebrew
Mac os Config
Shell scripts for customized macOS machine setup and configuration.
Stars: ✭ 298 (-82.53%)
Mutual labels:  setup, homebrew
wordless gem
The quickest CLI tool to setup a new WordPress locally. Wordless ready.
Stars: ✭ 38 (-97.77%)
Mutual labels:  setup, development
Libnx
Library for Switch Homebrew
Stars: ✭ 908 (-46.78%)
Mutual labels:  homebrew, development
vistir
Setup / utilities which most projects eventually need
Stars: ✭ 30 (-98.24%)
Mutual labels:  setup, development
Mac Setup
Installing Development environment on macOS
Stars: ✭ 6,510 (+281.59%)
Mutual labels:  setup, fresh-installs
42homebrew
Install Homebrew on 42 sessions
Stars: ✭ 108 (-93.67%)
Mutual labels:  setup, homebrew
Get Programming With Nodejs
Code samples for Get Programming with Node.js (See verhagen's VM setup for exercises in this book: https://github.com/verhagen/get-programming-with-nodejs)
Stars: ✭ 117 (-93.14%)
Mutual labels:  development
Mac Setup Script
script to setup my mac
Stars: ✭ 123 (-92.79%)
Mutual labels:  setup
Kaishi
A shell script to convert any Mac OS X or Linux computer into a real development machine
Stars: ✭ 116 (-93.2%)
Mutual labels:  homebrew
Xterm.js
A terminal for the web
Stars: ✭ 12,019 (+604.51%)
Mutual labels:  development
Notepadqq
A simple, general-purpose editor for Linux
Stars: ✭ 1,738 (+1.88%)
Mutual labels:  development

🐝 Formation

Let's get in formation

Formation is a shell script to set up a macOS laptop for design and development.

It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.

Install

Download the script:

git clone [email protected]/minamarkham/formation.git && cd formation

Review the script (please don't run scripts you don't understand):

less slay

Slay:

cd formation
./slay 2>&1 | tee ~/slay.log

Just follow the prompts and you’ll be fine. 👌

⚠️ Warning: I advise against running this script unless you understand what it’s doing to your computer.

I created this based on my own preferences; your mileage may vary.

Once the script is done, quit and relaunch Terminal.

It is highly recommended to run the script regularly to keep your computer up to date.

Your last Formation run will be saved to ~/slay.log. To review it, run less ~/slay.log.

That's it!

What it sets up

The setup process will install:

Basic tools:
Package Managers:
  • NVM for managing and installing multiple versions of Node.js and npm
  • Rbenv for managing versions of Ruby
  • Yarn for managing JavaScript packages
CLI Tools & Utilities:
  • asciinema for recording terminal sessions
  • Gulp the streaming build system
  • Hotel, a simple process manager for developers
  • Hub for interacting with the GitHub API
  • hugo, an open-source static site generator
  • ImageMagick to create, edit, compose, or convert bitmap images
  • mas Mac App Store command line interface
  • Tig text-mode interface for git
  • Vagrant for development environments

Apps

Productivity
  • Airmail for a better mail client.
  • Alfred for increased productivity and efficiency with macOS.
  • Fantastical for a better calendar.
  • Things for getting things done.
Development
Design
Communication
  • Bear for writing and previewing markdown.
  • Skype for free calls to friends and family.
  • Slack where work happens.
  • Ulysses for long-form writing.
Utilities
Miscellaneous
Browsers
  • Blisk for cross-device web development.
  • Brave for web browsing without ads.
  • Chrome for fast and free web browsing.
  • Firefox for web browsing and testing.
  • TorBrowser for super secret web browsing.

See swag for the full list of apps that will be installed. Adjust it to your personal taste.

It should take less than 20 minutes to install (depends on your machine).

🌶 Just add ~/.hot-sauce

I got hot sauce in my bag

Your ~/.hot-sauce is added at the end of the Formation script. Put your customizations there. For example:

#!/usr/bin/env bash

SETUP_ROOT=$HOME/.setup

NERDFONTS_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/ryanoasis/nerd-fonts/releases/latest)
NERDFONTS_VERSION=$(get_github_version $NERDFONTS_RELEASE)

DIRECTORIES=(
    $HOME/Desktop/code
    $HOME/Desktop/design
    $HOME/Desktop/*dump
    $HOME/Desktop/GIFs
    $HOME/Desktop/projects
    $HOME/Desktop/screenshots
)

NERDFONTS=(
    SpaceMono
    Hack
    AnonymousPro
    Inconsolata
)

step "Making directories…"
for dir in ${DIRECTORIES[@]}; do
    mkd $dir
done

step "Installing fonts…"
for font in ${NERDFONTS[@]}; do
    if [ ! -d ~/Library/Fonts/$font ]; then
        printf "${indent}  [↓] $font "
        wget -P ~/Library/Fonts https://github.com/ryanoasis/nerd-fonts/releases/download/$NERDFONTS_VERSION/$font.zip --quiet;unzip -q ~/Library/Fonts/$font -d ~/Library/Fonts/$font
        print_in_green "${bold}✓ done!${normal}\n"
    else
        print_muted "${indent}$font already installed. Skipped."
    fi
done

Write your customizations such that they can be run safely more than once. See the slay script for examples.

Formation functions such as step and link can be used in your ~/.hot-sauce.

Known Issues

Cask does not recognize applications installed outside of Homebrew Cask – in the case that the script fails, you can either remove the application from the install list or uninstall the application causing the failure and try again.

Acknowledgements

Inspiration and code was taken from many sources, including:

📜 License

Formation is customized for my own needs. It is free software, and may be redistributed under the terms specified in the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].