Motivated by issues with ad-hoc changes when using Ansible, the author opted to set up NixOS on a server, which provided more control over packages and users. The NixOS installation process involved using nixos-infect, copying the generated configuration, creating a flake, and deploying changes using nixos-rebuild. To run a Go service on the server, the author defined the service configuration in a single .nix file, enabling dynamic user creation and persistent storage. Despite the complexities of the Nix language syntax, the author appreciated the reliability and centralized configuration management offered by NixOS. However, questions remain regarding the specific checks performed during nixos-rebuild and a streamlined workflow for deploying service updates. Overall, the author finds NixOS promising, despite the challenges encountered in debugging and learning the language syntax.
jvns.ca
jvns.ca
Create attached notes ...
