Live data from Hacker News

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

github.com

171–180 of 206 posts

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

#171
post #9

What a coincidence. I was just asking about NixOS on Mastodon. Reposting (I'm on a mobile, little time to type): " a question on dev environment isolation. Is either #NixOS or #GUIX usable as an OS for day-to-day use (coding, browsing, occasional gaming)? Or is it better to just use their respective package managers on top of regular Linux? Also, anyone here doing desktop #virtualization? Is there a sense of running…

> #NixOS or #GUIX

Two years user of NixOS here, moved after using Arch for about 3 years. Overall I'm really happy with it.

I also evaluated Guix when migrating from Arch. My raw and honest opinion about it is that it's just an attempt at open source fragmentation with zero innovation(I'm not impressed by Scheme or Lisps) that uses GNU marketing/branding/philosophy to gain adoption. I decided not to waste any time with it.

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

#172
post #144

Earlier quoted context omitted.

Again, misunderstandings seems to run rampant in this thread... No, Docker doesn't maintain systems, it handles applications. No one runs systems inside of Docker. People run applications with Docker, and Docker itself runs on systems. And no, Nix doesn't "do this differently and better", as what Docker does and Nix does is wildly different. Nix is for machines, not applications. Sure, a subset of features from Nix c…

I think what the parent is alluding to is: What is the practical point of using Nix when similar outcomes can be reached with more mainstream solutions? In other words, suppose I want to deploy a web app that depends on Nginx, PHP, and PostgreSQL. I could: (a) Run all as docker-compose type solution (b) Run all as scripted Nix solution (c) Install packages manually on general purpose OS Lets ignore "c" for the moment…

I guess the nix way would be more performant because it does not need layers of OSes

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

#173
post #143

Earlier quoted context omitted.

Reproducibility is not the only issue they're facing. I think the mentality extends to more than just fixing linker issues, e.g. this https://github.com/NixOS/nixpkgs/issues/9656 At the end of the day, I much prefer trusting upstream than having to trust packagers to do everything right.

Fair, but at the same time, "setuid" is a war where everyone looses, IMO :). Since the issue was first closed, there are some solutions for NixOS that I hope for discoverable. For Nixpkgs alone, I really don't think see any solution that is both secure and ergonomic -- setuid is bad.

Setuid has been replaced by capabilities, but nix faces the same struggles it has for setuid (only supports it through a wrapper, and that was after a "wontfix" according to the bug tracker).

More than that though, the mentality that you can just patch away critical features (like setuid) without telling the user is imo unhealthy for an OS.

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

#174

Earlier quoted context omitted.

I don't understand how you can use docker-compose, docker, Kubernetes or anything else to achieve the same thing as NixOS. NixOS gives you a fully reproducible personal computing system, from boot config, window manager, partitioning to applications, home directories and everything in between. What mainstream options are available for doing this? Guix could be one option, but it's not mainstream so I'm not sure what…

Eh you can do the same thing (or close enough) with a bash install script on a "stock" linux system and then a docker set up with the applications that that you want. Or with ansible. it really depends on the end goal. Not everyone needs every single bit to be the same. Or you can just image a drive. It depends on the end goal and often multiple solutions will get you there.

moreover, you can also use docker digest instead of tags, that is: instead of docker pull postgresql:11 you can do docker pull postgresql@sha:xxxx....

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

#175

Looking at the GUI, I have no idea what it does. I'm guessing that you actually need to know Nix to be able to use it, which kinda defeats the "usable for non-technical users" goal. I can see the value of it, if I ever learn Nix, and want a quick way to make modifications without having to google every possibilities.

Unfortunately Nix-Gui hasn't yet achieved it's tagline. Hopefully https://github.com/nix-gui/nix-gui/issues/77 letting users configure a predefined list of options relevant to completing a task will bring us closer to that goal.

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

#176

To call this an interface for “ non-technical” users is an utter delusion.

It should be said it is for technical but non-programmer users, "power users". I don't think it is more scary than dconf-editor or regedit :D. After this foundation is laid, there's no reason we can't add more "tutorial/wizard" flows, just as Microsoft kept revamping the Windows "control panel" but kept the old version. What we can't do is simply drop config options like Apple. The Nix ecosystem aspires to be all mec…

>After this foundation is laid, there's no reason we can't add more "tutorial/wizard" flows, just as Microsoft kept revamping the Windows "control panel" but kept the old version.

Well put, this is exactly the goal. https://github.com/nix-gui/nix-gui/issues/77

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

#177
post #144

Earlier quoted context omitted.

I think what the parent is alluding to is: What is the practical point of using Nix when similar outcomes can be reached with more mainstream solutions? In other words, suppose I want to deploy a web app that depends on Nginx, PHP, and PostgreSQL. I could: (a) Run all as docker-compose type solution (b) Run all as scripted Nix solution (c) Install packages manually on general purpose OS Lets ignore "c" for the moment…

I don't understand how you can use docker-compose, docker, Kubernetes or anything else to achieve the same thing as NixOS. NixOS gives you a fully reproducible personal computing system, from boot config, window manager, partitioning to applications, home directories and everything in between. What mainstream options are available for doing this? Guix could be one option, but it's not mainstream so I'm not sure what…

You are talking past the comment that you replied to, and you haven't answered it.

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

#178

Earlier quoted context omitted.

> it seems to me like it’s competing with docker and kubernetes and I have never seen a convincing argument about why it would be better. This seems to indicate a huge mismatch between what you think Nix/OS is compared to what it actually is. NixOS is for creating/maintaining systems, Docker is for running applications and Kubernetes is for running applications but across multiple servers, neither of those tools are…

> Docker is for running applications Yes but no. Docker is mainly used for its ability to build and reuse standardised containers. It’s very much a distribution mechanism (I mean that’s why it’s called docker). From other comments I get the feeling that NixOS could be used to build reproducible containers in a way that remind me of building tools like Bazel but it’s not entirely clear to me why you would chose to do…

> NixOS could be used to build reproducible containers

You absolutely can build docker images using Nix via dockerTools.buildImage [0].

[0]: https://nix.dev/tutorials/building-and-running-docker-images

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

#179
Thanks for posting this.

This is a work in progress and definitely isn't at the point where, for example, a Ubuntu user with little technical background could switch over easily.

As many commenters have pointed out, users will still be questioning which options they should change to accomplish a goal and will need to use a search engine.

To alleviate these problems, our next major step is "Guided Configuration"[0]. This will allow users to select a task (e.g. add a user, add a group, configure your desktop environment, configure sound, configure bluetooth, etc) and be provided a list of options relevant to the task.

Additionally "Recommended Options"[1] will inform users of options relevant to their current configuration which they have yet to define.

There are a few other smaller changes in the works to help with usability, and I'm open to suggestions for how we might continue to improve UX and make configuring NixOS intuitive.

Also, if you've used Nix-Gui, please consider filling out the UX Survey: https://github.com/nix-gui/nix-gui/issues/129

[0] https://github.com/nix-gui/nix-gui/issues/77 [1] https://github.com/nix-gui/nix-gui/issues/21

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

#180
post #79

Earlier quoted context omitted.

> Is either #NixOS or #GUIX usable as an OS for day-to-day use (coding, browsing, occasional gaming)? Yeah, definitively. I use only NixOS on all my machines for about 3 years already. My machines are working so well nowadays that I rarely have to change anything [1], even during major upgrades (between stable versions). I don't fear anymore if a machine could break tomorrow. I know that it will be very easy to resto…

Thanks for the detailed writeup, and all the pointers in it! > About the VM per project, unless you want to do this for some other reason (security maybe?), you don't need to. As I said before, you can use things like `nix-shell` and this will already give isolation enough for development purposes. That's great to know. I don't have security requirements there - I'm just looking for a way to isolate projects along wi…

Old versions of software are super easy to deal with with Nix, because it gives you a baseline level of isolation for all packages that obviates these problems. On some of my systems running the latest NixOS release from 2021, I've installed a package from 2015, and I didn't have to do anything to isolate it or its whole toolchain.
Post reply on HN