2026-11-13 10:56:46 -05:00
2026-11-12 20:06:40 -05:00
2026-11-09 18:15:45 -05:00
2026-11-09 18:39:27 -05:00
2026-11-13 10:08:22 -05:00
2026-11-13 10:56:46 -05:00

My nix-darwin Configuration

This repo is meant to be a declarative setup for new macOS devices, specifically focused on the application installs. All GUI applications will be handled by homebrew and some brews or CLI tools. The more stable and maintained CLI tools are installed via nixpkgs.

This config contains options for both personal user and work use. There are shared packages found in modules/apps along with "profile" specific packages in their respective directories profiles/personal and profiles/work.

Important

Ignore the install.sh file for now, it's out dated and I don't believe will work in the current state. I'll think about adding a new install script but the default installation by cloning the repo into /etc/nix-darwin works pretty good.

Installation

  1. Have an implementation of nix installed nixos.org
  2. Clone this repo onto the machine (probably fastest via usb) or install git seperatly and run git clone https://git.briannelson.dev/brian/nix-darwin.git
  3. Copy the repo into /etc/nix-darwin
sudo mkdir -p /etc/nix-darwin
sudo chown $(id -nu):$(id -ng) /etc/nix-darwin
sudo cp [PATH/TO/REPO] /etc/nix-darwin
  1. Install nix-darwin and the profile you want with
sudo nix run nix-darwin/nix-darwin-26.05#darwin-rebuild --extra-experimental-features "nix-command flakes" -- switch --flake "/etc/nix-darwin#PROFILE_NAME"
# where PROFILE_NAME is either personal or work
  1. Maintianing nix-darwin if any changes get made locally you can run the rebuild switch command. If changes get made remotely make sure to run git pull then the rebuild switch command.
cd /etc/nix-darwin

git pull

sudo darwin-rebuild switch --flake ".#PROFILE"

Homebrew

I like using homebrew as my package manager for most apps as its really easy and convienent to run brew upgrade to update all apps in 1 go. I love nix for many other reasons but some of the packages on the stable branch aren't always up-to-date and take a while to update.

Description
No description provided
Readme 103 KiB
Languages
Nix 90.4%
Shell 9.6%