Some configuration steps are not yet fully automated with chezmoi.io. These manual setup and post-installation steps are documented below until they are scripted.
Run the following command to bootstrap chezmoi and apply the dotfiles:
cd ~
sh -c "$(curl -fsLS https://get.chezmoi.io)" -- init --apply eraac
# Clean up temporary installer binary (chezmoi is managed via Homebrew)
rm -rf ./bin/
Refer to the Documentation section below for additional manual steps and tool configuration.
The following manual installations and configuration tasks are not yet automated:
- Sign in to Apple ID / iCloud account
- Enable iCloud Drive
- Install and configure Google Chrome
- Install and configure Google Drive
- Apply macOS system settings and preferences
- Untracked configuration files:
~/.ssh/configreferences files in~/.config/ssh/*, which are not tracked in this repository~/.config/git/work(work-specific Git configuration) is not tracked in this repository~/.config/git/personal(personal-specific Git configuration) is not tracked in this repository~/.config/zsh/work(work-specific ZSH configuration) is not tracked in this repository
Separate personal projects from work projects to keep configurations isolated:
- Personal: Placed under
${HOME}/personal/(e.g., personal Git repositories). - Work: Placed under
${HOME}/work/(e.g., company projects and repositories).
SSH and GPG keys are stored securely in a KeePass database.
-
SSH Keys:
- Copy private and public keys into
~/.ssh/. - Set restrictive permissions:
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_* chmod 644 ~/.ssh/id_*.pub
- Copy private and public keys into
-
GPG Keys:
- Export or download
private.gpgfrom the KeePass database. - Import and trust the key:
gpg --import-options restore --import private.gpg gpg --edit-key <email> gpg> trust # Select option 5 (ultimate trust) gpg> quit
- Export or download
-
New SSH Key:
ssh-keygen -t ed25519 -C "your_email@example.com"Save the key passphrase and backup the key files in your KeePass database.
-
New GPG Key:
gpg --full-generate-keyBack up the secret key to your KeePass database:
gpg --list-secret-keys --keyid-format LONG gpg -o private.gpg --export-options backup --export-secret-keys <email>
Work identity must be configured in ~/.config/git/work and ~/.config/git/personal:
[user]
name = Kevin Labesse
email = <user>@<company.tld>
signingkey = <gpg-key-id>
To use a dedicated SSH key for work Git hosts, configure an IdentityFile in ~/.config/ssh/work.
If you need to split personal and work accounts on the same host (e.g., GitLab or GitHub), refer to this guide on setting up multiple accounts.
To access private Go modules:
-
Configure the
GOPRIVATEenvironment variable in~/.config/zsh/work.zsh:export GOPRIVATE="gitlab.com/<company>/*" -
Rewrite HTTPS requests to SSH in
~/.config/git/work:[url "git@gitlab.com:<company>/"] insteadOf = https://gitlab.com/<company>/ -
Ensure the SSH host configuration in
~/.config/ssh/workreferences the correctIdentityFile.
Authenticate user and application default credentials:
gcloud auth login
gcloud auth application-default login
Update the default download directory:
- Default path:
~/Downloads/Telegram - Target path:
~/personal/telegram - Path setting: Settings > Advanced > Download path
After opening your .kdbx database file in KeeWeb, configure an automatic daily backup to a separate storage location (e.g., iCloud Drive).
To restore tasks, copy your Taskwarrior SQLite database file to the directory defined in the data.location configuration setting.