75 lines
2.2 KiB
Nix
75 lines
2.2 KiB
Nix
{ den, modules, ... }:
|
|
{
|
|
modules.ai = {
|
|
provides = {
|
|
ollama-cuda = {
|
|
homeManager =
|
|
{ pkgs, ... }:
|
|
{
|
|
home.packages = [ pkgs.ollama-cuda ];
|
|
};
|
|
};
|
|
};
|
|
homeManager =
|
|
{ pkgs, config, ... }:
|
|
{
|
|
home.packages = [
|
|
pkgs.claude-code
|
|
];
|
|
sops = {
|
|
secrets.scug-io-ai-key = {
|
|
# sopsFile = ./secrets.yaml;
|
|
# Decrypted file path (available at runtime, not eval time)
|
|
path = config.home.homeDirectory + "/.secrets/scug_io_api_key";
|
|
sopsFile = ../secrets/content/secrets.yaml;
|
|
};
|
|
};
|
|
programs.fish = {
|
|
shellInit = ''
|
|
if test -f "$HOME/.secrets/scug_io_api_key"
|
|
set -x SCUG_IO_API_KEY (cat "$HOME/.secrets/scug_io_api_key")
|
|
end
|
|
set -x PI_LENS_STARTUP_MODE quick
|
|
'';
|
|
};
|
|
programs.opencode = {
|
|
enable = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
rust-analyzer
|
|
typescript-language-server
|
|
];
|
|
context = ''
|
|
Instructions:
|
|
|
|
- Do NOT preemptively load all references - use lazy loading based on actual need
|
|
- When loaded, treat content as mandatory instructions that override defaults
|
|
- Follow references recursively when needed
|
|
|
|
- NO EMOJIS
|
|
'';
|
|
settings = {
|
|
"lsp" = true;
|
|
plugin = [
|
|
"@tarquinen/opencode-dcp@latest"
|
|
"@xberg-io/opencode-xberg"
|
|
"@xberg-io/opencode-crawlberg"
|
|
"@xberg-io/opencode-html-to-markdown"
|
|
# "@xberg-io/opencode-liter-llm"
|
|
"opencode-plugin-litellm@latest"
|
|
"@xberg-io/opencode-tree-sitter-language-pack"
|
|
];
|
|
provider.litellm = {
|
|
npm = "@ai-sdk/openai-compatible";
|
|
name = "LiteLLM (scuggo)";
|
|
options = {
|
|
baseURL = "https://9f5db439.fwds.scug.io/v1";
|
|
apiKey = "{env:SCUG_IO_API_KEY}";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|