43 lines
1.2 KiB
Nix
43 lines
1.2 KiB
Nix
{
|
|
programs.codex = {
|
|
enable = true;
|
|
rules = {
|
|
default = builtins.toFile "default.rules" ''
|
|
prefix_rule(
|
|
pattern = ["git", "status"],
|
|
decision = "allow",
|
|
justification = "Allow routine status checks",
|
|
)
|
|
'';
|
|
github = ''
|
|
prefix_rule(
|
|
pattern = ["gh", "pr", "view"],
|
|
decision = "prompt",
|
|
justification = "Review PRs with confirmation",
|
|
)
|
|
'';
|
|
};
|
|
};
|
|
|
|
nmt.script = ''
|
|
assertFileExists home-files/.codex/rules/default.rules
|
|
assertFileContent home-files/.codex/rules/default.rules \
|
|
${builtins.toFile "expected-default.rules" ''
|
|
prefix_rule(
|
|
pattern = ["git", "status"],
|
|
decision = "allow",
|
|
justification = "Allow routine status checks",
|
|
)
|
|
''}
|
|
|
|
assertFileExists home-files/.codex/rules/github.rules
|
|
assertFileContent home-files/.codex/rules/github.rules \
|
|
${builtins.toFile "expected-github.rules" ''
|
|
prefix_rule(
|
|
pattern = ["gh", "pr", "view"],
|
|
decision = "prompt",
|
|
justification = "Review PRs with confirmation",
|
|
)
|
|
''}
|
|
'';
|
|
}
|