nixmac

Installation

Install nixmac on macOS

Requirements

  • Apple Silicon Mac
  • macOS 12 (Monterey) or newer
  • Administrator privileges (required for nix-darwin activation)
  • Full Disk Access permission (required for darwin-rebuild over SSH)
  • ~2 GB of free disk space for the Nix store

Install nixmac

Download the app

Download the latest .dmg from nixmac.com/download. Open the .dmg, drag nixmac to your Applications folder, and launch it.

Build from source

git clone https://github.com/darkmatter/nixmac.git
cd nixmac
bun install
bun run dev:native

First launch

On first launch, nixmac will:

  1. Check for Nix — if Nix is not installed, nixmac downloads and runs the Determinate Nix Installer (a .pkg installer). This requires administrator privileges.
  2. Check for darwin-rebuild — if not available, nixmac prefetches it from nix-darwin/master.
  3. Bootstrap your config — if you don't have an existing nix-darwin configuration, nixmac creates one at ~/.darwin/ using its bundled nix-darwin-determinate template.
  4. Request permissions — nixmac needs administrator privileges and Full Disk Access. The app will guide you through granting these in System Settings → Privacy & Security.

What gets installed?

  1. The nixmac app — a native macOS application (Tauri + Rust + React)
  2. Nix — the package manager, installed via the Determinate Nix Installer in /nix/store
  3. darwin-rebuild — the nix-darwin rebuild tool, prefetched from nix-darwin/master

Permissions

nixmac requires these macOS permissions (the app will guide you through granting each one):

  • Desktop Folder Access — needed to manage and sync desktop files and configurations
  • Documents Folder Access — needed to access configuration files in protected locations
  • Administrator Privileges — needed to run darwin-rebuild, which activates your nix-darwin configuration system-wide
  • Full Disk Access — needed for darwin-rebuild to access protected macOS directories. Go to System Settings → Privacy & Security → Full Disk Access and add nixmac.

nixmac will prompt you for each permission during onboarding and will not proceed until all required permissions are granted.

Existing Nix installations

If you already have Nix installed (via the Determinate installer, nix-installer, or manually), nixmac will detect it and skip the Nix installation step.

If you have an existing nix-darwin configuration, you can point nixmac at it by changing the config directory in the app's settings. nixmac works with standard nix-darwin flakes.

What does nixmac modify?

  • /nix/store — Nix package store (standard, isolated)
  • /nix/var — Nix daemon state
  • ~/.darwin/ — your nix-darwin configuration (default location, configurable)
  • macOS system settings — the ones explicitly declared in your nix-darwin config
  • Homebrew-managed locations — if your config declares Homebrew formulae or casks, nix-darwin may install them through Homebrew under /opt/homebrew or /usr/local, depending on your Mac

nixmac edits your configuration files. Nix, nix-darwin, and Homebrew perform the system changes during activation.

Next steps

On this page