From 6d89aa8f1d238cc5ed97215f7e229b8283bef027 Mon Sep 17 00:00:00 2001 From: Gabriella Gonzalez Date: Tue, 3 Jan 2023 21:12:56 -0800 Subject: [PATCH] darwin.builder: auto-login as the `builder` user (#208772) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … as suggested by @NiklasGollenstede in: https://github.com/NixOS/nixpkgs/pull/206951#issuecomment-1369020601 This simplifies the user experience for logging into and debugging the machine and also simplifies the instructions for shutting down the machine gracefully. --- doc/builders/special/darwin-builder.section.md | 12 +++++++----- nixos/modules/profiles/macos-builder.nix | 10 +++++++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/doc/builders/special/darwin-builder.section.md b/doc/builders/special/darwin-builder.section.md index af9de5751b2..3913b692498 100644 --- a/doc/builders/special/darwin-builder.section.md +++ b/doc/builders/special/darwin-builder.section.md @@ -28,19 +28,21 @@ Password: ``` … so that it can install a private key used to `ssh` into the build server. -After that the script will launch the virtual machine: +After that the script will launch the virtual machine and automatically log you +in as the `builder` user: ``` <<< Welcome to NixOS 22.11.20220901.1bd8d11 (aarch64) - ttyAMA0 >>> Run 'nixos-help' for the NixOS manual. -nixos login: +nixos login: builder (automatic login) + + +[builder@nixos:~]$ ``` -> Note: When you need to stop the VM, type `Ctrl`-`a` + `c` to open the `qemu` -> prompt and then type `system_powerdown` followed by `Enter`, or run `shutdown now` -> as the `builder` user (e.g. `ssh -i keys/builder_ed25519 builder@localhost shutdown now`) +> Note: When you need to stop the VM, run `shutdown now` as the `builder` user. To delegate builds to the remote builder, add the following options to your `nix.conf` file: diff --git a/nixos/modules/profiles/macos-builder.nix b/nixos/modules/profiles/macos-builder.nix index fddf19ad125..4a5359582bc 100644 --- a/nixos/modules/profiles/macos-builder.nix +++ b/nixos/modules/profiles/macos-builder.nix @@ -59,10 +59,14 @@ in trusted-users = [ "root" user ]; }; - services.openssh = { - enable = true; + services = { + getty.autologinUser = user; - authorizedKeysFiles = [ "${keysDirectory}/%u_${keyType}.pub" ]; + openssh = { + enable = true; + + authorizedKeysFiles = [ "${keysDirectory}/%u_${keyType}.pub" ]; + }; }; system.build.macos-builder-installer =