all repos — nixfiles @ 8f166a2543c9174bf52bbaedc6f114318095aebf

System and user configuration, managed by nix and home-manager

secrets/secrets.nix (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
let
  users = {
    alin = [
      "age1se1qwz9tsr7fq6m7rh3fj44fh6vcth53x9lcff9jeangg43v66vznxus3vp5mz" # marvin age-plugin-se
    ];
  };

  data = (import ../data);
  machines = builtins.mapAttrs (_: (builtins.getAttr "publicKey")) data.machines;

  secrets = with machines; {
    acme = [
      smrk
      r5
    ];

    redis-website = [ smrk ];

    caddy = [
      r5
      smrk
    ];
    pocket-id = [ smrk ];
    binarycache = [ smrk ];
    paperless = [ smrk ];
    powerdns = [ smrk ];
    readeck = [ smrk ];
    open-webui = [ smrk ];
    codeberg-runner = [ smrk ];
    opia-codeberg-runner = [ smrk ];
    tg-archive = [ smrk ];
    vpsfreectl = [
      smrk
    ];

    dyndns = [ r5 ];
    syncthing = [ r5 ];
  };
in
builtins.listToAttrs (
  map (secretName: {
    name = "${secretName}.age";
    value.publicKeys = secrets.${secretName} ++ users.alin;
  }) (builtins.attrNames secrets)
)