This repository aims at providing a simple way to (re)set a local environment.
Note: 607747a is the last revision relying on homemade scripts. Some of the existing configuration (e.g. screen, curl) have not been moved to the current setup.
The configuration files are managed via chezmoi.
References:
- Automating the Setup of a New Mac With All Your Apps, Preferences, and Development Tools for a good introduction, especially regarding templates.
- Managing dotfiles (see the script part)
MacOS tools are managed via Homebrew. We rely on the bundle feature (see Brewfile).
Notes:
- that this means applications should ideally be installed using App store (
masCLI) or brew cask to ensure reproducibility. - apps installed via App Store will be "frozen"
brew bundle dump --forcewill override an existingBrewfilewhich means that we cannot really add comments in the file: we therefore want to provide documentation when adding tools using dedicated commits.
Passwords, secrets, SSH keys are managed with 1password. For example, git signing is done using SSH key signing.
1password CLI needs to be installed before initializing chezmoi.
chezmoi init marchelbling(marchelblingwill be expanded togithub.com/marchelbling/dotfiles.git)chezmoi cd: changes current directory to this repositorychezmoi apply: copieschezmoicurrent definitions to their home destinations
- Install mise:
If an on Mac, install Homebrew:
curl https://mise.run | sh/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Add mise to your shell (temporary, will be configured properly by chezmoi):
export PATH="$HOME/.local/bin:$PATH" eval "$(mise activate bash)" # or zsh
- Install chezmoi via mise:
mise use -g chezmoi
- Initialize and apply dotfiles:
chezmoi init --apply marchelbling