!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
26 Apr 2026
@spewdins:beeper.comspewdins

hey.

I need to have a serious conversation with somebody in Nix infra. This is driving me nuts.

all of the linux-only software, in nixpkgs, which SHOULD also be available on mac (assuming a wayland compositor exists), is always marked broken, and it is infuriating on a whole other level as someone who is making a wayland compositor for macOS.

all the GTK toolkit theming, QT theming, none of it is going to matter if I can't simply install the software on macOS.

I understand why it isn't compiled for darwin upstream. But, the amount of software which should work on macOS with patches, it drives me nuts. There are many libraries, which are organized as linux only, and they can simply be installed on macOS with a little more effort.

qtwayland for example, should work on macOS. we don't need this to be linux only. I don't know who to talk to about changing this. maybe a custom darwin branch or something.

16:39:40
@emilazy:matrix.orgemilywhich is so cursed.16:39:50
@emilazy:matrix.orgemilywasn't this discussed and you were encouraged to work with libwayland and Qt upstream because it broke packages?16:40:25
@emilazy:matrix.orgemilyIIRC Qt's build system assumes that if libwayland is present then there's other Linux-y/XCB-y stuff it can use.16:40:54
@emilazy:matrix.orgemilyso adding support for Darwin to libwayland with the bitrot-prone downstream patch broke Qt even without trying to use qtwayland16:41:11
@spewdins:beeper.comspewdinsoh is that why qtwayland16:41:14
@spewdins:beeper.comspewdins ugh there's so much work 16:41:17
@spewdins:beeper.comspewdinsalright it makes sense but holy16:41:29
@spewdins:beeper.comspewdinsI wish I had some help16:41:50
@reckenrode:matrix.orgRandy EckenrodeYeah. I ran into something similar with Clang 18. What’s really annoying is you can’t just patch the latest gettext. You have to patch every version of gettext because it ships them in a tarball and will use them if a project declares a dependency on that version. That’s the reason for https://github.com/NixOS/nixpkgs/blob/b93797898e1b6582c374a2903fc68dfe36fb7d52/pkgs/development/libraries/gettext/default.nix#L49-L62.16:41:54
@emilazy:matrix.orgemilyif libwayland merges Darwin support and Qt fixes their build system then we can have it enabled no problem. (probably we could even just patch the Qt build system ourselves if libwayland merges it, since at that point it'd be obviously a Qt bug rather than a correct assumption that libwayland implies certain things about the platform)16:42:19
@spewdins:beeper.comspewdins I was also wondering about the macOS nix store optimization. it's no longer a randomized func correct? 16:42:23
@spewdins:beeper.comspewdinsya, I forgot that is an upstream problem with libwayland16:42:51
@spewdins:beeper.comspewdinsthank you for the tips16:43:50
@emilazy:matrix.orgemily

basically it seems like the things that are breaking are things that

  1. use AM_ICONV;
  2. don't declare their dependency on AM_ICONV (by mentioning gettext in their configure.ac) in a way that autoreconf can recognize;
  3. and that we then autoreconfHook

so there's actually an upstreamable fix in ~all(?) of these cases by addressing #2 and then stuff will just pick up our gettext package which knows that we told it iconv works

16:44:04
@emilazy:matrix.orgemilyso that's not too bad, it doesn't mean we have to convince upstreams to accept Darwin-specific hacks or anything at least16:44:18
@emilazy:matrix.orgemilyoh yeah…16:45:17
@emilazy:matrix.orgemily
cdrdao> autoreconf: running: autopoint --force
cdrdao> Copying file ABOUT-NLS
cdrdao> Copying file config.rpath
cdrdao> Copying file m4/build-to-host.m4
cdrdao> Copying file m4/gettext.m4
16:45:20
@emilazy:matrix.orgemily *
cdrdao> autoreconf: running: autopoint --force
cdrdao> Copying file ABOUT-NLS
cdrdao> Copying file config.rpath
cdrdao> Copying file m4/build-to-host.m4
cdrdao> Copying file m4/gettext.m4
cdrdao> Copying file m4/iconv.m4
16:45:32
@emilazy:matrix.orgemily so what's actually happening here is, it's installing an AM_ICONV that works, correctly 16:45:52
@emilazy:matrix.orgemily but the configure.ac is just not picking up iconv.m4 from there?! 16:46:10
@emilazy:matrix.orgemilywell, whatever. kind of a mess :)16:46:27
@emilazy:matrix.orgemily but it at least doesn't seem like "sky is falling, anything using autotools will never accept Darwin libiconv" levels of bad. just "sometimes a configure.ac is organized in a way that means autoreconf doesn't quite do the right thing out of the box and it's an upstream issue when that's the case" 16:47:41
@emilazy:matrix.orgemilythe race condition is meant to be solved in the latest versions of both Lix and Nix to my knowledge16:48:04
@spewdins:beeper.comspewdins exciting. I've had that disabled in my config for years 16:49:16
27 Apr 2026
@spewdins:beeper.comspewdins nixpkgs's zsh 5.9 takes a very long time (or just straight up hangs) when I try using nixpkgs zsh on macOS 01:10:46
@samasaur:matrix.orgsamasaurperhaps https://github.com/NixOS/nixpkgs/issues/513543 ?01:11:22
@spewdins:beeper.comspewdinsseems about right01:11:51
19 May 2021
@grahamc:nixos.org@grahamc:nixos.org set the history visibility to "world_readable".19:22:35
@grahamc:nixos.org@grahamc:nixos.org changed the room name to "" from "".19:22:35

Show newer messages


Back to Room ListRoom Version: 6