Installation Scripts Documentation¶
Current Script Comparison (macOS)¶
install.sh --profile minimal¶
Philosophy: Bare minimum to get dotfiles working
Installs: - Homebrew (package manager) - Git - GitHub CLI (gh) - Optional: Powerlevel10k theme
Symlinks: - ~/.gitconfig - ~/.zshrc - ~/.ideavimrc - ~/.p10k.zsh
Interactive: - Asks if you want Powerlevel10k - Prompts for SSH key generation - Prompts for GitHub authentication
What's NOT included: - No GUI apps - No Docker - No Node/NVM - No development tools beyond git
install.sh¶
Philosophy: Install additional tools interactively
Asks about each: - Docker - Node Version Manager (nvm) - pnpm - Yarn - Stripe CLI - Supabase CLI - AWS CLI - Visual Studio Code - Neovim - iTerm2 - Raycast
Why separate? - So you can install only what you need - Can be run multiple times - Non-destructive
install.sh (full)¶
Philosophy: Install everything (old approach - too much!)
Installs: - All packages from minimal - vim, neovim - tmux, docker - nvm, node, npm, gh - thefuck, pnpm, yarn - tree-sitter - stripe-cli - supabase - angular-cli
GUI Apps (commented out): - iTerm2, Raycast - Spotify, Notion - WebStorm, VS Code - Many more
Problems: - Installs too much you don't need - Can't choose what to install - Slow - Includes apps you'll never use
Your Actual Needs (Cross-Platform)¶
Based on your usage, you need:
Essential CLI Tools¶
- git
- gh (GitHub CLI)
- docker
- node/npm (via nvm)
Development IDEs/Editors¶
- WebStorm
- VS Code (sometimes)
- Claude Code (new!)
Productivity Apps¶
- Google Chrome
- NordPass
- NordVPN
- Figma
- Notion (maybe?)
Platform-Specific Notes¶
macOS: - WebStorm: Via JetBrains Toolbox or direct download - Claude Code: Available for Mac
Linux (Arch): - WebStorm: Via AUR or Snap - Chrome: google-chrome (AUR) - Claude Code: Available for Linux - Some apps might be Flatpak
Windows/WSL: - Install GUI apps on Windows side - Use WSL for development tools
What Should Be Unified?¶
Cross-Platform CLI Tools¶
These should install on ALL systems: - git + git config - GitHub CLI - Docker - Node/NVM - SSH keys - zsh config - IdeaVim config
Cross-Platform GUI Apps¶
These should install on ALL systems (where available): - Google Chrome - WebStorm - VS Code - Claude Code - NordPass - NordVPN - Figma - Docker Desktop
What Should Be Optional?¶
Tools you might not need on every machine: - Stripe CLI - Supabase CLI - Angular CLI - AWS CLI - Specific language tools
Proposed New Structure¶
1. install_essentials.sh (All OS)¶
What: Dotfiles + Git + SSH Why: Always needed
Installs: - Git + config - SSH keys - Symlink dotfiles - GitHub CLI
2. install_developer.sh (All OS)¶
What: Developer tools Why: Your consistent dev environment
Installs: - Docker - Node/NVM - Your zsh config - Dev tools
3. install_apps.sh (All OS)¶
What: GUI applications Why: Your consistent app environment
Installs: - Google Chrome - WebStorm - VS Code - Claude Code - NordPass - NordVPN - Figma
4. install.sh (All OS)¶
What: Project-specific tools Why: Not always needed
Asks about: - Stripe CLI - Supabase CLI - Angular CLI - AWS CLI - Language-specific tools
macOS Preferences Script¶
File: setup_macos_preferences.sh
What it does: - Fast keyboard repeat - Show all file extensions - Better Finder defaults (path bar, status bar, etc.) - Better Dock settings - Better Safari defaults - Terminal settings - Activity Monitor defaults - Screenshot settings - TextEdit defaults
Why separate? - macOS-specific - Modifies system preferences - Can be run anytime - Non-destructive (can be reverted)
Should this be cross-platform? - No - these are macOS system preferences - Linux equivalent would be GNOME/KDE settings - Windows equivalent would be Registry settings - Too OS-specific to unify
Questions & Answers¶
"Shouldn't it all be for all OS?"¶
Dotfiles & Config: YES - .gitconfig ✅ - .zshrc ✅ - .ideavimrc ✅
CLI Tools: MOSTLY YES - git, gh, docker, node ✅ - Some tools have different package names per OS
GUI Apps: YES with caveats - Chrome, WebStorm, VS Code ✅ (available everywhere) - NordPass, NordVPN ✅ (available everywhere) - Figma ✅ (available everywhere) - Claude Code ✅ (available everywhere) - Installation method differs (brew vs pacman vs apt)
System Preferences: NO - Too OS-specific - Different APIs/settings per OS
"What are the differences?"¶
Current scripts: - minimal: Only git + dotfiles - optional: Interactive tool installer - full: Everything (too much)
Proposed scripts: - essentials: Dotfiles + Git + SSH (always run) - developer: Your dev environment (run on all dev machines) - apps: Your GUI apps (run on all machines) - optional: Project-specific tools (run when needed)
What You Should Have¶
On ALL machines (Mac, Arch, WSL):¶
CLI Tools: - git + your .gitconfig - GitHub CLI - Docker - Node/NVM - zsh + your .zshrc
GUI Apps (Mac & Arch, not WSL): - Google Chrome - WebStorm - VS Code - Claude Code - NordPass - NordVPN - Figma
Optional (install per-project):¶
- Stripe CLI
- Supabase CLI
- Angular CLI
- AWS CLI
Next Steps¶
I can create:
- Unified package lists - Same tools across all OS
- Better Arch installer - With your actual GUI apps
- Developer profile - One command to install your environment
- Comprehensive docs - What's installed, where, why
Would you like me to: - Create a unified "developer setup" that installs the same things on Mac/Linux/Arch? - Update the Arch installer with Chrome, WebStorm, Claude Code, NordPass, etc.? - Create a config file where you list your apps once, and it installs them everywhere?