1# `_utils.genSecrets`
2`namespace<str> -> files<list[str]> -> value<attrset> -> attrset`
3
4```admonish danger
5This function is now an internal function. The signature is not likely to be changed, but there are better utilities to
6do the job even better. Consider using [`setupSecrets`](./setupSecrets.md) instead.
7```
8
9generate an attrset to be passed into sops.secrets.
10
11## Example
12```nix
13{ _utils, ... }:
14let
15 secrets = [
16 "secure_secret"
17 # this is a directory structure, so secrets will be stored as a file in /run/secrets/service/test/secret.
18 "service/test/secret"
19 ];
20in {
21 sops.secrets = _utils.genSecrets "" secrets {}; # it's recommended to use a namespace, but having none is still fine.
22 # -> sops.secrets."secure_secret" = {};
23 # sops.secrets."service/test/secret" = {};
24 sops.secrets = _utils.genSecrets "balls" ["balls_secret"] {owner = "balls";};
25 # -> sops.secrets."balls/balls_secret" = {owner = "balls";};
26}
27```
28
29See <https://github.com/soopyc/nix-on-koumakan/blob/b7983776143c15c91df69ef34ba4264a22047ec6/systems/koumakan/services/fedivese/akkoma.nix#L8-L34> for a more extensive example