(no title)
breakds | 1 year ago
1. There are many services that is already "implemented" in NixOS, with sane default configurations and easy to customize (because the contributors have designed good abstractions, and also because of the flexibility of Nix language). One good example is `nginx`. Btw `paperless-ngx` and `jellyfin` are also already implemented. In this case you do not need to use docker at all.
2. Because of the good abstraction in the service implementation, I usually do not need to go very deep to understand the common configurable options for each of the services.
3. All those services become systemd services once up. As long as you are familiar with how to manage systemd services at runtime, you know how to work with them.
4. Even for those ones that do not exist in NixOS, as the authoer suggested you can still start them as docker-based systemd services, with very simple and intuitive nix configurations.
5. NixOS configuration are mostly deterministic and modular. I can use git to manage all the configurations for different servers. There can be occasions that I will need to migrate the services to a differen machine (e.g. upgrade, replicate, ...). With the NixOS configuration of those services, I can simply re-use the configuration code and have a very high confidence that they will work as expected on a new machine.
6. The above also makes it very easy to revert my deployment to any previous successful version. Without having to worry about breaking anything, it also gives me the confidence to quickly try out different ideas.
ants_everywhere|1 year ago
What entity is responsible for the security of those combinations of default settings? And how are security updates handled?
sellmesoap|1 year ago