This repository contains my personal dotfiles and configurations, managed using chezmoi. Chezmoi allows for the handling of dotfiles across several machines, and offers capabilities for distinguishing various operating systems, package managers, amongst numerous other features.
To deploy these dotfiles on a new machine, follow the steps below:
-
Install
chezmoi, and initialize it with my Github user as shown:sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply gwbrckThis command runs the
chezmoisetup script fetched from the officialchezmoiwebsite. Using the--applyoption,chezmoiapplies the changes immediately after initialization. -
After setting up
chezmoi, the next steps involve correctly transferring your GPG keys to the new machine and setting up your SSH connection to your GitHub account. -
Lastly, change the
chezmoidotfiles repository remote from HTTPS to SSH:cd ~/.local/share/chezmoi git remote set-url origin git@github.com:gwbrck/dotfiles.git
On macOS, chezmoi apply installs Nix and devenv. Subsequent applies update
the global devenv CLI with nix profile upgrade devenv. Start a new Fish
session after the initial bootstrap so that the Nix environment and devenv
hook are loaded:
exec fishInitialize an R project:
mkdir analysis && cd analysis
rinit
devenv allow
devenv shell # optional; allowed projects activate automaticallyInitialize a Python project. uv init must run before the first devenv shell
because the template enables automatic uv sync:
mkdir analysis && cd analysis
pyinit
uv init
devenv allow
devenv shell # optionalUpdate a project's pinned inputs from inside that project with:
devenv updateThere are a few steps that need to be done manually after the automated setup:
Sign in to the Zotero account and install the following extensions: