Skip to content

Conversation

@JulienMalka
Copy link

@JulienMalka JulienMalka commented Sep 15, 2025

We support sops-nix secrets!

This depends on a number of other changes including #266, so this is not ready.

I am bringing sops-nix as a flake input for the sake of testing, I don't know how we feel about that.

I had to add the dependency to sysinit-reactivation.target to the sops-nix systemd unit, I think we should contribute that upstream, otherwise users will trip on it.

@JulienMalka JulienMalka marked this pull request as draft September 15, 2025 08:51
@JulienMalka JulienMalka changed the base branch from main to users September 15, 2025 09:02
@jfroche jfroche force-pushed the secrets branch 4 times, most recently from a93da6e to a9d482e Compare September 16, 2025 10:19
@zimbatm zimbatm added this to the First release milestone Oct 31, 2025
JulienMalka and others added 4 commits January 19, 2026 19:25
Add stubs for system.activationScripts options used by sops-nix:
- generate-age-key
- setupSecrets
- setupSecretsForUsers

These stubs allow importing sops-nix module without requiring the full
NixOS activation scripts infrastructure.
sops-nix uses hostKeys to auto-detect SSH keys for age decryption.
This stub allows the module to evaluate; users on non-NixOS systems
should set sops.age.sshKeyPaths explicitly.
Verify that secrets can be decrypted using an ed25519 SSH host key
converted to age format via sops.age.sshKeyPaths, which is useful
for machines that already have SSH host keys and don't want to
manage separate age key files.
jfroche added a commit that referenced this pull request Jan 22, 2026
Users consuming system-manager as a flake input only need the package,
lib, and modules - not the test infrastructure. By moving VM tests to
a subflake, the main flake stays minimal with nixpkgs as its only input.

This separation enables CI to run fast package checks independently from
slow VM tests, and provides proper flake.lock version pinning for test
dependencies like nix-vm-test (replacing the inline fetchTarball).

Future test dependencies (e.g., sops-nix for compatibility testing in
#270) can be added to testFlake without touching the main flake.
jfroche added a commit that referenced this pull request Jan 22, 2026
Users consuming system-manager as a flake input only need the package,
lib, and modules - not the test infrastructure. By moving VM tests to
a subflake, the main flake stays minimal with nixpkgs as its only input.

This separation enables CI to run fast package checks independently from
slow VM tests, and provides proper flake.lock version pinning for test
dependencies like nix-vm-test (replacing the inline fetchTarball).

Future test dependencies (e.g., sops-nix for compatibility testing in
#270) can be added to testFlake without touching the main flake.
jfroche added a commit that referenced this pull request Jan 22, 2026
Users consuming system-manager as a flake input only need the package,
lib, and modules - not the test infrastructure. By moving VM tests to
a subflake, the main flake stays minimal with nixpkgs as its only input.

This separation enables CI to run fast package checks independently from
slow VM tests, and provides proper flake.lock version pinning for test
dependencies like nix-vm-test (replacing the inline fetchTarball).

Future test dependencies (e.g., sops-nix for compatibility testing in
#270) can be added to testFlake without touching the main flake.
jfroche added a commit that referenced this pull request Jan 22, 2026
Users consuming system-manager as a flake input only need the package,
lib, and modules - not the test infrastructure. By moving VM tests to
a subflake, the main flake stays minimal with nixpkgs as its only input.

This separation enables CI to run fast package checks independently from
slow VM tests, and provides proper flake.lock version pinning for test
dependencies like nix-vm-test (replacing the inline fetchTarball).

Future test dependencies (e.g., sops-nix for compatibility testing in
#270) can be added to testFlake without touching the main flake.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants