!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
22 Jan 2026
@ivy:fargone.shIvyahh i see11:11:16
@ivy:fargone.shIvyhow do we get the cli tool then?11:11:24
@k900:0upti.meK900AFAIK the answer is "you don't"11:11:56
@k900:0upti.meK900But I may not be up to date on the state of the art11:12:03
@ivy:fargone.shIvyokay utter collapse for ghostty then11:13:58
@ivy:fargone.shIvycause thats where ive gotten stuck building with nix11:14:10
@ivy:fargone.shIvyhttps://github.com/ghostty-org/ghostty/blob/1003a7e62209ef78895b3bb03b82ad345bec1965/src/build/MetallibStep.zig#L54-L6711:14:45
@ivy:fargone.shIvythese lines run metal to produce ir11:14:53
@ivy:fargone.shIvyas i've patched the other problems to not need ios toolchain11:15:19
@ivy:fargone.shIvy
compile lib ghostty ReleaseFast aarch64-macos.13.0 transitive failure
      |  +- metallib Ghostty (Ghostty.metallib) transitive failure
      |  |  +- metal Ghostty (Ghostty.ir) failure
      |  |  +- metal Ghostty (Ghostty.ir) (reused)
      |  +- WriteFile props.zig (+2 more reused dependencies)
      |  +- WriteFile props.zig (+2 more reused dependencies)
      |  +- metallib Ghostty (Ghostty.metallib) (+2 more reused dependencies)
      |  +- WriteFile props.zig (+2 more reused dependencies)
      |  +- WriteFile props.zig (+2 more reused dependencies)
      |  +- run exe uucode_build_tables (tables.zig) (+1 more reused dependencies)
      |  +- run exe uucode_build_tables (tables.zig) failure
      +- compile lib ghostty ReleaseFast aarch64-macos.13.0 (+6
11:19:35
@ivy:fargone.shIvywhere im able to get this far11:19:41
@ivy:fargone.shIvybut it requires compilation of shaders11:32:10
@reckenrode:matrix.orgRandy EckenrodeSigning with a developer cert isn’t really supported.11:40:59
@reckenrode:matrix.orgRandy EckenrodeDisable pre-compilation or compile them offline and vendor the resulting files.11:41:39
@enzime:nixos.dev@enzime:nixos.dev left the room.15:02:09
23 Jan 2026
@reckenrode:matrix.orgRandy Eckenrode My current thinking on handling the stdlib is to make Swift first look for an environment variable NIX_STDLIB_RUNTIME_${swift_tuple} then fall back to looking by path. However, I need to dig into the Swift code to make sure that is possible. If so, it would allow for multiple, target-dependent stdlibs to Just Work™. 01:11:17
@reckenrode:matrix.orgRandy Eckenrode * My current thinking on handling the stdlib is to make Swift first look for an environment variable NIX_SWIFT_STDLIB_RUNTIME_${swift_tuple} then fall back to looking by path. However, I need to dig into the Swift code to make sure that is possible. If so, it would allow for multiple, target-dependent stdlibs to Just Work™. 01:11:37
@reckenrode:matrix.orgRandy Eckenrode Note: No NIX_SWIFT_STDLIB_RUNTIME_FOR_BUILD or FOR_TARGET stuff. The tuple will be a platform property that the stdlib’s hook will use to set the variable. 01:12:13
@reckenrode:matrix.orgRandy Eckenrode That should allow me to avoid wrappers and allow the same swiftc to support multiple -target platforms. 01:12:37
@reckenrode:matrix.orgRandy EckenrodeIt would be nice if we can set those up like the SDK, but I’m skeptical, and it doesn’t work right for Darwin due to having multiple SDKs (the Swift stdlib and the standard, Apple one).01:13:18
@reckenrode:matrix.orgRandy Eckenrode * My current thinking on handling the stdlib is to make Swift first look for an environment variable NIX_SWIFT_STDLIB_RUNTIME_${swift_triple} then fall back to looking by path. However, I need to dig into the Swift code to make sure that is possible. If so, it would allow for multiple, target-dependent stdlibs to Just Work™. 01:51:34
@reckenrode:matrix.orgRandy EckenrodeI am going to explore SDKs though. There is some neat stuff with toolchains, but will it work?01:51:46
@reckenrode:matrix.orgRandy Eckenrode For some reason, swift build is only using the linker in my toolset configuration. 03:11:23
@reckenrode:matrix.orgRandy EckenrodeThat’s not very helpful.03:11:35
@ivy:fargone.shIvylike link them into zig cache?03:12:46
@reckenrode:matrix.orgRandy Eckenrode No idea for Zig. https://github.com/NixOS/nixpkgs/blob/b494a615768aac2f4b0e2839fd23ec02236368fa/pkgs/tools/security/pinentry/mac.nix is an example of a package that does it for .nib files with xcbuild to avoid depending on ibtool. I assume something could be done similarly for Zig. 03:19:22
@reckenrode:matrix.orgRandy EckenrodeAfter messing with it for a bit, I don’t think Swift SDKs are going to do what we need. Swift doesn’t pick up the toolchain stuff from it. We’d have to merge the Swift stdlib and Darwin SDK to make it work on Darwin. It also seems to get funny ideas about triples and deployment targets.03:44:31
@buttergrillcorn:matrix.org@buttergrillcorn:matrix.org left the room.17:42:13
@sarahec:matrix.orgSarah Clark

Heads-up: with the latest staging merge into master, nix-manual only builds on Darwin with the sandbox off.

       > error: filesystem error: in posix_stat: failed to determine attributes for the specified path: Operation not permitted ["/nix/var/nix/profiles/per-user/root/channels/nixpkgs"]
       >
       > [9/148] Generating source/command-ref/experimental-features-shortlist.md with a custom command (wrapped by meson to set env, to capture output)
       > [10/148] Generating source/store/types with a custom command (wrapped by meson to set env)
       > [11/148] Generating source/command-ref/conf-file.body.md with a custom command (wrapped by meson to set env, to capture output)
       > [12/148] Generating source/command-ref/new-cli with a custom command (wrapped by meson to set env)
       > ninja: build stopped: subcommand failed.
       For full logs, run 'nix log /nix/store/9n8f9fa8ifdjpqxfj0wqc6hdwms1fchw-nix-manual-2.31.3.drv'.
18:26:21
@vczf:matrix.orgvczf changed their profile picture.18:47:01

There are no newer messages yet.


Back to Room ListRoom Version: 6