Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

the dotfiles of Jon Carl

Installation

Prerequisites

  1. Install Ghostty - Download from ghostty.org

  2. Install Homebrew - https://brew.sh/

  3. Install Nix (Determinate installer) -

    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

    This enables nix-command and flakes by default, so no extra flags are needed during bootstrap.

  4. Install SF Symbols - Download from Apple Developer

  5. 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
    

Installation

  1. Clone this repo to ~/code/dotfiles

  2. 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-macbook

    If 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-macbook since flakes aren't enabled by default.

  3. Apply future changes - After initial setup, use:

    sudo darwin-rebuild switch --flake ~/code/dotfiles#joncarl-macbook

Customization

Overriding Username

To use these dotfiles with a different username, modify the username in current_system.nix:

System-Specific Configuration

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;
  };
}

About

the dotfiles of Jon Carl

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages