22 lines
525 B
Nix
22 lines
525 B
Nix
{
|
||
age.generators.argon2id =
|
||
{
|
||
pkgs,
|
||
lib,
|
||
decrypt,
|
||
deps,
|
||
...
|
||
}:
|
||
let
|
||
dep = builtins.head deps;
|
||
in
|
||
''
|
||
echo " -> Deriving argon2id hash from [32m"${lib.escapeShellArg dep.host}":[m[33m"${lib.escapeShellArg dep.name}"[m" >&2
|
||
${decrypt} ${lib.escapeShellArg dep.file} \
|
||
| tr -d '\n' \
|
||
| ${pkgs.libargon2}/bin/argon2 "$(${pkgs.openssl}/bin/openssl rand -base64 16)" -id -e \
|
||
|| die "Failure while generating argon2id hash"
|
||
'';
|
||
|
||
}
|