Nixos is a perfect toy for techies with too much free time. Decades ago it would be *BSD, Gentoo, Arch and so on.
Opensuse with snapshots and some repo magic, can do 99% of functionality, without learning yet another abstraction layer. But dealing with RPMs is very unsexy.
> Opensuse with snapshots and some repo magic, can do 99% of functionality, [...]
I doubt that.
Does Opensuse have an integrated declarative configuration management system?
How would I apply a patch to a program on Opensuse and build that program the same way as the distro-provided package was (i.e. into a rpm that I can then install)? What about changing compiler flags?
How do I get an isolated development environment going with Opensuse, i.e. one that does not pollute the list of system-wide installed packages?
How can I check if a package provided in the Opensuse repositories was not tampered with, i.e. the provided build instructions actually produce this package? Are there even build instructions for the rpm's provided?
There is a lot more that nix and NixOS can do, this is just part of what came to mind on what I would assume is mostly impossible on "traditional" distros.
How do I learn the ways you're supposed upkeep this snapshot system? Because if this is like git, merges are gonna be a real pain. Because if this is anywhere like full filesystem rollbacks. it's gonna be a real pain.
Also, I use a lot of software that likes being funny, do unspecified system-wide modifications while being outside of the package manager system therefore break it in non-reproducible ways down the line.
I currently went and wandered into "I just want things to not break by default" [1] territory, and I use the semi-immutable systems of Fedora Silverblue/Sericea.
I saw openSUSE Aeon/Kalpa, and liked the fact that it also has SELinux enabled, but it looks like the snapshot system interacts in bad ways with the overlay systems.
[1] Things that want to install garbage even as root in random places will get either denied by SELinux or reverted once a new system update layer happens.
1) Looking at the HN front page, I don't see how that's objectively true. I also don't recall seeing more Nix posts than posts about other topics, particularly popular ones.
2) Has anybody done a statistical analysis of HN posts to see what the top 100 (arbitrary) topics are and how they compare in frequency? Bonus points for a) number of reposts, b) recency data, c) breakdown by month/year, d) fancy graphs
The latter. Over the last several years, I replaced our clever Nix setups with standard solutions. What resulted was measurable increased reliability, performance and development velocity. So I feel qualified to comment.
I still keep an eye on Nix because it has some interesting ideas and there’s clever folks working on it.
I'll share my personal answer: it made computers fun again. I was miserable with debugging flaky builds on large dependency trees and "works on my machine" issues. After switching to nix, now I see dependencies as being almost free, and it doesn't feel like I'm taking on a responsibility to fix build issues indefinitely into the future. It's really powerful when you take something that used to be expensive and make it cheap— it changes your perspective and has all sorts of unexpected benefits. So I'll click any link on HN about Nix or NixOS.
12 comments
[ 1.9 ms ] story [ 65.5 ms ] threadThe domain is clever, it's "linus.writes.now" (or maybe "linus.blogs.now", in this context). "schreiben" / "schreibt" means writing.
I swear 1/5 tech post happens to be about NixOS...
Opensuse with snapshots and some repo magic, can do 99% of functionality, without learning yet another abstraction layer. But dealing with RPMs is very unsexy.
Do you have any pointers on how to get this setup working
Assume I have worked with rpm based distros in the distant past (last time at work 10 or so years ago) and with Ubuntu and derived distros a bit more.
If you don’t have a weekend, then forget it. Coming from other distros, NixOS is alien tech written by four dimensional beings.
I doubt that.
Does Opensuse have an integrated declarative configuration management system?
How would I apply a patch to a program on Opensuse and build that program the same way as the distro-provided package was (i.e. into a rpm that I can then install)? What about changing compiler flags?
How do I get an isolated development environment going with Opensuse, i.e. one that does not pollute the list of system-wide installed packages?
How can I check if a package provided in the Opensuse repositories was not tampered with, i.e. the provided build instructions actually produce this package? Are there even build instructions for the rpm's provided?
There is a lot more that nix and NixOS can do, this is just part of what came to mind on what I would assume is mostly impossible on "traditional" distros.
Also, I use a lot of software that likes being funny, do unspecified system-wide modifications while being outside of the package manager system therefore break it in non-reproducible ways down the line.
I currently went and wandered into "I just want things to not break by default" [1] territory, and I use the semi-immutable systems of Fedora Silverblue/Sericea.
I saw openSUSE Aeon/Kalpa, and liked the fact that it also has SELinux enabled, but it looks like the snapshot system interacts in bad ways with the overlay systems.
[1] Things that want to install garbage even as root in random places will get either denied by SELinux or reverted once a new system update layer happens.
2) Has anybody done a statistical analysis of HN posts to see what the top 100 (arbitrary) topics are and how they compare in frequency? Bonus points for a) number of reposts, b) recency data, c) breakdown by month/year, d) fancy graphs
I still keep an eye on Nix because it has some interesting ideas and there’s clever folks working on it.