🚀 Setup
SOP for setting up new 🖥️ computer / 🧠 server.
Steps & How they are done
# | Step | 🧠 On-Prem | 🧠 Cloud VM | 🖥️ Container | 🖥️ Device |
---|---|---|---|---|---|
1 | Setup Hardware | 🐒 Monkey | terraform | - | - |
2 | Networking | 🐒 Monkey | terraform | - | - |
3 | Configure root SSH | 🐒 Monkey | terraform | - | - |
4 | Configure Non-root User | 🐒 Monkey | terraform | - | 🐒 Monkey |
5 | Configure Firewall | playbook | playbook | - | - |
6 | Install Core Utilities | playbook | playbook | dotfiles | dotfiles |
7 | Configure Dotfiles | playbook | playbook | dotfiles | dotfiles |
8 | Install Core Applications | playbook | playbook | dotfiles | dotfiles |
9 | Install Application Suite | playbook | playbook | dotfiles | dotfiles |
- 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 upgradingGet App Installer
- Install PowerShell 7
- Install
gsudo
withwinget
- Install
choco
withwinget