]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Fix secrets closure
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 5 Nov 2021 12:57:07 +0000 (13:57 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 9 Apr 2023 15:14:25 +0000 (17:14 +0200)
flakes/private/openarc/flake.lock
flakes/private/opendmarc/flake.lock
flakes/secrets/flake.nix

index aa7904c966da6a8710ac1d1d1afc23d416f717f3..6ca846f41271576dfa5c54eb144e53e7f9edbfd8 100644 (file)
     },
     "secrets": {
       "locked": {
-        "narHash": "sha256-X2waGhgIUDWbxCE5uvnscvlKni8Esbwaj6NncDShOnQ=",
+        "narHash": "sha256-C1BA1I+pw/xVkeKo8nJu5x2ijJENzLebWXVR1hfcK7Y=",
         "path": "../../secrets",
         "type": "path"
       },
index 6bc1482e09ba5bdaf1bf266d578abb9fca7610be..ffb740752c37d8207b2a90fcc83be8a7f7ecc173 100644 (file)
     },
     "secrets": {
       "locked": {
-        "narHash": "sha256-X2waGhgIUDWbxCE5uvnscvlKni8Esbwaj6NncDShOnQ=",
+        "narHash": "sha256-C1BA1I+pw/xVkeKo8nJu5x2ijJENzLebWXVR1hfcK7Y=",
         "path": "../../secrets",
         "type": "path"
       },
index f2ebefb4c86a6ae3f2e2bc33a5da8b5299a9b613..4ba63d9e1783299b1d47bffca1516c96e824b80b 100644 (file)
             ${v.user} ${v.group} ${v.permissions} ${fpath v}
             EOF
             '';
+        toOutputs = n: v: if v.path or false then n else pkgs.lib.flatten (map (v': (import n)."${v'}") v.outputs);
+        inputs = pkgs.lib.unique (pkgs.lib.flatten (map (v:
+          if v.isDir then []
+          else pkgs.lib.mapAttrsToList toOutputs (builtins.getContext v.text)
+        ) keys));
         secrets = pkgs.runCommand "secrets.tar.enc" {
           buildInputs = [ pkgs.gnupg pkgs.sops ];
           } ''
           done
 
           sops --age ${builtins.concatStringsSep "," config.secrets.ageKeys} --pgp ''${fingerprints#,} --input-type binary -i -e $out 2>/dev/null
+          cat $out | ${pkgs.jq}/bin/jq --argjson inputs '${builtins.toJSON inputs}' '.sops.nixInputs = $inputs' | ${pkgs.moreutils}/bin/sponge $out
           '';
         pathChmodExcl =
           let