!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1147 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org182 Servers

Load older messages


SenderMessageTime
2 Dec 2025
@reckenrode:matrix.orgRandy EckenrodeDoesn’t Postgres spawn a process per user?19:40:30
@weethet:catgirl.cloudWeetHetIs there any other shared memory type on macOS though19:55:51
@reckenrode:matrix.orgRandy EckenrodePOSIX shared memory. It’s what Apple recommends.20:02:05
@reckenrode:matrix.orgRandy Eckenrodehttps://developer.apple.com/forums/thread/719897?answerId=736261022#73626102220:02:14
@niklaskorz:matrix.orgniklaskorz reading the postgres source and the issue emily linked, they alread default to mmap, but still need the sysv shared memory to detect which processes are attached to it (I guess that implies this is not possible in posix?) 20:12:59
@antifuchs:asf.computerantifuchs

so I have an issue with users.users / users.knownUsers on nix-darwin; I'm trying to have nix-darwin create a user, but (after a bunch of swearing & reading the activate script in the built system closure) it seems to expect that the user needs to be deleted? here's what I configure, is there anything wrong with it?

  users.knownGroups = [ "ci-worker" ];
  users.knownUsers = [ "ci-worker" ];
  users.groups.ci-worker = {
    gid = 502;
  };
  users.users.ci-worker = {
    createHome = false;
    description = "Nix Build support user for remote builds from CI";
    home = "/var/empty";
    shell = pkgs.bashInteractive;
    name = "Nix Build CI Worker";
    uid = 502;
    gid = 502;
    openssh.authorizedKeys.keys = [
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGFg7XQg/ACCFIL0f2OJoU0EIcQFuwa3qz7pQNzmDe2W root@gloria"
    ];
  };
20:36:16
@antifuchs:asf.computerantifuchs(creating a home dir or anything else seems to have no effect on the "should be present" calculation)20:36:50
@reckenrode:matrix.orgRandy EckenrodeRedacted or Malformed Event20:37:12
@reckenrode:matrix.orgRandy Eckenrode Per the issue emily linked and the part I quoted, named POSIX semaphores are apparently more wasteful. There is a patch to implement the functionality using futexes on Darwin. No idea how well it works. 20:37:37
@antifuchs:asf.computerantifuchs update: the user is missing a name attribute. without that, the check in https://github.com/nix-darwin/nix-darwin/blob/e95de00a471d07435e0527ff4db092c84998698e/modules/users/default.nix#L20 counts the user as not-intended-to-be-created 20:45:24
@antifuchs:asf.computerantifuchs * update: the user doesn't have a matching name attribute. without that, the check in https://github.com/nix-darwin/nix-darwin/blob/e95de00a471d07435e0527ff4db092c84998698e/modules/users/default.nix#L20 counts the user as not-intended-to-be-created 20:45:42
3 Dec 2025
@reckenrode:matrix.orgRandy EckenrodeThe C++ bootstrap compiler can’t even use the 14.4 SDK.03:37:00
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/swiftlang/swift/pull/8441303:37:01
@reckenrode:matrix.orgRandy EckenrodeI need to see if I can revert https://github.com/swiftlang/swift/pull/79186. Otherwise, that issue in 84413 prevents building against the 14.4 SDK.03:37:54
@reckenrode:matrix.orgRandy Eckenrode

FAILED: bootstrapping1/SwiftCompilerSources/Basic.o /nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/build/bootstrapping1/SwiftCompilerSources/Basic.o
cd /nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/SwiftCompilerSources && /nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/build/bootstrapping0/bin/swiftc -c -o /nix/var/nix/builds/nix-buil>
<unknown>:0: warning: using (deprecated) legacy driver, Swift installation does not contain swift-driver at: '/nix/var/nix/builds/nix-build-swiftc-6.2.1+bootstrap.drv-0/b/source/build/bootstrapping0/bin/swift-driver-new'
/nix/store/bj5iys7xm7ba8xxsc6hb9q6zv9x5igs2-apple-sdk-14.4/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/lib/swift/Swift.swiftmodule/arm64e-apple-macos.swiftinterface:10062:3: error: missing return in instance metho>
10060 |     }
10061 |     while true
10062 |   }
      |   `- error: missing return in instance method expected to return 'FlattenSequence<Base>.Iterator.Element?' (aka 'Optional<Base.Element.Element>')
10063 | }
10064 | extension Swift.FlattenSequence.Iterator : Swift.Sequence {
03:38:08
@reckenrode:matrix.orgRandy EckenrodeThough. Hmm. I wonder if swift-driver works.03:38:43
@reckenrode:matrix.orgRandy EckenrodeWhy isn’t it setting it up?03:38:50
@reckenrode:matrix.orgRandy EckenrodeNope. I may have to try to revert that change.04:24:00
@reckenrode:matrix.orgRandy Eckenrode I think I managed to revert the optimizer changes that cause this failure. The optimization pass moved to Swift, which broke the C++ bootstrap compiler. There have been some workarounds done in the Swift stdlib, but those don’t help when dealing with SDK swiftinterface files that have the same constructs. 05:17:05
@reckenrode:matrix.orgRandy EckenrodeI am so happy I don’t have to rebuild LLVM every time while working on this ….05:17:48
@reckenrode:matrix.orgRandy EckenrodeDammit, no. Let’s see if reverting the change in the stage 1 compiler works.05:19:18
@reckenrode:matrix.orgRandy EckenrodeIt built! That’s a Swift compiler that supports macros, which should let it build the full compiler and SwiftPM.05:36:58
@reckenrode:matrix.orgRandy EckenrodeUnfortunately, install phase failed. I’ll fix that tomorrow.05:37:05
@kfiz:matrix.sopado.dekfizRedacted or Malformed Event05:42:46
@kfiz:matrix.sopado.dekfizRedacted or Malformed Event05:43:35
@kfiz:matrix.sopado.dekfiz

I'm getting these, when trying to build dovecot after a nixpkgs upgrade:

ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:651: libssl_iostream_openssl.la] Fehler 1
make[3]: *** Es wird auf noch nicht beendete Prozesse gewartet …
libtool: link: ar cr .libs/libssl_iostream.a .libs/iostream-ssl.o .libs/iostream-ssl-context-cache.o .libs/iostream-ssl-test.o
libtool: link: ranlib .libs/libssl_iostream.a
libtool: link: ( cd ".libs" && rm -f "libssl_iostream.la" && ln -s "../libssl_iostream.la" "libssl_iostream.la" )
make[3]: Verzeichnis „/nix/var/nix/builds/nix-build-dovecot-2.3.21.1.drv-0/b/dovecot-2.3.21.1/src/lib-ssl-iostream“ wird verlassen
make[2]: *** [Makefile:573: all-recursive] Fehler 1
make[2]: Verzeichnis „/nix/var/nix/builds/nix-build-dovecot-2.3.21.1.drv-0/b/dovecot-2.3.21.1/src“ wird verlassen
make[1]: *** [Makefile:704: all-recursive] Fehler 1
make[1]: Verzeichnis „/nix/var/nix/builds/nix-build-dovecot-2.3.21.1.drv-0/b/dovecot-2.3.21.1“ wird verlassen
make: *** [Makefile:548: all] Fehler 2

Package version hasn't been updated in ages. I can see that the SDK was updated. Last time it successfully build I was using apple-sdk-11.3 in stdenv. Now we are using apple -sdk-14.4. Could this be related?

05:55:30
@reckenrode:matrix.orgRandy EckenrodeThere was also a change to enforce availability annotations.15:08:42
@reckenrode:matrix.orgRandy EckenrodeBut the missing symbols appear to be internal to Dovecot. Something in its build is getting confused.15:09:11
@saiko:knifepoint.netKatalin 🔪fwiw there is a “mostly done just needs a little polish” update to 2.4 or whatever and I’m already using it20:40:34
@saiko:knifepoint.netKatalin 🔪this is the PR, if you want to see if it works for you: https://github.com/NixOS/nixpkgs/pull/410912 I do have my own changeset that I run on my server that has diverged a bit but only in the nixos module so it shoulndn’t be necessary here20:48:55

There are no newer messages yet.


Back to Room ListRoom Version: 6