diff options
| author | schererleander <leander@schererleander.de> | 2026-02-03 17:52:05 +0100 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2026-02-03 17:52:05 +0100 |
| commit | 5b94d9999c0295236416d75c13dcdafdef02b8af (patch) | |
| tree | 47165c7fe043d7b3b3b62ac513ab15e3cfacf53b /modules/secrets/default.nix | |
| parent | 25136c86b331c52814d99dd4a16728ce662cbebd (diff) | |
feat(sops): setup sops-nix
Diffstat (limited to 'modules/secrets/default.nix')
| -rw-r--r-- | modules/secrets/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix new file mode 100644 index 0000000..81f7a40 --- /dev/null +++ b/modules/secrets/default.nix @@ -0,0 +1,56 @@ +{ inputs, ... }: +{ + flake.modules.nixos.secrets = { config, ... }: { + imports = [ inputs.sops-nix.nixosModules.sops ]; + sops.defaultSopsFile = ../../../secrets/secrets.yaml; + sops.age.keyFile = "/etc/sops/age_key"; + sops.secrets."borgbase_ssh_key" = { + owner = "root"; + mode = "0600"; + }; + sops.secrets."nextcloud-admin-pass" = { + owner = "root"; + mode = "0600"; + }; + sops.secrets."ssh_github_key" = { + owner = "schererleander"; + mode = "0600"; + }; + sops.secrets."ssh_jonsbo_key" = { + owner = "schererleander"; + mode = "0600"; + }; + sops.secrets."ssh_sachiel_key" = { + owner = "schererleander"; + mode = "0600"; + }; + sops.secrets."ssh_borgbase_unraid_key" = { + owner = "root"; + mode = "0600"; + }; + sops.secrets."ssh_config" = { + owner = "schererleander"; + mode = "0600"; + }; + sops.secrets."borg_repo" = { + owner = "root"; + mode = "0600"; + }; + }; + + flake.modules.darwin.secrets = { config, ... }: { + imports = [ inputs.sops-nix.darwinModules.sops ]; + sops.defaultSopsFile = ../../../secrets/secrets.yaml; + sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + }; + + flake.modules.homeManager.secrets = { config, ... }: { + imports = [ inputs.sops-nix.homeManagerModules.sops ]; + sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; + + programs.ssh = { + enable = true; + includes = [ config.sops.secrets."ssh_config".path ]; + }; + }; +}
\ No newline at end of file |
