Live data from Hacker News

Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

github.com

91–100 of 206 posts

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#91
post #6
post #4

Earlier quoted context omitted.

I'm a nix fan and have been using nixos for years now, packaging stuff and writing my own nix-based libraries, but I still find the language to be painful. The problem is, documentation is sparse to non-existant, error messages are poor and often far from the actual problem, and it makes use of concept that lots of people are not familiar with (like lazy evaluation) without ever explaining them, resulting in surprisi…

nix has been around for 18 years . If the documentation is still sparse after all these years, it's not a problem that will be fixed, ever. Same for explaining concepts. Proper errors are a huge and poorly understood problem, so I'm inclined not to judge those too harshly.

I don't think it is fair to judge a project for the number of years its been around, specially for something that is really novel and innovative. Nix/NixOS is not a new web framework that most of concepts are really clear for everyone working with Web. It is a brand new concept for Operating Systems, however most people don't have a clue about system immutability and reproducibility and why this is so hard.

Of course, this doesn't excuse the state of the documentation that should be better. It is just that nobody ever documented this kinda of things before, so it is difficult to do it better.

Nix and NixOS just started to get more known and become popular from the last ~5 years or so, and I think this made the whole community aware that documentation is an issue and it is getting better and better (but maybe not at the pace most people wanted).

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#92
post #61

Earlier quoted context omitted.

> I guess it could make sense for servers as an alternative to provisioning tools but then it seems to me like it’s competing with docker and kubernetes It’s not competing, it’s complementing. Think of it as a fully deterministic “docker build”.

Yes but « docker build » already exists and can already be made deterministic so it’s indeed somewhat competing. Would anything be easier by using Nix? Right now it seems to me like a large ordeal with little to no benefits and my interaction with the Nix community hasn’t been very convincing. A lot of Nix users seem to believe determinism and reproducibility of everything to be enough of a justification in itself. I…

The biggest limitation of using Docker for building images is that it does not allow for composition. You can't simply say you want to combine a Python and Rust image for example.

With dockerTools from nix (https://nix.dev/tutorials/building-and-running-docker-images), this kind of composition is easy. You also end up with significantly smaller image sizes - containing only exactly the dependencies needed for the image to work, which is also good from a security perspective - since it decreases the attack surface.

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#93
post #32

I've never used Nix, but it sounds interesting. I get the impression it's more used on desktop, but I'm curious if anyone has used it on servers?

Yeah. We've used it on servers. It's good in a small setting where a handful of Nix experts can run the infrastructure show. Getting it to scale to an organisation of hundreds wasn't feasible. As soon as we needed to start expanding "infrastructure" beyond just one team, and rapidly hiring new engineers in the context of rapid growth. Training and learning curve was intractable. And we cannot just easily hire NixOS e…

> Frankly, Nix solves problems that the industry has already solved or knows how to live

Agreed. Nix solves really important problems, but the problems it introduces tend to be worse. My instinct is that Nix is on the right path, but there doesn’t seem to be much awareness or concern for tackling these problems. Of course, this is the contributors’ prerogative—if they’re really just interested in making Nix work for the existing Nix community (rather than broadening it into the world of mainstream software development and operations), then that’s all well and good. But if they want to appeal broadly they need to make some significant changes.

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#94
post #46

Earlier quoted context omitted.

> Make NixOS usable for non-technical users through a settings / package management GUI. ^ emphasis mine. What exactly does a non-techical user have to read to understand whatever's on the screenshot? Forget non-techincal, explain this to a technical person. Apparently this has something to do with sound? Have you or any nix-person ever seen a sound configuration screen for non-technical users? I mean this one is by…

This is exactly the same, although their choice of "sliding buttons" with text and color inside is a bit weird compared to checkboxes.

What? They're nothing alike. One has normal, logical options like selecting sound effects and output devices. The other has useless things like how much the media keys adjust the volume by and whether to entirely disable sound on the system, and is littered with technical jargon like 'undefined' and 'boolean'.

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#95

A lot of odd Nix hate in here, or at least extreme dislike. NixOS is so very usable. There are a lot of foot-guns but that's true of Linux systems. It takes some time to get comfortable with all the different ways to configure stuff. There's a new language, a new build system, a new Linux distribution. I've spent very little time relative to say, figuring out dpkg or systemd, or learning Bash or C or Perl, or learnin…

I haven’t used full-on NixOS yet, but I’ve used the Nix package manager quite a lot, and literally all of my forays have been miserable for a variety of different reasons. To be clear, I love what Nix aspires to be, but it doesn’t deliver on its promises IMO. As a package author, the Nix language has lots of rough edges, it’s absurdly tedious to figure out how to call various functions (what type of argument does it…

The wiki has pretty good coverage of managing vscode extensions: https://nixos.wiki/wiki/Visual_Studio_Code#Managing_extensio...

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#96

Earlier quoted context omitted.

I haven’t used full-on NixOS yet, but I’ve used the Nix package manager quite a lot, and literally all of my forays have been miserable for a variety of different reasons. To be clear, I love what Nix aspires to be, but it doesn’t deliver on its promises IMO. As a package author, the Nix language has lots of rough edges, it’s absurdly tedious to figure out how to call various functions (what type of argument does it…

The UI for Nix has been under significant rework over the last ~3 years, but the new UI isn't ready for primetime yet, so none of it is made prominent now. It's getting there though. You can have a peek here: https://nixos.org/manual/nix/unstable/command-ref/experiment...

That’s good to know. I hope they really nail it!

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#97
I keep going to the NixOS website to understand what NixOS is.

it says it's an "OS". I've been in the computer thing for a long time and in my experience, an "OS" is the thing that runs when your machine first boots up. From this it follows that you can't run an "OS" without rebooting a machine (or running it in a VM, or whatever).

Yet I go to nixos.org, click "Learn" (let's assume I'm the supposed "non technical user") click "install nix".

And what we see is two lines of shell that seems to be starting some kind of daemon. I just ran that locally, and it even states, it's going to move things around and start a daemon:

- set up the "default profile" by creating some Nix-related files in /root - back up /etc/bashrc to /etc/bashrc.backup-before-nix - update /etc/bashrc to include some Nix configuration - back up /etc/zshrc to /etc/zshrc.backup-before-nix - update /etc/zshrc to include some Nix configuration - load and start a service (at /etc/systemd/system/nix-daemon.service and /etc/systemd/system/nix-daemon.socket) for nix-daemon

is nixos an "OS"? Can I install it on a machine with no pre-existing OS booting from a USB stick? would be great if their docs could explain if nixos is an "OS" or some kind of runtime modification of linux / OSX. (Edit: wikipediaing / googling, it looks like you can in fact install it from an ISO, and that Nix is basically a linux distribution. I guess it has some kind of installer that can "morph" an existing distro into nix? their site should be less cagey about basic details like this).

I think if the NixOS site / docs could do a better job, or any job at all, of answering this question it would make it more clear what exactly it is because I only have a vague idea that it's a package manager that rides on top of existing OSes, which is great, but the site doesn't make it look like that.

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#98

A lot of odd Nix hate in here, or at least extreme dislike. NixOS is so very usable. There are a lot of foot-guns but that's true of Linux systems. It takes some time to get comfortable with all the different ways to configure stuff. There's a new language, a new build system, a new Linux distribution. I've spent very little time relative to say, figuring out dpkg or systemd, or learning Bash or C or Perl, or learnin…

> A lot of odd Nix hate in here, or at least extreme dislike.

I hate this expression. I'm a nix user. But if you can't understand why people dislike it... you're the one that's odd and out of touch.

If you want people to adopt nix the worst way to convince them is to call their behavior odd when it isn't.

The reason why adoption of nix is so low is trivial. High initial learning curve and it's so different from everything else that's out there. The only reason why I got over that learning curve is because my company uses it. If it wasn't for my job I would not have have the will power to climb over that learning curve.

Like seriously can you not see that someone is not willing to spend months learning nixos when they can get a pretty much from point A to point B using a turn key solution like ubuntu?

Nix is great. But you need to climb over the initial hump. That is all.

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#99
post #87
post #47

Earlier quoted context omitted.

Crazy thing about NixOS is that it's so good, all the bad parts can be excused. I like to go on forums and complain about how the Nix configuration language is horrible, and there's not much documentation on how to get general things done. But that said, I'm still running NixOS on my servers. And no way that I'd ever go back to old fashioned provisioning scripts like Ansible. Just yesterday I had a problem upgrading…

Wait, isn't a point of NixOS is that your updates are guaranteed to be smooth? I haven't used it, but your story now worries me. I don't want to be back at "just reinstall the OS" days, even if configuration is portable.

> And it wouldn't upgrade to the latest version of NixOS because of some certificate issue

This sounds like Lets Encrypt changing it's protocol. Nix itself doesn't give a shit about such things, but maybe some sort of script was supposed to double-check the cert on boot (just speculating). While NixOS can be reproduciable, whatever software Let's Encrypt runs is obviously outside the host's control, so perhaps "leap-frogging" to the latest NixOS somehow helped.

This is incidentally a good example at why I am pretty against microservices (not saying Let's Encrypt is a bad or a microservice, but it is the analogue of one in this parable).

Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI

#100
post #97

I keep going to the NixOS website to understand what NixOS is. it says it's an "OS". I've been in the computer thing for a long time and in my experience, an "OS" is the thing that runs when your machine first boots up. From this it follows that you can't run an "OS" without rebooting a machine (or running it in a VM, or whatever). Yet I go to nixos.org, click "Learn" (let's assume I'm the supposed "non technical use…

It's a bit confusing (and the old site did a better job explaining this), but basically, you have two separate projects: Nix (a package manager/build system) and NixOS (a standalone Linux distribution that uses the Nix package manager).
Post reply on HN