Remove `users.[known]users` 7e5f20d9 parent 4b0e1b77

The "_rosettabuilder" user creation logic was already moved to `system.activationScripts.extraActivation`. When that was done this older `user.{knownUsers,users}` logic should have been removed. Luckily, since `system.activationScripts.extraActivation` is [run before](https://github.com/LnL7/nix-darwin/blob/a35b08d09efda83625bef267eb24347b446c80b8/modules/system/activation-scripts.nix#L58-L60) `system.activationScripts.users` and the latter [skips users](https://github.com/LnL7/nix-darwin/blob/a35b08d09efda83625bef267eb24347b446c80b8/modules/users/default.nix#L291) that already exist with the right UID, this duplicate code wasn't running anyway.

authored by Chris Pick

πŸ‘€
.gitignore
Switch to qcow2 image
πŸ‘€
1 year ago
πŸ‘€
LICENSE
Add LICENSE and features to README 1 year ago
πŸ‘€
README.md
Add LICENSE and features to README 1 year ago
πŸ‘€
flake.lock
`nix flake update` 1 year ago
πŸ‘€
flake.nix
Remove `users.[known]users`
πŸ‘€
1 year ago

README.md

nix-rosetta-builder

A Rosetta 2-enabled, Apple silicon (macOS/Darwin)-hosted Linux Nix builder.

Runs on aarch64-darwin and builds aarch64-linux (natively) and x86_64-linux (quickly using Rosetta 2).

Features

Advantages over nix-darwin’s built in nix.linux-builder (which is based on pkgs.darwin.linux-builder):

  • x86_64-linux support enabled by default and much faster (using Rosetta 2)
  • Multi-core by default
  • More secure:
    • VM runs with minimum permissions (runs as a non-root/admin/wheel user/service account)
    • VM doesn’t accept remote connections (it binds to the loopback interface (127.0.0.1))
    • VM cannot be impersonated (its private SSH host key is not publicly-known)

nix-darwin flake setup

flake.nix:

{
description = "Configure macOS using nix-darwin with rosetta-builder";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nix-darwin = {
url = "github:lnl7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-rosetta-builder = {
url = "github:cpick/nix-rosetta-builder";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{ self, nix-darwin, nix-rosetta-builder, nixpkgs }: {
darwinConfigurations."${hostname}" = nix-darwin.lib.darwinSystem {
modules = [ nix-rosetta-builder.darwinModules.default ];
};
};
}

Uninstall

Remove nix-rosetta-builder from nix-darwin’s flake.nix, darwin-rebuild, and then:

sudo rm -r /var/lib/rosetta-builder

Contributing

Feature requests, bug reports, and pull requests are all welcome.