From 18b1edeac0c5639fb8aba0b964472f1d0387b7e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey=20=28they/them=29?= Date: Wed, 8 Apr 2026 16:25:23 -0700 Subject: [PATCH 1/7] init Stroma host --- flake.nix | 5 +++++ hosts/Stroma/default.nix | 17 +++++++++++++++++ hosts/Stroma/hardware.nix | 13 +++++++++++++ hosts/Stroma/programs.nix | 25 +++++++++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 hosts/Stroma/default.nix create mode 100644 hosts/Stroma/hardware.nix create mode 100644 hosts/Stroma/programs.nix diff --git a/flake.nix b/flake.nix index f9754a8e..ce801591 100644 --- a/flake.nix +++ b/flake.nix @@ -121,6 +121,11 @@ hostname = "Rhizome"; username = "corey"; }; + + Stroma = mkDarwinHost { + hostname = "Stroma"; + username = "corey"; + }; }; deploy = { diff --git a/hosts/Stroma/default.nix b/hosts/Stroma/default.nix new file mode 100644 index 00000000..4a31db8f --- /dev/null +++ b/hosts/Stroma/default.nix @@ -0,0 +1,17 @@ +{ + config, + pkgs, + ... +}: { + imports = [ + ./hardware.nix + ./programs.nix + ]; + + rc.darwin.defaults = { + fonts = true; + homebrew = true; + security = true; + system = true; + }; +} diff --git a/hosts/Stroma/hardware.nix b/hosts/Stroma/hardware.nix new file mode 100644 index 00000000..875731b2 --- /dev/null +++ b/hosts/Stroma/hardware.nix @@ -0,0 +1,13 @@ +{ + config, + pkgs, + ... +}: { + users.users.corey = { + home = "/Users/corey"; + }; + system.primaryUser = "corey"; + + system.stateVersion = 4; + nixpkgs.hostPlatform = "aarch64-darwin"; +} diff --git a/hosts/Stroma/programs.nix b/hosts/Stroma/programs.nix new file mode 100644 index 00000000..39f55681 --- /dev/null +++ b/hosts/Stroma/programs.nix @@ -0,0 +1,25 @@ +{ + config, + pkgs, + ... +}: { + environment.systemPackages = with pkgs; [ + m-cli + mas + the-unarchiver + ]; + + homebrew = { + enable = true; + }; + + programs.popclip = { + enable = true; + startOnActivation = true; + }; + + programs.scroll-reverser = { + enable = true; + startOnActivation = true; + }; +} From 780001201edd74e6bf8c97808dfaba51d029c21a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey=20=28they/them=29?= Date: Wed, 8 Apr 2026 16:56:26 -0700 Subject: [PATCH 2/7] add Things --- hosts/Stroma/programs.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/Stroma/programs.nix b/hosts/Stroma/programs.nix index 39f55681..7594b073 100644 --- a/hosts/Stroma/programs.nix +++ b/hosts/Stroma/programs.nix @@ -11,6 +11,10 @@ homebrew = { enable = true; + # N.B.: Removed entries in `masApps` require manual uninstallation + masApps = { + "Things" = 904280696; + }; }; programs.popclip = { From 73a987b74bb86d9853fe5a4d0f4ea43f7e1248b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey?= Date: Thu, 9 Apr 2026 11:37:02 -0700 Subject: [PATCH 3/7] fix system.stateVersion Addresses this error when switching to the flake: ``` error: Build user group has mismatching GID, aborting activation The default Nix build user group ID was changed from 30000 to 350. You are currently managing Nix build users with nix-darwin, but your nixbld group has GID 350, whereas we expected 30000. Possible causes include setting up a new Nix installation with an existing nix-darwin configuration, setting up a new nix-darwin installation with an existing Nix installation, or manually increasing your `system.stateVersion` setting. You can set the configured group ID to match the actual value: ids.gids.nixbld = 350; We do not recommend trying to change the group ID with macOS user management tools without a complete uninstallation and reinstallation of Nix. ``` --- hosts/Stroma/hardware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/Stroma/hardware.nix b/hosts/Stroma/hardware.nix index 875731b2..bddc6b2e 100644 --- a/hosts/Stroma/hardware.nix +++ b/hosts/Stroma/hardware.nix @@ -8,6 +8,6 @@ }; system.primaryUser = "corey"; - system.stateVersion = 4; + system.stateVersion = 5; nixpkgs.hostPlatform = "aarch64-darwin"; } From df8701701b79ecd84f780bbfe588cb598cb56342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey?= Date: Thu, 9 Apr 2026 11:45:07 -0700 Subject: [PATCH 4/7] disable deprecated homebrew option See also: https://github.com/Homebrew/brew/issues/20755 --- modules/darwin/rc.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/darwin/rc.nix b/modules/darwin/rc.nix index 872b5f21..337f856a 100644 --- a/modules/darwin/rc.nix +++ b/modules/darwin/rc.nix @@ -25,7 +25,6 @@ in { ]; homebrew = mkIf cfg.homebrew { - caskArgs.no_quarantine = true; onActivation = { cleanup = "zap"; upgrade = true; From 298c6b92860d173c45a02e5b8bd8e19896757d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey?= Date: Thu, 9 Apr 2026 12:23:29 -0700 Subject: [PATCH 5/7] restore other apps --- hosts/Stroma/programs.nix | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/hosts/Stroma/programs.nix b/hosts/Stroma/programs.nix index 7594b073..f3b07334 100644 --- a/hosts/Stroma/programs.nix +++ b/hosts/Stroma/programs.nix @@ -13,17 +13,65 @@ enable = true; # N.B.: Removed entries in `masApps` require manual uninstallation masApps = { + "Folder Quick Look" = 6753110395; + "GoodLinks" = 1474335294; + "Hand Mirror" = 1502839586; + "Infuse" = 1136220934; + "Mapper" = 1589391989; + "Mela" = 1568924476; + "Noir" = 1592917505; + "Paku" = 1534130193; + "Parcel" = 375589283; + "Pixea" = 1507782672; + "Play" = 1596506190; + "Reeder" = 1529448980; + "Timery" = 1425368544; "Things" = 904280696; }; }; + programs.craft = { + enable = true; + }; + + programs.daisydisk = { + enable = true; + }; + + programs.fastscripts = { + enable = true; + startOnActivation = true; + }; + rc.darwin.defaults.fastscripts = true; + + programs.iina = { + enable = true; + }; + + programs.little-snitch = { + enable = true; + }; + programs.popclip = { enable = true; startOnActivation = true; }; + programs.postico = { + enable = true; + }; + + programs.roon = { + enable = true; + }; + programs.scroll-reverser = { enable = true; startOnActivation = true; }; + + programs.soundsource = { + enable = true; + startOnActivation = true; + }; } From 68deed9c378246a5dc70ca030433ca17d0b1a358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey?= Date: Thu, 9 Apr 2026 12:21:33 -0700 Subject: [PATCH 6/7] restore dock settings --- hosts/Stroma/default.nix | 1 + hosts/Stroma/dock.nix | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 hosts/Stroma/dock.nix diff --git a/hosts/Stroma/default.nix b/hosts/Stroma/default.nix index 4a31db8f..3a33cae5 100644 --- a/hosts/Stroma/default.nix +++ b/hosts/Stroma/default.nix @@ -4,6 +4,7 @@ ... }: { imports = [ + ./dock.nix ./hardware.nix ./programs.nix ]; diff --git a/hosts/Stroma/dock.nix b/hosts/Stroma/dock.nix new file mode 100644 index 00000000..fb422dab --- /dev/null +++ b/hosts/Stroma/dock.nix @@ -0,0 +1,25 @@ +{ + config, + pkgs, + ... +}: { + system.defaults.dock = { + tilesize = 42; + largesize = 86; + persistent-apps = [ + "/System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app" + "/System/Applications/Mail.app" + "/Applications/Zed.app" + "/Applications/rootshell.app" + "/Applications/Reeder.app" + "/Applications/Roon.app" + "/System/Applications/Calendar.app" + "/System/Applications/Reminders.app" + "/System/Applications/Notes.app" + "/Applications/Things3.app" + "/Applications/Craft.app" + "/System/Applications/Messages.app" + "/Applications/Slack.app" + ]; + }; +} From 80d6d0ef5df3773e7c16b2f97b851c4849f1c135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey?= Date: Thu, 9 Apr 2026 13:33:23 -0700 Subject: [PATCH 7/7] use Stroma public key --- hosts/Stroma/key.pub | 1 + lib/keys.nix | 1 + modules/nixos/ssh.nix | 1 + 3 files changed, 3 insertions(+) create mode 100644 hosts/Stroma/key.pub diff --git a/hosts/Stroma/key.pub b/hosts/Stroma/key.pub new file mode 100644 index 00000000..95a9c9e9 --- /dev/null +++ b/hosts/Stroma/key.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvLok8cBNJHzqbb4s9OtKloGv+f731ZirQVp+U7EHPK diff --git a/lib/keys.nix b/lib/keys.nix index 2ebbd147..657ed7f7 100644 --- a/lib/keys.nix +++ b/lib/keys.nix @@ -10,6 +10,7 @@ let "glyph" "Rhizome" "spore" + "Stroma" "zeta" ]; in diff --git a/modules/nixos/ssh.nix b/modules/nixos/ssh.nix index ed2f7e7d..dac23282 100644 --- a/modules/nixos/ssh.nix +++ b/modules/nixos/ssh.nix @@ -15,6 +15,7 @@ users.users.mu.openssh.authorizedKeys.keys = [ keys.Rhizome keys.glyph + keys.Stroma ]; security.pam.sshAgentAuth.authorizedKeysFiles = lib.mkForce ["/etc/ssh/authorized_keys.d/%u"];