ryantm / agenix

age-encrypted secrets for NixOS and Home manager
https://matrix.to/#/#agenix:nixos.org
Creative Commons Zero v1.0 Universal
1.51k stars 117 forks source link

Resolve project root to find secrets.nix #201

Open mweinelt opened 1 year ago

mweinelt commented 1 year ago

It would be very ergonomic if agenix wouldn't have to be executed from within the directory containing the secrets.nix, but instead resolved its path somewhere below the project root, possibly using git rev-parse --show-toplevel.

$ agenix -e secrets/alertmanager-secrets.age
error:
       … while calling the 'concatStringsSep' builtin

         at «string»:1:39:

            1| (let rules = import ./secrets.nix; in builtins.concatStringsSep "
             |                                       ^
            2| n" rules."secrets/alertmanager-secrets.age".publicKeys)

       … while calling the 'import' builtin

         at «string»:1:14:

            1| (let rules = import ./secrets.nix; in builtins.concatStringsSep "
             |              ^
            2| n" rules."secrets/alertmanager-secrets.age".publicKeys)

       error: getting status of '/home/hexa/git/mrmcd/nixos-config/secrets.nix': No such file or directory