From 29bb6dcc6da7389396f01fc2510a0d45f4f98df9 Mon Sep 17 00:00:00 2001 From: Ethan Turkeltaub Date: Fri, 17 Jul 2026 09:05:34 -0400 Subject: [PATCH 1/3] Add config for zsh --- modules/profiles/home/direnv.nix | 6 +++++- modules/profiles/home/zsh.nix | 1 + modules/suites/home.nix | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 modules/profiles/home/zsh.nix diff --git a/modules/profiles/home/direnv.nix b/modules/profiles/home/direnv.nix index 02b3c70a..f8b4fd1c 100644 --- a/modules/profiles/home/direnv.nix +++ b/modules/profiles/home/direnv.nix @@ -1,8 +1,12 @@ -{ pkgs, ... }: { +{ config, lib, pkgs, ... }: { programs.direnv = { enable = true; nix-direnv.enable = true; }; home.packages = with pkgs; [ nix-direnv ]; + + programs.zsh.initContent = lib.mkAfter '' + eval "$(${lib.getExe config.programs.direnv.package} hook zsh)" + ''; } diff --git a/modules/profiles/home/zsh.nix b/modules/profiles/home/zsh.nix new file mode 100644 index 00000000..830a5865 --- /dev/null +++ b/modules/profiles/home/zsh.nix @@ -0,0 +1 @@ +{ programs.zsh.enable = true; } diff --git a/modules/suites/home.nix b/modules/suites/home.nix index 5f25d65d..be4236fd 100644 --- a/modules/suites/home.nix +++ b/modules/suites/home.nix @@ -27,6 +27,7 @@ with profiles; tools.darwin xdg zed-editor + zsh ]; development = [ From e14c9e05abd8e9eee085269b6081c6c8d571657f Mon Sep 17 00:00:00 2001 From: Ethan Turkeltaub Date: Fri, 17 Jul 2026 09:06:52 -0400 Subject: [PATCH 2/3] Adjust builders --- Justfile | 6 ++++ hosts/eMac/configuration.nix | 3 +- modules/profiles/home/direnv.nix | 8 +++++- modules/profiles/system/builders/builder.nix | 8 ++++-- .../profiles/system/builders/darwin-linux.nix | 6 ---- .../profiles/system/builders/fabricator.nix | 28 +++++++++++++++++++ .../system/builders/linux-builder.nix | 11 ++++++++ 7 files changed, 60 insertions(+), 10 deletions(-) delete mode 100644 modules/profiles/system/builders/darwin-linux.nix create mode 100644 modules/profiles/system/builders/fabricator.nix create mode 100644 modules/profiles/system/builders/linux-builder.nix diff --git a/Justfile b/Justfile index 9374287d..bd3e46a3 100644 --- a/Justfile +++ b/Justfile @@ -72,3 +72,9 @@ host-age-key: [doc("Render the GitHub workflow files")] render-workflows: nix run .#render-workflows + +[doc("Restarts the `linux-builder` QEMU VM")] +restart-linux-builder: + sudo launchctl unload -w /Library/LaunchDaemons/org.nixos.linux-builder.plist + sudo launchctl load -w /Library/LaunchDaemons/org.nixos.linux-builder.plist + sudo launchctl kickstart -kp system/org.nixos.linux-builder diff --git a/hosts/eMac/configuration.nix b/hosts/eMac/configuration.nix index 371fcf3b..40403aae 100644 --- a/hosts/eMac/configuration.nix +++ b/hosts/eMac/configuration.nix @@ -13,7 +13,8 @@ ++ [ profiles.users.ethan profiles.builders.builder - profiles.builders.darwin-linux + profiles.builders.fabricator + profiles.builders.linux-builder ]; tilde.host.directory = "/Users/ethan/Workspace/tilde"; diff --git a/modules/profiles/home/direnv.nix b/modules/profiles/home/direnv.nix index f8b4fd1c..6b29b94a 100644 --- a/modules/profiles/home/direnv.nix +++ b/modules/profiles/home/direnv.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, ... }: { +{ + config, + lib, + pkgs, + ... +}: +{ programs.direnv = { enable = true; nix-direnv.enable = true; diff --git a/modules/profiles/system/builders/builder.nix b/modules/profiles/system/builders/builder.nix index c504ece2..1565a24a 100644 --- a/modules/profiles/system/builders/builder.nix +++ b/modules/profiles/system/builders/builder.nix @@ -5,9 +5,13 @@ buildMachines = [ { hostName = "builder"; - system = "x86_64-linux"; protocol = "ssh-ng"; - maxJobs = 16; + systems = [ + "x86_64-linux" + "aarch64-linux" + "i686-linux" + ]; + maxJobs = 32; speedFactor = 1; supportedFeatures = [ "nixos-test" diff --git a/modules/profiles/system/builders/darwin-linux.nix b/modules/profiles/system/builders/darwin-linux.nix deleted file mode 100644 index b4a703a1..00000000 --- a/modules/profiles/system/builders/darwin-linux.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: { - nix.linux-builder = { - enable = true; - package = pkgs.nixpkgs-master-darwin-linux-builder; - }; -} diff --git a/modules/profiles/system/builders/fabricator.nix b/modules/profiles/system/builders/fabricator.nix new file mode 100644 index 00000000..48319ed4 --- /dev/null +++ b/modules/profiles/system/builders/fabricator.nix @@ -0,0 +1,28 @@ +{ + imports = [ ./common.nix ]; + + nix = { + buildMachines = [ + { + hostName = "fabricator"; + protocol = "ssh-ng"; + systems = [ "x86_64-linux" ]; + maxJobs = 32; + speedFactor = 1; + supportedFeatures = [ + "nixos-test" + "benchmark" + "big-parallel" + "kvm" + ]; + mandatoryFeatures = [ ]; + sshUser = "builder"; + sshKey = "/Users/ethan/Workspace/e10/keys/builder_rsa"; + } + ]; + + settings = { + builders-use-substitutes = true; + }; + }; +} diff --git a/modules/profiles/system/builders/linux-builder.nix b/modules/profiles/system/builders/linux-builder.nix new file mode 100644 index 00000000..441ac785 --- /dev/null +++ b/modules/profiles/system/builders/linux-builder.nix @@ -0,0 +1,11 @@ +{ + nix.linux-builder = { + enable = true; + + # NOTE: If building this configuration from scratch (i.e., brand new system), comment out this configuration + # first, otherwise we can't build the builder itself + config = { + services.qemuGuest.enable = true; + }; + }; +} From 2307132238b726c341c0131982f301514f77c228 Mon Sep 17 00:00:00 2001 From: Ethan Turkeltaub Date: Fri, 17 Jul 2026 09:07:07 -0400 Subject: [PATCH 3/3] Add new Mac apps --- hosts/eMac/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/eMac/configuration.nix b/hosts/eMac/configuration.nix index 40403aae..07f23c29 100644 --- a/hosts/eMac/configuration.nix +++ b/hosts/eMac/configuration.nix @@ -46,6 +46,7 @@ "Paprika Recipe Manager 3" = 1303222628; "Reeder 5" = 1529448980; "Tailscale" = 1475387142; + "Brother iPrint&Scan" = 1193539993; }; };