I’ve found a case which I don’t understand. I’ve got sops-nix setup and working with a minimal NixOS configuration. I do a nixos-rebuild switch
, and the secrets are visible in /run/secrets/
as expected.
However, I then add some oci-containers to my configuration, using podman. Another nixos-rebuild switch
, and I get podman errors, due to the containers not starting. I try a nixos-rebuild boot
instead, it finishes without error.
There’s nothing wrong with the configuration, it’s just the containers that have issues, which I fully expect as they’re not fully configured yet. But the weird part is, when the containers fail to start, there are no secrets visible in /run/secrets
. It’s almost like sops-nix only gets activated on nixos-rebuild switch
and not nixos-rebuild boot
, and the container failure is cutting the rebuild short before it gets around to letting sops-nix run.
But, given that some of the containers specify environmentFiles
values that reference sops-nix secrets, I would expect the secrets to already be processed and available before the containers try to start…
What is going on here? When does sops-nix actually get activated? Why would a container failure cause sops-nix to not run?