this post was submitted on 25 Sep 2026
229 points (100.0% liked)

Linux

19384 readers
244 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Ephera@lemmy.ml 42 points 1 week ago (3 children)

I have been thinking that NixOS might be a cool base for governments or whatever to build their 'distro' on top. Because you just need a config file, where it says you want 1 KDE, please, with wobblyWindows.enable = true and then you're golden.

It's immutable as well, which you typically want in such organizations...

[–] Sanguine@lemmy.dbzer0.com 24 points 1 week ago

I've also thought this for basically any large scale deployment.. Load up the config file and let it rip. Easily scale as many laptops / thin clients as you need.

[–] witty_username@feddit.nl 5 points 1 week ago (1 children)

Yes it's a sensible choice. There is also supposed macos and windows subsystem compatibility but I'm not sure what that adds in practice. Anyone have experience with this in NixOS?

[–] Ephera@lemmy.ml 5 points 1 week ago

I just know that the macOS thingamabob is called nix-darwin. A colleague, who presumably also just watched a video about it, said that it does work, but it needs a bit of extra setup.
Well, and presumably, the ecosystem is smaller, so you probably won't find as many pre-made modules as for Linux programs.

[–] BCsven@lemmy.ca 3 points 1 week ago (1 children)

MicroOS would be good also.

They have a tool to help build the config file prior to installing, and a tool to build the iso.

https://opensuse.github.io/fuel-ignition/

[–] Ephera@lemmy.ml 1 points 1 week ago (1 children)

Hmm, that's just the initial configuration, though, right? If you want to roll out updates to the config, you would presumably use Salt or similar (like they have a config field in that generator).

That's also an improvement for this use-case over your average Linux distro, especially because MicroOS is immutable as well, but NixOS is still a big step further into this direction.

I guess, what I really wanted to say in my previous comment is that NixOS isn't just immutable, but rather also declarative.
You define your system config and then it makes it so the system matches that configuration, whether it's a new system or a previously installed system.
So, it's not just a script where you need to describe how to apply or unapply a change, but rather the entire OS declared in a config file (and a ton of defaults).

The big difference is that you know the state of a system, when you apply a configuration. It is written into your configuration file.
Whereas with a distro which is merely immutable, even if you completely prohibit users from making changes, you still have the problem that someone might've been on vacation while your script contained a line to e.g. modify some config file.
If you update that line before they return, then you better hope your new modification logic can deal with whatever is on their system.

With a declarative system, this cannot happen, because the contents of that specific config file would be defined in your NixOS configuration file. No matter when you do the sync, the up-to-date contents will be put in there correctly.

(And yes, I know, if you get your scripts right, you can achieve similar results. The point is that you don't need to.)

[–] fruitycoder@sh.itjust.works 2 points 1 week ago* (last edited 1 week ago)

They are both declarative. The main difference is NixOS has the package build system built into its package management vs Microos which uses zypper and the Open Build System for package building.

Both have declarative config files you either activate via command or get automatically referenced on reboot.

For microos it both ignition, AND combustion.

I'll be honest though both have been a total pain in the ass (I say with love they are still opensource and Linux in the best of ways).

There is a tool kit for sle micro (and I assume microos too) called elemental that builds them from ContainerFile/DockerConfig files that just feels more sane to me. If it gets too complex for a containerfile I'm doing something wrong anyways imho. That said I do really like NixOS/Guix ability to have the dev build tool, package build tool, distro build tool, and sysadmin tool all be the same language.