Live data from Hacker News

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

github.com

181–190 of 206 posts

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

#181
post #56

Better skip the "non-technical": Nix-GUI: Make NixOS usable for technical users through settings / GUI

I should try to look at the documentation again. But apart from the using the package manager, the rest of the documentation submerged you in a deep theoretical understanding of nix, going deeper and deeper, until the only thing that made sense anymore was the respect you gained from the technies who went further and somehow managed to use nix.

Do you feel that way about the wiki, too?

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

#182
post #48

I think NixOS would benefit from easily accessible collection of opinionated modules/profiles/configurations with minimal set of options. Something like gnome-desktop / sway-desktop / etc. Gnome actually does pretty good job here. The point is: currently my NixOS and Home Manager configurations have over 2k LOC total. When you search for configurations on GitHub/Google you are likely to find complex ones. For example…

GNOME is even documented in the manuals nowadays (https://nixos.org/manual/nixos/stable/#chap-gnome). Unfortunately, Google does not really like single-page documentation.

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

#183
post #68

Having worked in a large Nix dev environment, the difficulty in understanding what was going on meant devops were needed for the simplest changes. Ended up being a blocker for every project I was on. Love the idea but really really dislike it in practice. NixOS is cool though.

Also having worked in a large Nix dev environment, I find it quite intuitive to use and the reproducibility is a great way to ensure your bugs aren't caused by an incorrectly set environment variable or something random like that. It does get a bit annoying when you need a package not available in nixpgs but thats true of any build system

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

#184
post #59

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. I don't think it is fair to say that Nix as a programming language is horrible, IMO, as a DSL it is pretty good and fits the domain well. It is a strange language at first and it…

I think it's fair. It is, by far, the biggest hurdle to adoption and contributions. I'm a SWE and I don't grok it yet. Granted, I haven't spent a ton of time on it. But if you have to spend a ton of time on it, it has in some sense failed. It's harder to learn than literally any other language I can think of that isn't designed specifically to be esoteric. Most languages, after you have picked up a few, you can just…

> I'm a SWE and I don't grok it yet.

I think the biggest difficulty most people have is that it's a pure functional language, and that is quite foreign to a lot of people, even many SWEs.

It's something that's not going to change though because it's a fundamental part of why Nix works so well.

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

#185

Earlier quoted context omitted.

You probably don't have a problem that this solves. I.e., some people still download random zipfiles from the internet and install each individual app from a wizard dialog onto their Windows 10 machine. They find software repositories and package managers confusing and overengineered. I guess that's okay.

> You probably don't have a problem that this solves. > They find software repositories and package managers confusing and overengineered. The screenshot is literally a mishmash of technical jargon with little to no relation to each other. sound.enable defined boolean asset resource enabled. What problem does it solve, exactly?

If you think the words software repository and package manager are esoteric technical jargon then you don't need nix, which is completely fine. But it allows developers to identically reproduce builds of a software which depends on other software packages. Other package managers may depend on some global variables of your system, which nix avoids.

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

#186

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.

These are the nasty solutions I have to deal with at work all the time and my entire job consists of handling things when the "quick" bash cloud init script that someone wrote and various people have made additions to over the years goes wrong.

Bash scripts fail at this task because they are generally not convergent. Ansible makes a basic effort at being convergent, but most of the scripts I've seen are extremely naive about the ways in which a configuration can diverge.

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

#187
post #154
post #48

I think NixOS would benefit from easily accessible collection of opinionated modules/profiles/configurations with minimal set of options. Something like gnome-desktop / sway-desktop / etc. Gnome actually does pretty good job here. The point is: currently my NixOS and Home Manager configurations have over 2k LOC total. When you search for configurations on GitHub/Google you are likely to find complex ones. For example…

Home Manager always seems like a unnecessary layer though. Why is it needed if you already control everything with NixOS?

With Home Manager, you can share configuration between NixOS, non NixOS Linux distros, and macOS.

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

#188
post #184

Earlier quoted context omitted.

I think it's fair. It is, by far, the biggest hurdle to adoption and contributions. I'm a SWE and I don't grok it yet. Granted, I haven't spent a ton of time on it. But if you have to spend a ton of time on it, it has in some sense failed. It's harder to learn than literally any other language I can think of that isn't designed specifically to be esoteric. Most languages, after you have picked up a few, you can just…

> I'm a SWE and I don't grok it yet. I think the biggest difficulty most people have is that it's a pure functional language, and that is quite foreign to a lot of people, even many SWEs. It's something that's not going to change though because it's a fundamental part of why Nix works so well.

Exactly. Before learning Nix I used Elixir and Clojure, so I was pretty much at home using a functional language (even if Clojure/Elixir are not exactly pure functional, but they come close with their immutable data structures).

The other thing that trips some people is that Nix has lazy evaluation. Even Elixir or Clojure uses eager evaluation, so this concept is even more uncommon the functional programming. However, this concept bite me just a few times, so it is not like you have frequent issues with it.

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

#189
post #143

Earlier quoted context omitted.

> Fixing other people's garbage is the bane of any package system maintainer, it's no different here. I honestly think it's hard for "Nix to Nix" simply because by trying to make everything reproducible, it is dealing with more of upstream's garbage, and "reifying" the hoops that people jump through doing sysadmin things in code looks scary. I really want more upstream developers to use Nix, so they might loose their…

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.

Having your screen locker which is written in C be setuid root is a really bad, really insecure idea. That it's supposedly being done for security reasons is replacing a minor, difficult to exploit security issue with something that's essentially guaranteed to be vulnerable.

Upstream is clearly wrong here - whether that means slock should be patched to be sane, or that slock should just not be packaged at all, I couldn't say.

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

#190
post #101
post #84

Earlier quoted context omitted.

This is exactly what I meant with "there is one but it is slow and limited last time I tried", but it does seem that they made good progress (the last time I tried it was some months ago). Time to try it again.

BTW, thanks @easygenes. It is really much better nowadays (that goes to show how fast Nix/NixOS is improving).

Thanks for following up, which makes your earlier comments more useful for folks wondering about the present state of things
Post reply on HN