r/NixOS • • 13h ago

So it begins (appreciation post)

Thumbnail image
66 Upvotes

The original reason I got into Linux was because I was forced to reinstall Windows after an update broke my system. And while I knew nothing about Linux, or NixOS, at that time; that impetus inevitably led me to appreciate reproducibility.

Now I can finally say, after 3 months of configuring, ricing, and testing - I’m at the point of being able to reinstall my NixOS setup from the minimal ISO, using a single command.

I’m fortunate enough to have an old laptop from work to actually test everything on bare metal, rather than relying solely on results from a VM. And after some trial and error, I have to say that it really feels like magic to just have everything set up, with minimal effort.

None of this is to say I’ve got the best setup or the coolest rice. This is just me appreciating all the work that went in to create such an amazing OS.

Thank you, NixOS for my first 100 days of pure enjoyment, and absolutely everything else.


r/NixOS • • 7h ago

The nix language is incomprehensible

66 Upvotes

I know three languages(Lua, Python and rust), which I know isn't a lot but at this point in my journey it's very easy to learn a new one. But nix just escapes my grasp, there are so many weird things and the documentation is so horrible. The complex packages like VSCode fhs and the fhs that wraps other packaged are insanely confusing and then there's complex flakes which have tests and have them run a vm. And then it just stops working and it spews forth a unreadable error message that makes you want to clamp your balls in a vise. Not to mention dentritic pattern with all It's helper flakes that have god awful documentation so you just end up reading the source which is incomprehensible.

Maybe it's just because I am not used to functional programming.

Nevertheless I am still going to keep using NixOS and with each year that passes I will understand more.


r/NixOS • • 15h ago

Six months later: my 30-PC school lab setup became Nixorium 2.1

65 Upvotes

Six months ago I posted here about the NixOS setup I built for the 30-PC computer lab where I teach.

At the time, it worked well for me, but it was still very much my setup: tied to one lab, one network, and a lot of assumptions I had accumulated along the way.

Since then I've been trying to turn it into something other people could actually install, understand, and maintain.

Today I released Nixorium 2.1.

The idea is still simple:

  • one NixOS machine acts as the controller
  • the lab is described declaratively
  • clients can be installed and updated over the LAN
  • only the controller needs Internet access
  • applications still run locally on each PC
  • student environments return to a clean state between lessons
  • machines can be replaced and brought back to the same configuration

A lot of the work since my original post has been on the less exciting parts: separating private site configuration from the reusable framework, safer installation flows, recovery from interrupted operations, backups, diagnostics, VM-based release validation, CI, and documentation.

I also made a short 1-minute explainer, because describing this only in Nix terminology makes it sound more complicated than it is:

https://nixorium.org/

The source is here:

https://github.com/giovantenne/nixorium

One caveat I want to be clear about: Nixorium grew out of a real 30-PC lab, and I test releases in VMs, but hardware is hardware. Different firmware, NICs, switches and disk layouts can still expose things that virtual testing won't.

So now I'm especially interested in real-world feedback.

If you run a homelab, classroom, training room, makerspace, or just have a couple of disposable machines around, I'd be very interested to hear:

  • what would stop you from trying this?
  • which parts of the deployment/recovery story still feel unclear?
  • what would you want to see before trusting it on real hardware?

And if anyone actually tries it on hardware different from mine, even a failed attempt would be genuinely useful feedback.

For context, this was my original post from six months ago:

https://www.reddit.com/r/NixOS/comments/1rqtu0j/i_built_a_reproducible_nixos_deployment_system/

-----

EDIT:

A lot of Nixorium is basically an attempt to automate and simplify the workflow I originally did by hand. If you're curious about where it started, the old v1 README from six months ago describes that setup and the manual steps much more directly:

https://github.com/giovantenne/nixorium/tree/11b87a9ca185b0d2a0f2f32bdd342dfba0677d55


r/NixOS • • 7h ago

Declarative World of Warcraft addon management using Nix

Thumbnail github.com
24 Upvotes

r/NixOS • • 5h ago

Friend-to-friend ZFS backups

8 Upvotes

Hi folks!

I love the Nix + ZFS combo and I run >10 of my machines on it. My friend is also fan of ZFS and we both have a NAS. We wanted to use each other's machines to do remote backups in a safe but simple way (zfs send | zfs receive and plain SSH). However, without giving each other any insight into what runs on the other machine and without being able to see what that other person has, not even metadata about other datasets.

I wrote about it in this blog post, the repo is here gh:basnijholt/zfs-tenant, and the docs are here.

Quick start on NixOS from the docs:

Add the flake to the host:

```nix { inputs.zfs-tenant.url = "github:basnijholt/zfs-tenant";

outputs = { nixpkgs, zfs-tenant, ... }: { nixosConfigurations.nas = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ zfs-tenant.nixosModules.host ./configuration.nix ]; }; }; } ```

On the host, give friend a tenant root:

nix services.zfs-tenant = { enable = true; tenants.joe = { dataset = "tank/friends/joe"; quota = "2T"; authorizedKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... joe-nas" ]; allowedFrom = [ "100.64.0.12" ]; # Joe's tailnet address }; };

Disclaimer: I used AI to help me build it but I have high confidence on correctness, my security reviews went deep and even found a RCE in Synoid.


r/NixOS • • 10h ago

How do I change my password from the login screen? :(

5 Upvotes

I’m using Hyprland and the Kitty terminal

Apologies for the basic question. I’m not a very Linux savvy person, but I had a brief foray into it last year. I forgot what my password was and I’ve forgotten basically everything since then, including how to open the terminal to change the password. I need to use my computer for a class, and I’ve been desperately googling for an hour to no avail. I swear I remember it being super easy, but I can’t find the keybind anywhere. Please help. And for proof that I’m not some thief trying to hack into someone else’s computer, you can search “NixOS” in my post history


r/NixOS • • 22h ago

Nixos isn't allowing me to login to root even after changing the password with chroot

2 Upvotes

Basically the title. I have no idea why this is happening. It happened after a fresh install. Any help is welcomed. Thanks.


r/NixOS • • 22h ago

NixOS root password not working after fresh install

2 Upvotes

Why is this? Im on unstable


r/NixOS • • 14h ago

Unstable releas + legacy nvidia card.

0 Upvotes

Hello! I recently hopped onto NixOS and have been running 26.05 stable release since. I wanted to hop onto the unstable release for the latest versions of my apps but asking around (claude) it appears not to be advisable on my system because rn I'm on a laptop with a dual gpu (intel uhd and rtx 1060) and my nvidia card runs on legacy drivers that will break when the current kernel stops supporting them.

Is claude being truthful or did it eat magic mushrooms? Is being on the unstable release worth it?

Also since when is a 1060 considered legacy??? this card still rock pretty hard.

PS: Any tips willing to give a new cult... emmm community member?