mirror of
https://github.com/srid/nixos-config.git
synced 2026-07-16 22:01:33 +08:00
opencode: use upstream juspay/oc home module (#105)
This commit is contained in:
parent
26e12b1662
commit
667543ceca
11 changed files with 154 additions and 298 deletions
|
|
@ -10,7 +10,6 @@ in
|
||||||
flake.inputs.self.homeModules.darwin-only
|
flake.inputs.self.homeModules.darwin-only
|
||||||
"${homeMod}/gui/1password.nix"
|
"${homeMod}/gui/1password.nix"
|
||||||
"${homeMod}/claude-code"
|
"${homeMod}/claude-code"
|
||||||
"${homeMod}/opencode"
|
|
||||||
|
|
||||||
"${homeMod}/work/juspay.nix"
|
"${homeMod}/work/juspay.nix"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ in
|
||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
"${homeMod}/work/juspay.nix"
|
"${homeMod}/work/juspay.nix"
|
||||||
"${homeMod}/services/vira.nix"
|
"${homeMod}/services/vira.nix"
|
||||||
"${homeMod}/opencode"
|
|
||||||
|
|
||||||
# "${homeMod}/services/dropbox.nix"
|
# "${homeMod}/services/dropbox.nix"
|
||||||
# "${homeMod}/services/obsidian.nix"
|
# "${homeMod}/services/obsidian.nix"
|
||||||
|
|
|
||||||
215
flake.lock
generated
215
flake.lock
generated
|
|
@ -58,11 +58,13 @@
|
||||||
"blueprint": {
|
"blueprint": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": [
|
"systems": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"systems"
|
"systems"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -83,20 +85,24 @@
|
||||||
"bun2nix": {
|
"bun2nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"flake-parts"
|
"flake-parts"
|
||||||
],
|
],
|
||||||
"import-tree": "import-tree",
|
"import-tree": "import-tree",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": [
|
"systems": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"systems"
|
"systems"
|
||||||
],
|
],
|
||||||
"treefmt-nix": [
|
"treefmt-nix": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"treefmt-nix"
|
"treefmt-nix"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -414,27 +420,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_5": {
|
"flake-parts_5": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nix-ai-tools",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772408722,
|
|
||||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_6": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
|
|
@ -455,7 +440,47 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-parts_6": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772408722,
|
||||||
|
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts_7": {
|
"flake-parts_7": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772408722,
|
||||||
|
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_8": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"vira",
|
"vira",
|
||||||
|
|
@ -818,6 +843,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"llm-agents": {
|
||||||
|
"inputs": {
|
||||||
|
"blueprint": "blueprint",
|
||||||
|
"bun2nix": "bun2nix",
|
||||||
|
"flake-parts": "flake-parts_7",
|
||||||
|
"nixpkgs": "nixpkgs_5",
|
||||||
|
"systems": "systems_4",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773325712,
|
||||||
|
"narHash": "sha256-s83aVJRJmR2sa9otxXnefohasKuRJACZv7zDh0FHzdg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "llm-agents.nix",
|
||||||
|
"rev": "dfe7089b3cb1766cf40dccd4378f240356bcf2b2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "llm-agents.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lvar": {
|
"lvar": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -851,29 +899,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-ai-tools": {
|
|
||||||
"inputs": {
|
|
||||||
"blueprint": "blueprint",
|
|
||||||
"bun2nix": "bun2nix",
|
|
||||||
"flake-parts": "flake-parts_5",
|
|
||||||
"nixpkgs": "nixpkgs_4",
|
|
||||||
"systems": "systems_3",
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1773241852,
|
|
||||||
"narHash": "sha256-kwETflAbufOL32E1dRkJDTgcroafwN8HZqxjAaLItJw=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "llm-agents.nix",
|
|
||||||
"rev": "e21490459caf641e19cac7ad7679f1121d643e0c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "llm-agents.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-darwin": {
|
"nix-darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -1053,6 +1078,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-lib_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772328832,
|
||||||
|
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752900028,
|
"lastModified": 1752900028,
|
||||||
|
|
@ -1086,22 +1126,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1773110118,
|
|
||||||
"narHash": "sha256-mPAG8phMbCReKSiKAijjjd3v7uVcJOQ75gSjGJjt/Rk=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e607cb5360ff1234862ac9f8839522becb853bb9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772963539,
|
"lastModified": 1772963539,
|
||||||
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=",
|
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=",
|
||||||
|
|
@ -1117,6 +1141,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773201692,
|
||||||
|
"narHash": "sha256-NXrKzNMniu4Oam2kAFvqJ3GB2kAvlAFIriTAheaY8hw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b6067cc0127d4db9c26c79e4de0513e58d0c40c9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765803225,
|
"lastModified": 1765803225,
|
||||||
|
|
@ -1135,11 +1175,11 @@
|
||||||
},
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_6",
|
"flake-parts": "flake-parts_5",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_4"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772402258,
|
"lastModified": 1772402258,
|
||||||
|
|
@ -1155,6 +1195,30 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"oc": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_6",
|
||||||
|
"llm-agents": "llm-agents",
|
||||||
|
"nixpkgs": [
|
||||||
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773352209,
|
||||||
|
"narHash": "sha256-c2CAdq51Bx5sRAhD3JpVVSiUqMsDbUa9yqjbmNIMbcs=",
|
||||||
|
"owner": "juspay",
|
||||||
|
"repo": "oc",
|
||||||
|
"rev": "409e89243ffe2f4b22494d60cb91b63dcfbccdbc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "juspay",
|
||||||
|
"repo": "oc",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"process-compose-flake": {
|
"process-compose-flake": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767863885,
|
"lastModified": 1767863885,
|
||||||
|
|
@ -1215,14 +1279,14 @@
|
||||||
"imako": "imako",
|
"imako": "imako",
|
||||||
"jumphost-nix": "jumphost-nix",
|
"jumphost-nix": "jumphost-nix",
|
||||||
"landrun-nix": "landrun-nix",
|
"landrun-nix": "landrun-nix",
|
||||||
"nix-ai-tools": "nix-ai-tools",
|
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixos-unified": "nixos-unified_2",
|
"nixos-unified": "nixos-unified_2",
|
||||||
"nixos-vscode-server": "nixos-vscode-server",
|
"nixos-vscode-server": "nixos-vscode-server",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
|
"oc": "oc",
|
||||||
"vira": "vira"
|
"vira": "vira"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1366,16 +1430,17 @@
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nix-ai-tools",
|
"oc",
|
||||||
|
"llm-agents",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772660329,
|
"lastModified": 1773297127,
|
||||||
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=",
|
"narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "3710e0e1218041bbad640352a0440114b1e10428",
|
"rev": "71b125cd05fbfd78cab3e070b73544abe24c5016",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1421,7 +1486,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"co-log-effectful": "co-log-effectful",
|
"co-log-effectful": "co-log-effectful",
|
||||||
"devour-flake": "devour-flake",
|
"devour-flake": "devour-flake",
|
||||||
"flake-parts": "flake-parts_7",
|
"flake-parts": "flake-parts_8",
|
||||||
"fourmolu-nix": "fourmolu-nix_3",
|
"fourmolu-nix": "fourmolu-nix_3",
|
||||||
"git-hooks": "git-hooks_5",
|
"git-hooks": "git-hooks_5",
|
||||||
"haskell-flake": "haskell-flake_3",
|
"haskell-flake": "haskell-flake_3",
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,7 @@
|
||||||
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# vira.url = "github:juspay/vira/github";
|
# vira.url = "github:juspay/vira/github";
|
||||||
vira.url = "github:juspay/vira";
|
vira.url = "github:juspay/vira";
|
||||||
nix-ai-tools.url = "github:numtide/llm-agents.nix";
|
oc.url = "github:juspay/oc";
|
||||||
# nix-ai-tools.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
# landrun-nix.url = "github:srid/landrun-nix";
|
# landrun-nix.url = "github:srid/landrun-nix";
|
||||||
landrun-nix.url = "github:adrian-gierakowski/landrun-nix/darwin-implementation-via-sandbox-exec";
|
landrun-nix.url = "github:adrian-gierakowski/landrun-nix/darwin-implementation-via-sandbox-exec";
|
||||||
AI.url = "path:vendor/AI";
|
AI.url = "path:vendor/AI";
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
# "nixos-hardware"
|
# "nixos-hardware"
|
||||||
"nix-index-database"
|
"nix-index-database"
|
||||||
"nixvim"
|
"nixvim"
|
||||||
"nix-ai-tools"
|
"oc"
|
||||||
"AI"
|
"AI"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,12 @@
|
||||||
{ flake, lib, pkgs, ... }:
|
{ config, flake, pkgs, ... }:
|
||||||
let
|
|
||||||
inherit (flake.inputs) AI;
|
|
||||||
juspayProvider = import ./juspay;
|
|
||||||
|
|
||||||
commandsDir = AI + "/commands";
|
|
||||||
autoCommands = if builtins.pathExists commandsDir then
|
|
||||||
lib.mapAttrs'
|
|
||||||
(fileName: _: lib.nameValuePair
|
|
||||||
(lib.removeSuffix ".md" fileName)
|
|
||||||
(commandsDir + "/${fileName}"))
|
|
||||||
(builtins.readDir commandsDir)
|
|
||||||
else { };
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
programs.opencode = {
|
imports = [ flake.inputs.oc.homeModules.default ];
|
||||||
enable = true;
|
programs.opencode.package = flake.inputs.oc.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||||
package = pkgs.opencode;
|
|
||||||
commands = autoCommands;
|
programs.zsh.initContent = ''
|
||||||
settings = {
|
export JUSPAY_API_KEY="$(cat "${config.age.secrets.juspay-anthropic-api-key.path}")"
|
||||||
model = "litellm/glm-latest";
|
'';
|
||||||
# Explore agent for fast codebase search/reading tasks
|
programs.bash.initExtra = ''
|
||||||
agent = {
|
export JUSPAY_API_KEY="$(cat "${config.age.secrets.juspay-anthropic-api-key.path}")"
|
||||||
explore = {
|
'';
|
||||||
mode = "subagent";
|
|
||||||
model = "litellm/open-fast";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
autoupdate = true;
|
|
||||||
provider = {
|
|
||||||
litellm = juspayProvider;
|
|
||||||
};
|
|
||||||
mcp = {
|
|
||||||
deepwiki = {
|
|
||||||
type = "remote";
|
|
||||||
url = "https://mcp.deepwiki.com/mcp";
|
|
||||||
enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
plugin = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
programs.zsh.initContent = ''
|
|
||||||
export JUSPAY_API_KEY="$(cat "${config.age.secrets.juspay-anthropic-api-key.path}")"
|
|
||||||
'';
|
|
||||||
programs.bash.initExtra = ''
|
|
||||||
export JUSPAY_API_KEY="$(cat "${config.age.secrets.juspay-anthropic-api-key.path}")"
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
let
|
|
||||||
models = import ./models.nix;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
npm = "@ai-sdk/openai-compatible";
|
|
||||||
name = "Juspay";
|
|
||||||
options = {
|
|
||||||
baseURL = "https://grid.ai.juspay.net";
|
|
||||||
# HACK: hardcoded path to agenix secret. Should use XDG_RUNTIME_DIR but
|
|
||||||
# OpenCode's {file:...} doesn't support environment variable expansion.
|
|
||||||
apiKey = "{file:/run/user/1000/agenix/juspay-anthropic-api-key}";
|
|
||||||
timeout = 600000;
|
|
||||||
};
|
|
||||||
inherit models;
|
|
||||||
}
|
|
||||||
|
|
@ -1,145 +0,0 @@
|
||||||
{
|
|
||||||
open-large = {
|
|
||||||
name = "open-large";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 202752;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
open-fast = {
|
|
||||||
name = "open-fast";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 196000;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
open-vision = {
|
|
||||||
name = "open-vision";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 262144;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
claude-opus-4-5 = {
|
|
||||||
name = "claude-opus-4-5";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 1000000;
|
|
||||||
output = 128000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
claude-opus-4-6 = {
|
|
||||||
name = "claude-opus-4-6";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 1000000;
|
|
||||||
output = 128000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
claude-sonnet-4-6 = {
|
|
||||||
name = "claude-sonnet-4-6";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 200000;
|
|
||||||
output = 64000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
claude-sonnet-4-5 = {
|
|
||||||
name = "claude-sonnet-4-5";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 200000;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
glm-flash-experimental = {
|
|
||||||
name = "glm-flash-experimental";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 262144;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gemini-3-pro-preview = {
|
|
||||||
name = "gemini-3-pro-preview";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65535;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gemini-3-flash-preview = {
|
|
||||||
name = "gemini-3-flash-preview";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 1048576;
|
|
||||||
output = 65535;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
minimax-m2 = {
|
|
||||||
name = "minimax-m2";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 202752;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
glm-latest = {
|
|
||||||
name = "glm-latest";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 202752;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kimi-latest = {
|
|
||||||
name = "kimi-latest";
|
|
||||||
modalities = {
|
|
||||||
input = [ "text" "image" ];
|
|
||||||
output = [ "text" ];
|
|
||||||
};
|
|
||||||
limit = {
|
|
||||||
context = 262000;
|
|
||||||
output = 32000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -10,7 +10,7 @@ in
|
||||||
imports = [
|
imports = [
|
||||||
"${jumphost-nix}/module.nix"
|
"${jumphost-nix}/module.nix"
|
||||||
"${homeMod}/claude-code/juspay.nix"
|
"${homeMod}/claude-code/juspay.nix"
|
||||||
"${homeMod}/opencode/juspay.nix"
|
"${homeMod}/opencode"
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.jumphost = {
|
programs.jumphost = {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ let
|
||||||
inherit (flake) inputs;
|
inherit (flake) inputs;
|
||||||
inherit (inputs) self;
|
inherit (inputs) self;
|
||||||
packages = self + /packages;
|
packages = self + /packages;
|
||||||
nix-ai-tools = system: inputs.nix-ai-tools.packages.${system};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
self: super:
|
self: super:
|
||||||
|
|
@ -32,9 +31,4 @@ let
|
||||||
(builtins.attrValues (builtins.mapAttrs makePackage entries));
|
(builtins.attrValues (builtins.mapAttrs makePackage entries));
|
||||||
|
|
||||||
in
|
in
|
||||||
packageOverlays // {
|
packageOverlays
|
||||||
# Use claude-code from nix-ai-tools instead of nixpkgs
|
|
||||||
claude-code = (nix-ai-tools self.system).claude-code;
|
|
||||||
copilot-cli = (nix-ai-tools self.system).copilot-cli;
|
|
||||||
opencode = (nix-ai-tools self.system).opencode;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue