3 ms·
>I disagree. I've been a linux user for 20 years now and for the first 18 I never fixed a package. I've been a NixOS user for 2 years and suddenly I'm a partici
by corethree 3y ago
>I disagree. I've been a linux user for 20 years now and for the first 18 I never fixed a package. I've been a NixOS user for 2 years and suddenly I'm a participant.
That's the problem. Most people and developers don't want to be a "participant". They need something that gets the job done. Your disagreement represents a niche and if the devs cater to your disagreement then they cater to a small niche.
The best design caters to both the average more casual user and the more advanced user. Many developers want a computer that just works so they can concentrate on development, that's why most developers own macs even though linux is the most hacker friendly OS. NixOS especially forces users to "participate" in in-depth OS configuration which is not desired by the majority.
People in the linux world need to be empathetic with the more common user otherwise their part of the world will remain niche and closed source operating systems like windows will be leaps and bounds ahead of linux in terms of usability and user friendliness.
Linux has made lots of strides in the last decade, but for user friendliness? It has ALSO made big strides here. But not NixOS. NixOS is a step backwards for the average user and a step forward for someone like you or me who's willing to learn a completely new programming language to use an operating system.
I'm a functional programmer so ML style languages like Nix are trivial to me and easy to learn and easy to understand. But this ability doesn't make me blind and lose empathy for the average user and even the average developer who doesn't like haskell or ML.
More OSS people need to understand this. My comment here wasn't about what I wanted. When I used NixOS everything was just fine. I had no problems with it from the standpoint you describe as a personal OS. But I was still able to identifiy the problem with NixOS as a consumer product or even as a product used at a company for development. This isn't a trivial problem. It's a major impediment that hinders adoption.
- __MatrixMan__ 3y ago> someone like you or me who's willing to learn a completely new programming language to use an operating system No, it's the other way. I'm using NixOS because I want to understand Nix better. I want to understand Nix better so that I can help this crowd: > Most people and developers don't want to be a "participant". They need something that gets the job done. I met a guy last semester who wasted 4 months of his graduate program (structural proteomics) trying to puzzle out how to run some x-ray laser scattering analysis software that was written in FORTRAN and handed to him on a flash drive. He's the person I want to help. I want him to be able to install nix wherever and type `nix run github:foo/barlasers` and be happy that barlasers works as expected, no need to become a NixOS user. > Your disagreement represents a niche and if the devs cater to your disagreement then they cater to a small niche. They're catering to the people who are willing to help them create a useful packaging and configuration ecosystem. Just because they're not catering to the end users of those packages doesn't make them insufficiently empathetic. The alternative is a really comfy package manager and a bunch of broken packages. That's much worse. I see NixOS as a factory floor, if you wanna get your hands dirty we'll happily show you around, but the "easy button" experience that we're building happens where people press that button, not where it's made.
- corethree 3y agoLearning nix to help the average user is a bit irrational as both are two opposing objectives. Nix is for power users. Not for average users. It's pretty much the entire design philosophy.
- __MatrixMan__ 3y agoI recently took a computational biology class which was way above my level. There I worked alongside scientists who have some pretty daunting software configuration problems. Their first approach is to just try every package manager that has the tool until they find one that works, and then they tell their peers to use that one. I'm not proposing to teach them to write nix, but they can add it to the list of things they try, like: $ conda install sra-tools ; sra-tools fastq-dump # error: tls version mismatch $ nix build github:MatrixManAtYrService/sra-tools ; ./result/bin/fastq-dump # works I was able to get them unstuck several times by just packaging something myself and pointing them at my repo. That's what I mean by help. Nix packages don't bit rot the way that others do. Packaging things with nix would be a great way to make sure we don't lose access to software that was written in the 80's.