Chromium for Darwin

Why don’t the nixpkgs support Darwin; it was a surprising gap for what I’d think would be a popular package.

Is there a NUR where someone has a derivation with the prebuilt binary ?

2 Likes

Typically the reasons are that noone is maintaining things. Darwin seems generally very under-maintained in nixpkgs (in comparison to the other platforms we build). Chromium and Google Chrome need new maintainers · Issue #78450 · NixOS/nixpkgs · GitHub

4 Likes

Yes, that is true. We should remove Darwin (macOS) completely. No joke.

1 Like

I almost agree if none is willing to maintain it.
Or at least apply some “beta” labeling.

Nixpkgs gave me the impression the breadth of packages were also available on Mac.

Very many binary packages are available for darwin: https://hydra.nixos.org/eval/1616901?filter=darwin

1 Like

I’m disappointed at how uncharitable this whole thread is towards the Darwin maintainers.

Just about everything gets packaged because a user wants it enough to put in and contribute the work.

If you want something packaged but aren’t willing to contribute it, you now know roughly why the package doesn’t have Darwin support yet.

Sometimes the search terms aren’t distinct enough to help, but when they are a code search is a good way to answer this question.

2 Likes

Me personally, I started using nix on OS X and did my first contributions to nixpkgs via that.
However once I got deeper into the topic I was really eager to completely switch to NixOS to get all of the reproducibility benefits. I haven’t regretted it since, but that also means there is not much incentive to fixing macOS specific issues anymore.

I’m not trying to be uncharitable to contributors.

I am in fact a contributor myself; but rather I feel the documentation for Nix lead me to believe a different reality for the state of Nix on Darwin.

These larger packages like chromium that happen to also be some of the more challenging derivations to write. A bit of a chicken and the egg here since many likely newcomers likely will abandon evaluating Nix on Darwin without some of them.

1 Like

If there’s a specific claim (or even a vague one :grin:) in the documentation it should probably be reported and fixed.

Perhaps I’m an outlier, but I haven’t experienced missing desktop apps as a showstopper on macOS.

It doesn’t directly apply to Chromium, but enough of my desktop apps are closed-source and/or Mac-only that I don’t see any near-term escape from needing Homebrew or some other ritual for downloading and installing binaries.

Some people use a Nix wrapper to download+install (or even to run Homebrew), but many of these apps auto-update, or stop working when the client is no longer compatible with a centralized back-end. I get the attraction of One Config to Rule Them All, but forcing these into Nix smells weird to me (an anti-pattern? reproducibility theater? trying to fit a square peg in a round hole?)

It is nice to get desktop apps sorted out, and I look forward to the day when I can manage everything I use with Nix, but I also don’t feel particularly put-out by having to install a few desktop apps this way.

2 Likes

Same here. Another issue is that beefy Mac hardware is quite expensive. I still have a MacBook Air, it’s ok for reviewing (or fixing) derivations that do not have long build times or that do not have many reverse dependencies. But anything else is just dreadful. A while ago when I was traveling I made some changes to PyTorch and every build was 1.5-2 hours.

But I think Darwin support is important, because it is a gateway for a lot of people. Also, as @abathur points out, if you are willing to install browsers and other large applications ‘natively’ (Homebrew cask or drag & drop), Nix works really great for managing a Unix environment on macOS.

I’m not trying to be uncharitable to contributors.

I am in fact a contributor myself; but rather I feel the documentation for Nix lead me to believe a different reality for the state of Nix on Darwin.

These larger packages like chromium that happen to also be some of the more challenging derivations to write. A bit of a chicken and the egg here since many likely newcomers likely will abandon evaluating Nix on Darwin without some of them.

Chromium is large, known to be a mess whatever you do, and auto-updates. My current experience on an Android device with a keyboard tells me that just having the CLI part figured out provides quite a bit of value.

But indeed, Darwin being locked onto specific non-dirt-cheap hardware reduces the amount of people working on it, and Chromium has unreasonably long rebuilds to further make it less atractive…

1 Like

As an avid nix-darwin + homebrew user, please don’t.

Perhaps I’m an outlier, but I haven’t experienced missing desktop apps as a showstopper on macOS.

Heavy +1

It is nice to get desktop apps sorted out, and I look forward to the day when I can manage everything I use with Nix, but I also don’t feel particularly put-out by having to install a few desktop apps this way.

+1

But I think Darwin support is important, because it is a gateway for a lot of people.

+1.
And not everyone loves to run linux on the desktop (even if we love running it on our servers)

1 Like

Darwin/MacOS is important. Even if there is a minority of maintainers using MacOS at the moment surely a large number of them have colleagues and friends using Macs. Having reasonable story for Darwin support is critical for future adoption. I myself work in a team where I’m the only NixOS user, there is another Fedora user and the rest uses MacOS. Darwin support is the only trick I have in my sleeve to convert some of them to NixOS and to start using nix at least for our Haskell projects.

Concerning chromium specifically – I don’t feel it’s a critical package to support on MacOS. In fact, I think it’s mostly useful only for NixOS users. On other distros and on Mac folks are expected to use native package manager or regular installer to install stuff like browser anyway. Putting the amount of work likely to require to support chromium on MacOS seems like a waste of effort to me. The only exception I can think of is when one needs build nix based environment for running tests for web app in headless chrome. Anyway there are surely more important things to focus on with Darwin. Anyway I don’t blame Darwin maintainers for investing their time and effort into other stuff.

2 Likes

My anecdotal evidence has been that when Nix on Linux/Darwin doesn’t work well; its less enticing to convince someone to try NixOS.

I had a few engineers try Nix on MacOS. Maybe my mistake was claiming it could replace homebrew + the whole hermetic closures speak.

Unfortunately they try to install something (in this case Chromium) and fail.

2 Likes