We have NixOS, Proxmox and TrueNAS in use.
- TrueNAS on a dedicated NAS host. It's great for that, and has been super stable. The snapshotting works great, and all the little tasks associated with a NAS are taken care of without needing to spare a thought.
- Proxmox as VMS host. You haven't mentioned it above, so I'll leave it at this: also works really well for its purpose.
- NixOS: acouple dozen NixOS VMs runnign on the Proxmox hosts. I like the separation (i.e.: one VM <-> one task/service), but it's not necessary, esp. if you plan on using a stable branch. I absolutely love NixOS, and would never run server applications on anything else ever again. The documentation thing is trueish. There's not even close to the same documentation as with e.g. Arch and the Arch Wiki, but that makes sense when you think about it: instead of hundreds of lines of documentation, you hide that complexity behind an option, e.g.
graphics.nvidia.enable = true;
which then becomes pretty self-explanatory, at least if you are somewhat familiar with the ecosystem already. The way I'd recommend going about documentation with nix is this:- go to search.nixos.org/options, search for the service you would like to host. 90% of the time, the options and descriptions shown are all you need.
- if an option is unclear, click on its "declared in" link. You'll be taken to the module source in
nixpkgs
. Look at what they are doing there/the comments explaining why. Often, this resolves any ambiguity, or helps you out with your goal. - if that did not help, check the NixOS wiki; often, common pitfalls are documented there, together with the nix expression to fix them.
- another great way is to search GitHub for
language:nix <thing you need to do>
. As a random example: I recently wasn't sure how to configuring scaling in hyprland on NixOS, but searching for an appropriate term will quickly show you how other people have solved the same problem. It's not really documentation, but the declarative nature of nix means it's easy to find TONS of working examples via a github search. - all else failing, ask on discourse.nixos.org. Youńll usually get useful help very quickly there.
So, what's my advice?
If you are unfamiliar with NixOS, it's probably a bit of a headache getting a NAS to run satisfactory. Truenas works so well, there isn't really a need for nix. But running your services in nix is great, totally recommend!