News for hackers. Stuff that matters.
Re:Spectrum OS: a declarative, reproducible, compartmentaliz... by the_duke on Tuesday September 14, 2021 @08:15PM (#28533374)
I switched to NixOS about a year ago.

It's been amazing for me. Especially when combined with home-manager [1], which provides declarative user environments and flakes [2], which provide a even more declarative and more easily shareable package format.

Getting my exact setup on a new device - including lots of GUI and terminal app customization - takes a single `nixos-rebuild-switch`, and works every time. Everything is configured in a single config file, from hardware and system service setup, over window manager setup, all the way to installed Vim/VS Code/Chrome plugins and lots of application configs.

The ability to easily roll back to previous configurations and boot into old configs from the boot menu in case something breaks is also brilliant.

You can also just install and run pretty much all software on demand, similar to `npx`, without polluting the system. ( nix run some-app). Declarative, reproducible development environments for each project are the cherry on top.

That said, the onboarding experience is horrible. There are A LOT of things to learn, and the documentation is bad. I also agree that the language, while somewhat fine, is not great and very undiscoverable.

The Nix ecosystem is a diamond in the rough. Sadly it would take a lot of effort to simplify everything and make it more polished.

I'm afraid Nix will continue to remain very niche.

[1] https://github.com/nix-community/home-manager [2] https://nixos.wiki/wiki/Flakes

Re:Spectrum OS: a declarative, reproducible, compartmentaliz... by a9h74j on Tuesday September 14, 2021 @10:54PM (#28534686)
Low skill myself at installing Linux, but I found installing a Guix to disk relatively straightforward. Managed to easily add available builds. Apparently-good support for virtual machines as well.

http://guix.gnu.org/

Re:Spectrum OS: a declarative, reproducible, compartmentaliz... by throwaway894345 on Wednesday September 15, 2021 @09:21AM (#28538729)
Even trying to get VS Code working with a couple of plugins (and the help of the good, experienced people on the Nix discord) was impossible (I was just using the package manager, not NixOS--apparently VS Code requires a different incantation depending on which platform you use, which is another problem.

> Sadly it would take a lot of effort to simplify everything and make it more polished.

Yes, and while it would take a lot of effort to make most things nicer (improving the language, etc), other things require effort that scales linearly with the number of packages in the universe. For example, making the package definitions in the first place, adding documentation for the packages, testing packages, etc. Other things are even worse: testing various combinations of dependencies at different versions.

> I'm afraid Nix will continue to remain very niche.

Unless it gets some serious corporate support, I'm afraid I'll agree. The Nix folks have done some impressive work, but I get the impression that they're more interested in making something cool for themselves and other like-minded people at the expense of others (and there's nothing wrong with that! it's just incompatible with growing out of a niche).