fix(aichat): read from envvar

This commit is contained in:
js0ny 2025-11-09 04:11:49 +00:00
parent 2d4452d900
commit 4053e59e2e
4 changed files with 56 additions and 30 deletions

View file

@ -1,22 +0,0 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSeEVIako2MkRXYXhLbVJL
YzIwdXMvOGFqMi9id2x4WHBKVVdEYS9LSkNZCjJOc0JQaExFaGJPZWoxMUFwNU1k
UzhSUUdyNXBJTEZKQmFUaXhEK28xbGMKLS0tIEE4ZkxpYUI4VnoyanNPUExEek1n
VGV2MzNvMGRsOGJBeitJUm9RMkZ0eUUKQv3u6nTV93pNRtQKfE/NBpt3ap72HBt/
Zjumn/E1Y+9jYRKzsgtAZvWTiqV8IDijAinq+7h+gfioTe8P8g28BzFQMv14ljYG
gXetYpr/2uvc9q4d0w2kvLHEBDFNOj9TR456aw3lUGhlYDQD5hOhN7PpcbH8UUS9
SeHk9EWuCH2Jmaaqzi7hcvktXa06R/6NPdF0wj/M2KcnY8ThHLv6HFeQCBvIhUaQ
FbEUsn+viBudTDNL3kkWtF4NJQ4xZgQIWwxpZub2Fvqeot6PF8Xb26EaVWUq9b/T
G2kdgs6uoPnS8jMtNE9aDFeOjaDZXgjNyM1+fhG2sW5AqYxQgGDV1vHPnoWXQYRq
164DmJBkVqehJ2yLucUkGCvvElNmYmKDYM8Zad3z3P0Q3tEjUtUjsrmHZucPFvKQ
aHoGMYUdyv3HWeTh8qsk8PWD7sCjDNSxvjIawO5pYojL8/Y6f1b5dc0cYZ93qWMp
8pVVt103yjB5rBUaNaccN/Br6UIuOvnrBOY3ImPMVaYE0zezsvQ6JEQbE3KBmtUX
JGcbZ0IU6Jcjk7o2eji3NzfpQlTsz9FdVZkpCysMnFOjOvpb+sACMlvNNIBGEIvo
2o88Vzdcc2TgMgRZmqdlCL96M4pZ8DnR5c5dc5P7+NkN1Z5Rgktli19fFhVqnitp
7bb9WKZDxtjcEroQCb0jE4cGCEygPpJPbXvvUkuFN0ITMI4WyPYFvInJcH01lioI
8IiWMFXpdzwdW8y3VFW4XMWUj/yu21Xp8caqE8XiF4yLoG+0MPwKK6nPdKJtzA7J
BhPxrnL4zcWscqSGZL/cANYNyJ6otyywkYJnqAYQoRxmFJ8VN1WthqYUz+noK8TQ
5Ql1oDegzls0BjT0utK02bssb7AFoqzvp1ZwcsqR1seM1mzxsvqKArx0TLqgUlwv
D5n6Gm+HQZnwoQzKG1gQU5zMrJYBxKO4Kr3kgMuYLFoGMkNn2T7GFJvAtolEWwPA
viFMMHHuzN9qg33lzdzdAhrD46yxZWegvyY=
-----END AGE ENCRYPTED FILE-----

View file

@ -0,0 +1,21 @@
# see https://github.com/sigoden/aichat/blob/main/config.example.yaml
model: openrouter:qwen/qwen3-235b-a22b-2507
clients:
- type: openai-compatible
name: openrouter
api_base: https://openrouter.ai/api/v1
models:
- name: google/gemini-2.5-flash
- name: google/gemini-2.5-pro
- name: anthropic/claude-sonnet-4.5
- name: anthropic/claude-haiku-4.5
- name: anthropic/claude-opus-4.1
- name: openai/gpt-5
- name: openai/gpt-5-mini
- name: x-ai/grok-code-fast-1
- name: x-ai/grok-4-fast
- name: x-ai/grok-4
- name: deepseek/deepseek-v3.2-exp
- name: qwen/qwen3-235b-a22b-2507
- name: qwen/qwen3-max

View file

@ -92,6 +92,11 @@ in {
app-id = "firefox$";
title = "^Picture-in-Picture$";
}
# Anki add new flashcard
{
app-id = "^anki$";
title = "^Add$";
}
];
open-floating = true;
}

View file

@ -1,13 +1,34 @@
{
pkgs,
config,
lib,
...
}: {
home.packages = with pkgs; [
sops
];
}: let
secretPaths = {
OPENROUTER_API_KEY = config.sops.secrets."OPENROUTER_API_KEY".path;
TAVILY_API_KEY = config.sops.secrets."TAVILY_API_KEY".path;
};
posixInit = builtins.concatStringsSep "\n" (
lib.mapAttrsToList (name: path: ''
if [ -r "${path}" ]; then
export ${name}="$(< ${path})"
fi
'')
secretPaths
);
fishInit = builtins.concatStringsSep "\n" (
lib.mapAttrsToList (name: path: ''
if test -r ${path}
set -gx ${name} (< ${path})
end
'')
secretPaths
);
in {
home.packages = [pkgs.sops];
sops = {
# enable = true;
defaultSopsFile = ../../../secrets/secrets.yaml;
age.keyFile = "${config.xdg.configHome}/sops/age/keys.txt";
age.generateKey = true;
@ -21,8 +42,9 @@
};
};
home.sessionVariables = {
OPENROUTER_API_KEY = "$(cat ${config.sops.secrets."OPENROUTER_API_KEY".path})";
TAVILY_API_KEY = "$(cat ${config.sops.secrets."TAVILY_API_KEY".path})";
programs = {
zsh.initContent = posixInit;
bash.bashrcExtra = posixInit;
fish.interactiveShellInit = fishInit;
};
}