Skip to main content

🚀 Setup

SOP for setting up new 🖥️ computer / 🧠 server.

Steps & How they are done

#Step🧠 On-Prem🧠 Cloud VM🖥️ Container🖥️ Device
1Setup Hardware🐒 Monkeyterraform--
2Networking🐒 Monkeyterraform--
3Configure root SSH🐒 Monkeyterraform--
4Configure Non-root User🐒 Monkeyterraform-🐒 Monkey
5Configure Firewallplaybookplaybook--
6Install Core Utilitiesplaybookplaybookdotfilesdotfiles
7Configure Dotfilesplaybookplaybookdotfilesdotfiles
8Install Core Applicationsplaybookplaybookdotfilesdotfiles
9Install Application Suiteplaybookplaybookdotfilesdotfiles
  • Setup hardware: Get machine ready for use.
  • Networking: Configure static IP for server, hosts, DNS.

Principles

  • terraform covers VM provisioning
  • dotfiles stores configs
    • There should "hopefully" be no script in dotfiles
    • STUDY compinit zcompile zstyle autoload
  • Script covers
    • SSH settings
    • User creation
    • Setup machine to accept ansible commands
  • All remaining steps are covered by playbooks

Core Utilities

  • bash: Most scripts are written in bash.
  • curl: Used to fetch remote artifacts.
  • git
  • make (> 4.4.1 to use --print-targets)
  • nano
  • sudo
  • wget
  • zsh

Core Applications

  • Homebrew (include XCode CLI tools)
  • iTerm2
  • Brave
  • Dropbox
  • 1Password

Handful

  • Alfred
  • Rectangle Pro
  • Hammerspoon

Windows

I don't use Windows much so nothing is automated. Here's a general step by step guide:

  • Install Windows Terminal (from MS Store)
  • Install winget by upgrading Get App Installer
  • Install PowerShell 7
  • Install gsudo with winget
  • Install choco with winget