diff --git a/modules/home/rsydn/shell/nushell.nix b/modules/home/rsydn/shell/nushell.nix index d3dccc6..3390966 100644 --- a/modules/home/rsydn/shell/nushell.nix +++ b/modules/home/rsydn/shell/nushell.nix @@ -41,6 +41,26 @@ in { } $env.NIX_PROFILES = "/run/current-system/sw ${config.home.profileDirectory}" + + # Load sops-managed API keys as environment variables + let secrets_dir = "${config.xdg.configHome}/secrets" + + def load-secret [secret_name: string, env_var: string] { + let secret_file = ($secrets_dir | path join $secret_name) + if ($secret_file | path exists) { + load-env { $env_var: (open $secret_file | str trim) } + } + } + + load-secret "zai-api-key" "ZAI_API_KEY" + load-secret "openai-api-key" "OPENAI_API_KEY" + load-secret "openrouter-api-key" "OPENROUTER_API_KEY" + load-secret "moonshot-api-key" "MOONSHOT_API_KEY" + load-secret "anthropic-api-key" "ANTHROPIC_API_KEY" + load-secret "exa-api-key" "EXA_API_KEY" + load-secret "fal-api-key" "FAL_API_KEY" + load-secret "groq-api-key" "GROQ_API_KEY" + load-secret "firecrawl-api-key" "FIRECRAWL_API_KEY" ''; programs.oh-my-posh = {