Sets up my preferred config for Mac, Windows, and Linux environments.
Inspired by:
The goal is to automate as much app and dev toolchain setup as possible. Here's how to run scripts and get everything set up:
Before running setup scripts, perform the following:
- Ensure that the Terminal app has full disk permissions
- Ensure that you have signed in to the Mac App Store
# Run one of the following bash scripts
/bin/bash scripts/mac_install_work.sh
/bin/bash scripts/mac_install_personal.sh
# Run the following two fish scripts
/usr/local/bin/fish scripts/symlink.fish
/usr/local/bin/fish scripts/fish-bootstrap.fish
Some apps on Windows aren't installed automatically for various reasons (broken packages, desire to actually use installers or other means, etc. Those are listed below).
Here are the steps to stand up a new Windows machine:
- Install latest patches
- Sign in to Microsoft Store (more likely that installs will succeed if signed in)
- Ensure "App Installer" is installed from the Windows Store and up to date (and make sure
winget
can be run from shell) - Install password manager
- Download dotfiles repo from github. Drop anywhere, extract, and run from admin PowerShell:
.\scripts\Install-AppsAndFeaturesAsAdmin.ps1
(add-Personal
switch if this is a personal machine) - Clone the dotfiles repo into %UserProfile%\dev
- CD into $UserProfile%\dev\dotfiles and run
.\scripts\Install-ResourcesAsUser.ps1
and.\scripts\symlink.ps1
Follow Microsoft instructions for installing WSL 2.
- Open WSL, cd into
dev/dotfiles
- Run install script:
/bin/bash scripts/wsl_install.sh
- Run fish script:
/usr/bin/fish scripts/symlink.fish
- Run fish script:
/usr/bin/fish scripts/fish-bootstrap.fish
When adding new managed dotfiles, run the symlink script to pick them up automatically (if they are managed by this script) or add them to the symlink script so they will be managed automatically.
Run the appropriate symlink file for the OS--for Unices, run scripts/symlink.fish. For Windoze, run scripts/symlink.ps1.