- Sign-in to apple ID
- Start a download for a system update
- Install homebrew via brew.sh
- Temporarily add Homebrew to this shell with
eval "$(/opt/homebrew/bin/brew shellenv)"; do not add it to.zshrc, sincelink.shwill install the dotfiles - While that's happening, sign in to github.com.
brew install ghgh auth logingh repo clone matthewgrossman/dotfilescd dotfiles/mac; ./setup.sh
The first program installed should be google-drive, which is a first priority to get access to keepass.
- Sign into Google Drive
- Open keepassxc with
gdrive://sync/pwdb.kdbx
This script will end up prompting for password a few times (ideally at the beginning), so check on it periodically.
- Enable browser integration in Settings > Browser Integration
- Disable "Lock databases when the session is locked or the lid is closed"
- Prevent KeePassXC from replacing the database file so KeePassium does not lose its file reference:
- Go to Settings > General > Basic Settings > File Management
- Enable "Use alternative saving method" and select "Directly write to database file (dangerous)"
- Enable "Backup database file before saving"
- If KeePassium already lost the file reference, open the existing database again from KeePassium's Databases screen
- See the KeePassium troubleshooting guide for details
The homelab repository uses SOPS with
age to keep secrets encrypted in Git. To
edit or decrypt those secrets on a new computer, retrieve the SOPS age private
key from the password manager and install it at SOPS's default key location:
mkdir -p ~/.config/sops/age
# use keepassxc to download keys.txt to `~/.config/sops/age/keys.txt`Never commit or otherwise copy this private key into either repository.
setup.sh should handle lots of default macos settings, but AFAIK these still require manual clicking:
- Disable cmd-space for spotlight in keyboard settings (and modify alfred to use this instead)
- Map Caps Lock to Control in System Settings > Keyboard > Keyboard Shortcuts > Modifier Keys
- Select the denser scaled resolution in System Settings > Displays
- Set up the display arrangement for the desk in System Settings > Displays > Arrange
- Turn off auto-brightness in Displays
- Enable bluetooth in the top bar
- Enter the powerpack info, search gdrive for "alfred"
- Point the settings at
gdrive://sync/alfred.kdbx - Change the theme
- Enable clipboard history
- Search email for "steermouse" to get the registration info.
- If you haven't in awhile, export the profile from the old machine into
gdrive://sync/ - Import settings of
gdrive://sync/Default.smsetting_app - The most recent time I did this, I had issues that simply restarting resolved. I also had to unplug my dock, which was wild.
Pi's global configuration is tracked in config/pi/. PI_CODING_AGENT_DIR is
set to $XDG_CONFIG_HOME/pi, so the normal file-linking behavior in link.sh
symlinks tracked Pi files into ~/.config/pi/. That destination remains a real
directory because Pi also stores credentials, sessions, trust decisions,
downloaded model metadata, and installed package data alongside its config.
Only the explicitly tracked files are symlinked into the repository. Pi may
update runtime metadata in the tracked settings.json file.
After bootstrapping, authenticate Pi separately with /login; credentials are
not stored in this repository. Packages listed in the tracked settings are
installed by Pi when needed.
- Open
Powershellas administrator and run the following:winget install -e Git.Git cd $HOME git clone https://github.com/matthewgrossman/dotfiles powershell -ExecutionPolicy Bypass -File .\dotfiles\windows\setup.ps1
There are some apps that can't be installed via that script:
- The NVIDIA app
- AMD Chipset Driver ("Adrenalin")
- Ensure you have github-allowlisted ssh keys
- Run the following:
$> git clone git@github.com:matthewgrossman/dotfiles.git
$> cd dotfiles
$> sh link.sh
$> sh windows/setup_wsl.sh