6 ms·
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
by Dedime 4y ago
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.
- chironjit 4y agoI 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
- SkyMarshal 4y ago> 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.
- anon291 4y agoIf 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.
- rgoulter 4y ago> 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.
- G3rn0ti 4y ago> 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.
- pxc 4y agoI'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.)
- amelius 4y ago> 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).
- viraptor 4y agoI 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 https://github.com/guibou/nixGL
- aseipp 4y agoNix 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/ https://www.jetpack.io/devbox/
- colordrops 4y agoThere'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/ https://snowflakeos.org/
- picozeta 4y ago> I gave up after a short while using Nix and switched to Windows. Why not an established distribution like Fedora, Arch, Debian or Ubuntu?
- Gigachad 4y agoPresumably for the other things listed like power management and accessories. Webcams and finger print scanners almost universally don't work on laptops with linux.
- marssaxman 4y agoThat's not been my experience at all, with a long series of Thinkpads. I wonder which laptops tend to have such issues?
- rtpg 4y agoFingerprint 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
- seiferteric 4y agohttps://www.phoronix.com/news/Greg-KH-No-ADL-Webcam-Laptop https://www.phoronix.com/news/Greg-KH-No-ADL-Webcam-Laptop
- rtpg 4y agoI stand corrected. Honestly disappointing that places like Intel aren't outright defaulting to OSS for newer drivers.
- NateEag 4y agoFWIW, 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.
- rgoulter 4y ago> 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/ http://devenv.sh/ which offers both YAML/Nix declaration of a development environment.
- dloreto 4y agoDepending on your use case, devbox (https://github.com/jetpack-io/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.