Should I use nix os?

Thanks, now I will try to make an easy-to-use script to wrap this tool up.

1 Like

I have produced a very primitive version of this install script called nixos-inserter.
I don’t think it’s ready to use though…

I wish the community too would be a stakeholder of NixOS adoption also. (I do not say you were not thinking of that, but I think it’s important to repeat it on public forums.)

Anyway, I think a beginner NixOS module is probably a good idea.

1 Like

I actually think this is nearly the opposite of the truth. It may be the first thing they encounter, but it’s not the most important thing they need. Before a graphical installer is useful, you have to have a graphically manageable OS, and we just don’t.

I think this is a common misconception people have about “growth”. What you need is not growth. What you need is the tools to support the growth that you want. Only once you have that can you focus on achieving that growth. If you get it backwards, you’re always going to be on the backfoot trying to keep up with “growth”.

5 Likes

what is it for? I cannot do anything without login?
(btw: it isn’t up to date, right?)

I mainly use MyNixOS to search for packages from nixpkgs and options of NixOS, home-manager and nix-darwin, and for that alone it’s very convenient.

Haven’t used any of the generation features yet, but they seem quite convenient.

Updated with version v0.1.28 now, including a feature to add arbitrary settings to flake outputs.

Without logging in you can browse content on the website, but to create flakes you need to log in.

Example user flake config: MyNixOS

The goal of the site is to make it easy to create Nix flakes (especially for beginners) by providing a structured UI to browse and use options and packages. Definitely a work-in-progress, but some people are finding it helpful. The videos on the front page should make it clear how you can use the website (they do look a bit dated since the interface has been updated after the videos were made :slight_smile: ).

I do wonder what the numbers look like with regard to ‘accidental’ MBR installs versus true legacy hardware…

Somewhat counterintuitively that might end up resulting in a better overall UX…

1 Like

Well, how hard can running nix-collect-garbage get?

When you’re a newbie, it’s extremely difficult. This, along with poor fs options during freshinstall (btrfs, f2fs, xfs, etc.), make nixos a painful experience. Furthermore, when the user is presented with almost no system core basics preconfigured or enabled (printer configuration, bt, etc.), the system feels rushed and unfinished. Why should a new user put up with the heavy overhead when you can install a maintained distro like mint, fedora, or even deb 12 that includes all of the basic functional services, printer setup and folders, and so on?

Its current configuration will and does turn off new users, particularly with the ridiculous number of rebuild switches that occur when you experiment with it for the first few times.

So in regards to your tastless comment

" Well, how hard can running nix-collect-garbage get?"

does not help new users spread the word to trial out nixos

2 Likes

I can see where you’re coming from.

I bought a refurbished PC, with Windows 10 Pro preinstalled. I had a go at Hyper-V. Success with Haiku and Mint ISOs, but NixOS didn’t work.

I then installed NixOS on the computer, with the Cinnamon desktop. This didn’t work properly out of the box. When new software was installed, it didn’t end up under the Start menu. I will have to fix this - I think it’s because the place where NixOS places things is different to where Mint places things, and so the desktop doesn’t pick this up.

NixOS is not for people who have never worked with Linux before. It is for people who become more motivated where the number of problems increases. I have used Linux before, and Unix before that, but I have a frustration threshold, and so we will have to see how it works out.

2 Likes

The only reason why im sticking it out with nixos is that its the only distro ive come across where wps dosnt crash when i open up docs or spreadsheets from remote servers. Libre office doesn’t crash either but i simply loath LO . If wps didnt crash when opening up docs from remote locations (servers) i would most definitely leave nixos as theres just too many overheads to get it up and running especially the garbage it accumulates through rebuilds. I have to also note its most definitely not a reproducible platform as they claim on ad hoc pc’s. Yes this is true when 99% of your infrastructure is identical then yes.

Have you tried Nix-on-Debian or something? Nix works well as a non-system package manager, a lot of applications installed from Nixpkgs just work acceptably (many GUI apps included), NixGL works around some typical failures of OpenGL-needing GUI applications form Nixpkgs on non-NixOS.

It sounds like a slightly more annoying installation of WPS using Nix and Nixpkgs on non-NixOS could be worth the option to manage the rest of the system in a way you prefer and removing a lot of frustration there…

(If there are issues requiring help to figure out, though, I guess WPSOffice-specific discussion would need another thread)

It is really not about reproducing the state of hardware adjustments on another hardware. The claim is being able to roll back and forward on the same hardware, and reproduce hardware-unrelated parts of the config (e.g. which office suite is installed) on top of a different set of hardware adaptations on another piece of hardware. Both are quite useful for some approaches to using Nix (but yeah, it’s solving problems many people usually do not have).

While that’s the aim of a lot of users, @tolgaerok is correct in stating that NixOS by itself is not sufficient for that.

Either way, the claim to reproducibility applies to package builds, not configuration, which nix does ensure, with clearly defined limits.

I don’t think there is much of a claim to reproducibility at a configuration level, though you can get far with careful attention, and perhaps an erase-your-darlings-alike setup. Which I can accept is “too much overhead” for some, given you actually need to understand a lot of the software you use as well as the nix ecosystem, and even then it will be practically impossible in places (have fun trying to do declarative config for your steam games…).

The claim for configuration is declarative deployment, which yes, NixOS does offer. Too many applications have stateful configuration to ensure reproducibility, though.

The full NixOS experience is definitely for the more masochistically inclined. Still, I don’t think the distro, if used more casually, is quite that complex, and certainly not much harder to use for your average programmer than say arch or gentoo. And it still buys you quite a bit more robustness than either of those, as well as far more convenient maintenance once you’ve figured out nix properly. It’s just not the distro for you if you want to click in a GUI to install applications (and I’d argue neither are arch or gentoo).

2 Likes

Excellent thought. installed nix on Debian 12 and WPS Office. Now, where did it go?

The writer opens when I type WPS in the terminal, which is good, but how do I access spreadsheets and add shortcuts from the nix installed packages to the desktop/icons-only task manager (kde)?

Well, I’m starting to find using the entire nix-os and nix packages for non-nixos to be a huge pain, and I’m seriously wondering if the project’s underlying idealogy is even worth the hassles!

I believe it has 4 comands: wps, wpp (Presentations), et (Spreadsheets), wpspdf (PDF viewer)

which wps shows it is found in ~/.nix-profile/bin, right? If so, I would try ln -s ~/.nix-profile/share/applications/wps-office-*.desktop ~/.local/share/applications/ (if there is no target directory, create it). Possibly this requires restarting Plasma to have effect. Hopefully when you update WPS Office the shortcut file names don’t change so the things will continue working…

Thank you for the feedback. I must admit, guessing the application icons’ location is not acceptable in modern times. Additionally, running the spreadsheet application “et” either from the command or via the bin file resulted in freezing upon saving and then closing after a 30-second wait.

I appreciate your help and feedback on this matter. After careful consideration, I have decided not to continue with Nix packaging on a non-NixOS systems. Instead, I will exclusively use NixOS, as it allows for normal icon locations, among other benefits.

Overall, I have chosen to step back from Nix and NixOS, as it can be challenging to hunt down code snippets or enable basic operational services in the configuration.nix to use the system like a normal distribution. In my personal opinion, NixOS needs significant improvement to be more user-friendly and appealing to new users.

It proves a point Solene. Better to try than not. (“probably” instead of “may”, fyi).

As a struggling neophyte, I am all for the installer.

Really people need to understand that Nixos is not like :-

leaving Windows = moving house
changing distro = redecorating the house

but rather more like building your own house.

As Tlater says: expect a year or so to know the ropes.
(And better if you enjoy bricolage)


The learning tools are not really aimed at people who come under the threshold of the prerequisite skills, (e.g. me).

Fortunately this is being addressed by one or two proactive people - writing books for us, (e.g. Drake Rossman) - but apart from better instruction, the main thing is not to view Nixos like
a standard distro geared towards ergonomics, but more like a fun learning journey/project. (If one finds Arch fun, I am sure one would find Nixos much more fun )

1 Like

I will speak from a new user’s perspective - NixOS is very hard to learn for all the wrong reasons. Its not the Nix language itself - it’s actually very easy for anyone who’s done any bit of programming before. The problem stems from lack of any resources and directions to learn how to configure Nix properly. Having been used to the Arch Wiki, the NixOS documentation is… lackluster, to say the least. You know something is wrong when the article’s author asks for an explanation why something behaves the way it does. The tutorials don’t guide the users on how to actually learn how to configure Nix by yourself.

For example, one of the very first things you learn when using Emacs are the M-x describe-variable and M-x describe-function commands. Python has its help() function. NixOS should also have something like this, right? I knew what I was looking for, yet I couldn’t find it even after searching for nearly half an hour. Finally, I found the nixos-option command. Sometimes it works, and sometimes it segfaults. That may be because it’s meant to be replaced by the new nix command. The problem is, the nix command is unstable. It doesn’t matter that it’s more stable than the old command set, the API itself is unstable. Because of this, the documentation about it is lacking (there’s no mention of it on the NixOS docs, only on the Nix ones). Yet it’s being recommended to new users as the new, “proper” way to configure your whole NixOS system. Even when we get over the unstable thing, the nix command is even more unfriendly. You learn what options are available by… tabbing. Yes, by tabbing a lot. After you found the option you are looking for, you will notice that the :doc command doesn’t work with it. You will have to awkwardly inspect it by evaluating it in the REPL.

You might say “wait a minute, you can search through options using the online search”.

  1. Was it mentioned in the NixOS configuration manual? There’s an appendix HTML page with all options listed in it. Yes, all options at once on a single HTML file. It almost crashed my web browser.
  2. Why should I use the web browser for this when any other package manager lets me quickly look everything up from the command line? The same goes for searching for packages themselves. There’s a command for that, but it’s hidden in the documentation and it’s very very slow.

Overall, the whole tooling feels messy/unpolished. There’s the traditional way, the Nix Flakes way, everyone recommends Home Manager even though it’s not officially part of NixOS, etc. This makes it very hard to learn, especially if you’ve got any kind of a problem that hasn’t been solved before. If you look for answers online, a lot of them are made by newbies themselves. So you get amazing answers like “I don’t know why this doesn’t work, but maybe you should try…” or “I fixed the problem by updating”, if you were to even get any. These answers stem from a general lack of knowledge about what is actually happening in the system under the hood.

Also, one thing about the Nixpkgs repository. It’s very big, but it’s inflated. Some packages are shipped not as the most recent release, but as all the versions independently (python39, python310, python311 etc) with a bare and full version. This created a ridiculous situation where I had both python311 and python311Packages.tkinter installed, yet tkinter didn’t work. Why? Because I didn’t install the python311Full package. Also, if you want to get a single Python package that gets updated to the latest version when available then you’re out of luck, sorry.

Having said that, after accepting these challenges a properly configured NixOS installation is really nice to use. Learning it is just way harder than it actually should be.

5 Likes

The NixOS wiki is a mess. Some pages are useful, most are not. Stick to the manuals - and yes, this is different than other distros. I believe we just don’t have that critical mass of users who don’t program themselves and therefore maintain the wiki instead of the distro.

This is probably still my biggest pet peeve about the nix ecosystem. And it needn’t even be so: Preface | nixpkgs

Actually, have you ever tried man configuration.nix? :slight_smile: