Skip to content
ThePaulMcBridePublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

457 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Nix flake-based system configuration managing three machines:

Host Type Description
carbon macOS (aarch64-darwin) Personal Mac
neon macOS (aarch64-darwin) Work Mac
argon NixOS (x86_64-linux) Desktop

Prerequisites

macOS

  1. Install Xcode from the Mac App Store

  2. Install Xcode Command Line Tools:

    xcode-select --install
  3. Install Nix using the Determinate installer

Homebrew, 1Password, and all other dependencies are installed automatically during the first build.

NixOS

  1. Boot the NixOS installer and complete the base installation
  2. Nix is already available as part of the OS

Fresh macOS Setup

  1. Clone this repo via HTTPS (SSH isn't available yet on a fresh machine):

    git clone https://github.com/ThePaulMcBride/dotfiles.git ~/dotfiles
  2. Run the initial build:

    nix run nix-darwin -- switch --flake ~/dotfiles#<hostname>

    For example, ~/dotfiles#carbon for the personal Mac or ~/dotfiles#neon for the work Mac.

  3. Open 1Password, sign in, and enable the SSH agent (Settings > Developer > SSH Agent). The git config rewrites all GitHub HTTPS URLs to SSH and enables commit signing via op-ssh-sign, so 1Password must be configured before the next step.

  4. Run the build again to ensure everything completes cleanly with SSH available:

    sudo darwin-rebuild switch --flake ~/dotfiles#<hostname>
  5. Switch the repo remote to SSH:

    git -C ~/dotfiles remote set-url origin git@github.com:ThePaulMcBride/dotfiles.git

Fresh NixOS Setup

sudo nixos-rebuild switch --flake ~/dotfiles#argon

Day-to-Day Usage

After the initial setup, shell aliases are available:

darwin-switch        # Rebuild macOS config (auto-detects hostname)
darwin-switch-home   # Rebuild with carbon config
darwin-switch-work   # Rebuild with neon config
nix-switch           # Rebuild NixOS config
nix-update           # Update flake inputs

Structure

dotfiles/          # Application configs (git, nvim, zsh, ghostty, pi, opencode, etc.)
hosts/             # Per-machine host definitions
modules/           # Reusable Nix modules
scripts/           # Shell scripts installed via Home Manager
flake.nix          # Flake entry point

Shared Agent Skills

Cross-agent skills live in:

dotfiles/agents/skills

They are installed to:

~/.agents/skills

Pi consumes these directly, and other agent configs can reference or mirror them.

Secrets

Some tools require API keys or tokens that should not be committed to git. Create a secrets file at ~/.config/zsh/secrets:

# Obsidian vault path (used by the Obsidian MCP server)
export OBSIDIAN_VAULT_PATH=""

This file is sourced automatically by .zshrc if it exists.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages