diff --git a/home/programs/coding/nixvim/ai.nix b/home/programs/coding/nixvim/ai.nix index e666d57..5dafdf7 100644 --- a/home/programs/coding/nixvim/ai.nix +++ b/home/programs/coding/nixvim/ai.nix @@ -76,6 +76,27 @@ }) end ''; + adapters.zjuchat.__raw = + # lua + '' + function () + local zjuchat_token_file = io.open(os.getenv("XDG_RUNTIME_DIR") .. "/" .. "${get_base_secret config.age.secrets.zjuchat_token.path}", "r") + local zjuchat_api_key = zjuchat_token_file:read() + zjuchat_token_file:close() + return require("codecompanion.adapters").extend("openai_compatible", { + name = "zjuchat", + env = { + url = "https://chat.zju.edu.cn/api/ai", + api_key = zjuchat_api_key, + }, + schema = { + model = { + default = "deepseek-v3-671b", + } + } + }) + end + ''; adapters.gemini.__raw = # lua '' diff --git a/home/programs/utils/default.nix b/home/programs/utils/default.nix index e927f0c..96aa8d5 100644 --- a/home/programs/utils/default.nix +++ b/home/programs/utils/default.nix @@ -40,6 +40,7 @@ nurl wl-color-picker matugen + cherry-studio ]; imports = [ ./eye-candy.nix diff --git a/os/programs/swhkd.nix b/os/programs/swhkd.nix index de234dd..d1d9111 100644 --- a/os/programs/swhkd.nix +++ b/os/programs/swhkd.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - swhkd = import ../../pkgs/swhkd/swhkd.nix { + swhkd = import ../../pkgs/swhkd.nix { inherit (pkgs) lib rustPlatform diff --git a/overlays/cherry-studio.nix b/overlays/cherry-studio.nix new file mode 100644 index 0000000..7c27819 --- /dev/null +++ b/overlays/cherry-studio.nix @@ -0,0 +1,9 @@ +{ + nixpkgs.overlays = [ + (final: prev: { + cherry-studio = prev.cherry-studio.override { + commandLineArgs = "--wayland-text-input-version=3"; + }; + }) + ]; +} diff --git a/overlays/default.nix b/overlays/default.nix index be91eee..acf50f8 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -2,6 +2,7 @@ { imports = [ ./qutebrowser.nix + ./cherry-studio.nix ./customColorSchemes ]; nixpkgs.overlays = [ diff --git a/pkgs/swhkd/swhkd.nix b/pkgs/swhkd.nix similarity index 100% rename from pkgs/swhkd/swhkd.nix rename to pkgs/swhkd.nix diff --git a/secrets/age.nix b/secrets/age.nix index a242e89..eab6e92 100644 --- a/secrets/age.nix +++ b/secrets/age.nix @@ -3,5 +3,7 @@ siliconflow_token.file = ./siliconflow_token.age; gemini_token.file = ./gemini_token.age; deepseek_token.file = ./deepseek_token.age; + zjuchat_token.file = ./zjuchat_token.age; + tavily_token.file = ./tavily_token.age; }; } diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 4cf784a..8e237db 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -15,4 +15,12 @@ in eden eden-inspiron ]; + "zjuchat_token.age".publicKeys = [ + eden + eden-inspiron + ]; + "tavily_token.age".publicKeys = [ + eden + eden-inspiron + ]; } diff --git a/secrets/tavily_token.age b/secrets/tavily_token.age new file mode 100644 index 0000000..b7ece87 --- /dev/null +++ b/secrets/tavily_token.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 MpnI9A OV9oWjQE0KQmn5ph6M8sc/7vlKgCR0KpsvRvrfonhHw +J5vm/pwMonHcHm2ai9FujNxWg0FXbyUpeCuKoHOLz7A +-> ssh-ed25519 6VlDkQ tVF545JaFz+Y2oz5pG7OT9Qn1TAINIjUsZ+3K4N5XH0 +5VGfA0T2la8uVFuZ2Tq3A+3L2j6qZ5IwxGjLBYHaJDc +--- Tc5KzEtm7oyAYq5Sv41m3SfdQcEXd27lp4Rq7y8HnBo +meQ JeW +4χ4P+kBbS[vhPs)ɜ(rqwe%r36|8fYK^nǍ \ No newline at end of file diff --git a/secrets/zjuchat_token.age b/secrets/zjuchat_token.age new file mode 100644 index 0000000..82caaae Binary files /dev/null and b/secrets/zjuchat_token.age differ