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.
Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
181–190 of 206 posts
Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
#182I 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…
Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
#183Having 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.
Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
#184Earlier 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 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
#185Earlier 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?
Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
#186Earlier 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.
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
#187I 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?
Re: Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
#188Earlier 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.
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
#189Earlier 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.
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
#190Earlier 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).