Skip to content

Latest commit

 

History

858 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

~/.*

A chezmoi-managed setup for exactly two machines:

  • a main macOS machine
  • an Ubuntu VPS named box

Fresh machine setup

On first apply, chezmoi prompts for the passphrase for key.txt.age and writes the decrypted key to ~/.config/chezmoi/key.txt via run_onchange_before_decrypt-private-key.sh.tmpl.

macOS main machine

  1. Install Xcode Command Line Tools.
xcode-select --install
  1. Install Homebrew before the first apply.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

This repo runs brew bundle during apply through run_onchange_01_install-homebrew.sh.tmpl. It does not install Homebrew for you.

  1. Make sure GitHub SSH access works.

.chezmoiexternal.toml pulls external repos via git@github.com:..., even if the main repo is cloned over HTTPS.

  1. Install chezmoi.
brew install chezmoi
  1. Initialize and apply the repo.
chezmoi init --apply git@github.com:tifandotme/dotfiles.git

If you prefer HTTPS for the main repo, that also works:

chezmoi init --apply https://github.com/tifandotme/dotfiles.git

Ubuntu VPS

  1. Install base packages.
sudo apt update
sudo apt install -y curl git
  1. Install chezmoi with the official installer.
sh -c "$(curl -fsLS https://get.chezmoi.io)" -- -b "$HOME/.local/bin"
  1. Initialize and apply the repo.
~/.local/bin/chezmoi init --apply git@github.com:tifandotme/dotfiles.git

If chezmoi is already on your path, this also works:

chezmoi init --apply git@github.com:tifandotme/dotfiles.git

Use the HTTPS URL instead if you do not want to set up GitHub SSH for the main repo:

~/.local/bin/chezmoi init --apply https://github.com/tifandotme/dotfiles.git

On Ubuntu, chezmoi will skip the macOS-only files. Host-specific files for box still apply.

Open a new terminal session after bootstrap so new tools and shell config are on your path.