the dotfiles of Jon Carl
-
Install Ghostty - Download from ghostty.org
-
Install Homebrew - https://brew.sh/
-
Install Nix (Determinate installer) -
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
This enables
nix-commandandflakesby default, so no extra flags are needed during bootstrap. -
Install SF Symbols - Download from Apple Developer
-
Required Permissions - Terminal (or your terminal app) needs Full Disk Access permission to modify system preferences:
- Go to System Settings > Privacy & Security > Full Disk Access
- Add your terminal application (Terminal.app, Ghostty, etc.)
- Restart your terminal
Without this permission, you'll get errors like:
Could not write domain /Users/.../Library/Containers/com.apple.Safari/Data/Library/Preferences/com.apple.Safari; exiting
-
Clone this repo to
~/code/dotfiles -
Bootstrap nix-darwin - This one-time step installs nix-darwin itself. Run from the repo root:
sudo nix run nix-darwin -- switch --flake ~/code/dotfiles#joncarl-macbookIf using the stock Nix installer instead of Determinate, use
sudo nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/code/dotfiles#joncarl-macbooksince flakes aren't enabled by default. -
Apply future changes - After initial setup, use:
sudo darwin-rebuild switch --flake ~/code/dotfiles#joncarl-macbook
To use these dotfiles with a different username, modify the username in current_system.nix:
Use current_system.nix to add machine-specific configuration without modifying the main files:
{
username = "joncarl";
configuration = {
config,
pkgs,
lib,
...
}: {
# Add your system-specific configuration here
environment.etc."pam.d/sudo_local".enable = lib.mkForce false;
};
}