Hacker News new | past | comments | ask | show | jobs | submit login

I also ran NixOS on my framework for a while. As much as I loved the idea of Nix, it's also incredibly hard - I work with Linux day in and day out for work, and finding my way around Nix, configuring new packages / basic features, etc. just took too long for me. The biggest upside I found was the incredible resilience, it was nearly impossible to break my installation.

I gave up after a short while using Nix and switched to Windows. It's not perfectly tuned like a minimal Linux install might be, but all of the hardware features work as expected and it has a pretty good battery life.

If someone can find a way to do something like Nix, but simple, I'll be interested. Even if it's just a on-rails version of Nix.




Nix is basically a programming language, a library ecosystem and API for packages, and in the case of NixOS, all of that is used to configure your operating system. So it's not a small endeavor by any means, no. I think explaining it more like this reflects the actual scope and sets expectations much better than "package manager" or whatever does. Nobody expects to have to learn an API to customize a package...

I don't think what Nix does in its most general strokes can really be made much simpler, unless you're willing to throw away a lot of what it does today (be it some of the package set, some extra features it offers, platform support, whatever.) The complex things it handles, that inherent complexity, is where all value really is. And that's where the huge and vibrant community comes from, because it does so much for everyone. It isn't easy, though.

For an on-rails version of Nix, you might enjoy something like Devbox. I can't personally vouch for it (I just use Nix itself, but I'm "an expert" with sunk costs), but I like the idea. One of the cool parts of Nix being "An API" is that you can build things like this on top: https://www.jetpack.io/devbox/


There's an attempt to wrap NixOS with a GUI configuration tool, SnowflakeOS. Seems really promising, but I believe it's quite new and not well known yet.

https://snowflakeos.org/


> it's also incredibly hard - I work with Linux day in and day out for work, and finding my way around Nix, configuring new packages / basic features, etc. just took too long for me.

Right.

In many ways, Nix is almost like a layer on top of Linux. If anything goes wrong, you'll need to understand both the Linux stuff, as well as how Nix works, and how Nix is making use of what's going on.

The most exciting thing I've seen with Nix recently is http://devenv.sh/ which offers both YAML/Nix declaration of a development environment.


> I gave up after a short while using Nix and switched to Windows.

Why not an established distribution like Fedora, Arch, Debian or Ubuntu?


Presumably for the other things listed like power management and accessories. Webcams and finger print scanners almost universally don't work on laptops with linux.


Fingerprint scanners maybe, and of course graphics drivers nonsense but webcams? I haven’t ever a webcam issue in 10+ years on any distro.

Nowadays so much is just some USB device that even on laptops so much ends up working out of the box



I stand corrected. Honestly disappointing that places like Intel aren't outright defaulting to OSS for newer drivers.


FWIW, the webcam and fingerprint scanners on my 12th gen Framework functioned out of the box on NixOS.

I have yet to get the camera color balance working remotely well in artificial lighting, though.


The only issue I had with power management was a 5g modem driver that didn't want to suspend - once that's blacklisted the machine works as intended - with the fingerprint reader, webcams, and sleeping. Don't spread FUD, please.


It’s hardly FUD. It’s the reason OP listed for moving back to windows. Currently on my laptop, Linux works but there is no support for the webcam, bluetooth, suspend, finger print scanning, and thunderbolt features beyond usb 3.

It’s improving and I’m sure in a few years it’ll be working well but these are issues that have been reoccurring for me. I’ve never had a Linux laptop where the fingerprint scanner worked.


I am on a thinkpad using an external thunderbolt monitor with several peripherals linked to it. No sweat at all. Never had to install drivers for anything, webcam, wifi, bluetooth etc all works. Linux mint has been rock solid. I've gone through three major OS updates without anything breaking.


Well, they also said a framework machine, which has excellent Linux compatibility, especially for the commonly difficult hardware you list.


Ubuntu 22.04 on a Dell XPS. Literally every piece of hardware works great including the fingerprint scanner.


Power management does not work at all in windows. It does not really sleep, and randomly starts spinning the fans at full blast during short times.

On linux you might have to fiddle with configuration, and get unacceptable behavior like black screen and needing a restart after wakeup, until you get it working. But at least you can do something about it.

Only macs seem to get it right out of the box.


That's funny, I had this in reverse. 100% Linux support of my HP EliteBook 845 g8 from day 1 (bought in November / December 2021).

Only recently (November) did the webcam start working reliably on Windows 11. Also, out of the box, you get no touchpad / trackpoint during install.


That's not been my experience at all, with a long series of Thinkpads. I wonder which laptops tend to have such issues?


Yeah, it seems like a much bigger step. Imagine you switched to a diesel-powered car and didn’t like it, and instead bought a motorbike.


> If someone can find a way to do something like Nix, but simple, I'll be interested. Even if it's just a on-rails version of Nix.

I doubt it's possible to substantially simplify Nix and still cover all the use and edge cases it does. Maybe GUIX since it had the benefit of learning from Nix and uses a more familiar (for HN anyway) Scheme, but I haven't looked at closely.

It seems that if Nix/OS works for you, it works really well, but if there are use/edge cases where it doesn't then it can be a lot of added effort to wrangle it.


> I doubt it's possible to substantially simplify Nix

In general, I think there's always going to be a long tail of things which will be relatively difficult to achieve with Nix.

But, I think it would be possible to make many cases much simpler, or have more common developer use cases well-trodden so that its rough edges get ironed out.


If NixOS doesn't work for you then using Nix to set up a virtual machine is invariably easier than the problems you'll certainly have in ~five years with any major linux distro. NixOS is the first truly rolling distro I've ever used where I never even think about upgrading / switching distros / re-installing linux to get rid of cruft.


> Maybe GUIX since it had the benefit of learning from Nix and uses a more familiar (for HN anyway) Scheme, but I haven't looked at closely.

I’d be glad if sb could give a rough outline of the similarities and differences between Guix and NixOS for me who is not familiar with both of these systems but would like to learn more about them. I have a gut feeling that having reproducible builds/installations gives 90% of the benefits Docker provides.


I'm too tired and busy atm to really write up a comparison like that atm, but on this

> I have a gut feeling that having reproducible builds/installations gives 90% of the benefits Docker provides.

I'd argue that both tools provide more benefits than Docker, at the cost of the extreme convenience Docker offers in allowing you to use completely arbitrary (even non-reproducible!) steps to produce a container image. If you're already using either tool, you can achieve anything Docker can, including deploying against the Docker runtime. See the docs for the `guix pack` and `nix bundle` commands for info on how either tool can automatically produce OCI images out of arbitrary packages for you.

(To compare the two tools, I recommend just installing both Nix and Guix (via their own usual installers) on some desktop Linux VM and playing with them.)


Depending on your use case, devbox (https://github.com/jetpack-io/devbox) could be what you're looking for. It is powered by Nix, but abstracts the nix language away, so that you can use it like a "regular" package manager.

Currently it works on a "per-project" basis, but we're planning to add support to use it as your primary package manager for global installs as well.


> I work with Linux day in and day out for work, and finding my way around Nix, configuring new packages / basic features, etc. just took too long for me.

That was my experience as well.

On top of that, getting something like nVidia's latest drivers working with everything else on Nix seems daunting, so you become fully reliant on the community (which may be lagging behind wrt the newest versions).


I get what you mean, but keep in mind that for every distro you're reliant on the community to get nvidia support integrated. Also if you only have few apps that require it, then the nixGL flake is not bad. https://github.com/guibou/nixGL


I know you're getting bashed, but i understsnd your pain. I have a new framework too, and whats unsaid in this blog post is whether this setup works for a laptop.

Specifically, i've noticed battery performance leaves lots to be desired and your mileage will vary by distros.

Mine specifically, started with Zorin but noticed it didnt do well with idle power usage. Switched to PopOs as its my desktop daily driver, but kept getting random freezes. Gave up and went with stock ubuntu.

Pretty much stable now, and perfect for a desktop but really not happy that a 2022 laptop only lasts 2 - 3 hours in usage. Not sure if its a linux issue but if Windows does solve it, wouldnt blame you for making that choice




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: