Odpovídáte na názor ke článku Sněhová vločka na mojem serveru.
ty secrets v nixu jsou nešikovné, ale je to možná tím, že od toho čekáš víc. Používám hashicorp vault, pro službu, která potřebuje credentials generuje before další službu s vaultem, který secrets připraví buď přes šablonu nebo jako environments a až pak se spustí daná službu. Stejně mám řešené aktualizace, přes reload/restart. Něco na způsob https://github.com/DeterminateSystems/nixos-vault-service, ale napsal jsem si to trochu jinak.
Pro offline instalace mám vault server jako službu přímo na daném stroji, teraform jí nastaví při spuštění stejně jako mám nastavený produkční cluster a přes agenix (či něco podobného) tam vložím šifrovaný dump s hesly pro import do vaultu.
Pokud je potřeba služby konfigurovat externě, používám v definici něco jako condition file exists a služba se nespustí dokud někdo externí tam nevloží data. Pak je možné (třeba v rámci CI) jedním příkazem zavolat deploy přes nix a druhým spustit ansible, který to nakonfiguruje a služby spustí. Nebo dokonce deployment přes nix může být součástí ansible playbooku, waitovat na to, až bude ssh ready a pak tam klasicky naspouštět zbylé úlohy. Beru nixos jako generátor stavu OS, ale runtime věci, monitoring a provoz si stejně musím řešit sám.
Ansible používám skoro od počátku, ale musím říct, že mě už pěkně štve. Postupně jsem hodně věcí zmigroval do teraformu, lépe se mi tam řeší clusterové závislosti a konfigurace služeb na více serverech zároveň.