Hello,
I would like to use NixOS for a NAS I plan to build. I have two main questions about using NixOS for this purpose, they are:
-
Should I use containers, or packages/flakes?
It seems like all the instructions online use containers and I know that NixOS has the ability to use containers, but it seems like unnecessary complexity when near 95% of the programs I want to use are in Nix packages. In addition, I want to be able to rollback easier and distrust containers more than the Nix way of doing things. -
How compartmentalized should I make the services?
I read a great article entitled Paranoid NixOS Setup where the author made the following statement:
Each Service Gets its own User Account
I am going to use the word “service” annoyingly vague here. In this world, a “service” is a human-oriented view of “computer does the thing I want it to do”. This website you’re reading this post on could be one service, and it should have a separate account from other services. See here for more information on how to set this up.
If you read the other article in the link above, it seems to make sense, but is there additional maintenance that is required with this setup? I am a newer user and worry I am going to mess something up. Also, how would this be done with a flake instead? Would each service be put into a flake, and can a flake add a user account?
Should I have a seperate user account for the following (examples):
- JellyFin
- BookStack
- Bitwarden
Thank you,
Ben