fix: scope workflow credentials to callers

This commit is contained in:
kiri committed 2026-09-06 00:23:19 +02:00
1 parent de068d173c
commit 422a1eacc3
2 files changed
+27 -7

No files matched your search

+13 -1
View File
@@ -7,6 +7,18 @@ in
flake.modules.nixos.ai = flake.modules.nixos.ai =
{ pkgs, ... }: { pkgs, ... }:
let let
context7Headers = pkgs.writeShellScript "context7-http-headers" ''
set -euo pipefail
CONTEXT7_KEY_FILE="''${XDG_CONFIG_HOME:-$HOME/.config}/context7/api-key"
[[ -r "$CONTEXT7_KEY_FILE" ]]
CONTEXT7_KEY="$(< "$CONTEXT7_KEY_FILE")"
exec ${pkgs.jq}/bin/jq --null-input --compact-output \
--arg authorization "Bearer $CONTEXT7_KEY" \
'{ Authorization: $authorization }'
'';
codexConfig = (pkgs.formats.toml { }).generate "codex-config.toml" { codexConfig = (pkgs.formats.toml { }).generate "codex-config.toml" {
model = "gpt-5.6-sol"; model = "gpt-5.6-sol";
model_reasoning_effort = "high"; model_reasoning_effort = "high";
@@ -29,7 +41,7 @@ in
mcp_servers = { mcp_servers = {
context7 = { context7 = {
url = "https://mcp.context7.com/mcp"; url = "https://mcp.context7.com/mcp";
env_http_headers.CONTEXT7_API_KEY = "CONTEXT7_API_KEY"; http_headers_helper = "${context7Headers}";
}; };
nixos = { nixos = {
command = "${pkgs.uv}/bin/uvx"; command = "${pkgs.uv}/bin/uvx";
+14 -6
View File
@@ -6,11 +6,24 @@ in
flake.modules.homeManager.git = flake.modules.homeManager.git =
{ {
config, config,
pkgs,
... ...
}: }:
let let
machine = config.facts.machine; machine = config.facts.machine;
allowedSignersFile = "${config.xdg.configHome}/git/allowed_signers"; allowedSignersFile = "${config.xdg.configHome}/git/allowed_signers";
githubTokenFile = "${config.xdg.configHome}/yookr/github-read-only.token";
gh = pkgs.symlinkJoin {
name = "gh-with-read-only-token-${pkgs.gh.version}";
paths = [ pkgs.gh ];
nativeBuildInputs = [ pkgs.makeWrapper ];
meta.mainProgram = "gh";
postBuild = ''
wrapProgram "$out/bin/gh" \
--run 'if [[ -z "''${GH_TOKEN:-}" && -r "${githubTokenFile}" ]]; then export GH_TOKEN="$(< "${githubTokenFile}")"; fi'
'';
};
mkScope = mkScope =
scope: scope:
@@ -46,12 +59,6 @@ in
personal.allowedSigners ++ work.allowedSigners ++ [ "" ] personal.allowedSigners ++ work.allowedSigners ++ [ "" ]
); );
programs.zsh.initContent = ''
if [[ -r "${config.xdg.configHome}/yookr/github-read-only.token" ]]; then
export GH_TOKEN="$(< "${config.xdg.configHome}/yookr/github-read-only.token")"
fi
'';
programs.git = { programs.git = {
enable = true; enable = true;
signing.format = "ssh"; signing.format = "ssh";
@@ -92,6 +99,7 @@ in
programs.gh = { programs.gh = {
enable = true; enable = true;
package = gh;
settings.git_protocol = "ssh"; settings.git_protocol = "ssh";
}; };
}; };