ryantm/agenix

Reading from a file

ashuramaruzxc opened this issue · 2 comments

I have a folding@home service that requires a string to pass to the args, however since both builtins.readfile and lib.fileContents are impure because the .path is an absolute path i cannot read it. What best practice should i use in this case?

services.foldingathome = {
    enable = true;
    user = "x";
    team = 1;
    daemonNiceLevel = -9;
    extraArgs = [
      "--cause=alzheimers"
      "--beta=false"
      "--passkey ${lib.fileContents config.age.secrets.passkey.path}"
      "--account-token ${lib.fileContents config.age.secrets.token.path}"
    ];
  };

I thought ''--passkey "$(cat ${config.age.secret.passkey.path})"'', but I see that it would be escaped by escapeShellArgs, so it seems you have to write your own script to generate config.xml using the secrets, and add it to the system activation before fahclient is started. Or, perhaps, modify the nixos module and use it instead of the original.

You could also use this.