Added hetzner server configs
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
languages = import ./_languages.nix { inherit pkgs; };
|
||||
{pkgs, ...}: let
|
||||
languages = import ./_languages.nix {inherit pkgs;};
|
||||
providers = import ./_providers.nix;
|
||||
skills = import ./_skills.nix { inherit pkgs; };
|
||||
skills = import ./_skills.nix {inherit pkgs;};
|
||||
|
||||
inherit (pkgs) opencode;
|
||||
|
||||
@@ -23,7 +22,7 @@ let
|
||||
'';
|
||||
opencodeWrapped =
|
||||
pkgs.runCommand "opencode-wrapped" {
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
buildInputs = [pkgs.makeWrapper];
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${opencodeInitScript} $out/bin/opencode \
|
||||
@@ -36,110 +35,110 @@ in {
|
||||
users.users.someone.packages = [
|
||||
opencodeWrapped
|
||||
];
|
||||
xdg.configFile = {
|
||||
"${configFile}".text = builtins.toJSON {
|
||||
"$schema" = "https://opencode.ai/config.json";
|
||||
plugin = [
|
||||
"opencode-antigravity-auth@latest"
|
||||
"@tarquinen/opencode-dcp@latest"
|
||||
"oh-my-openagent@latest"
|
||||
];
|
||||
model = "google/antigravity-gemini-3-flash";
|
||||
small_model = "opencode/big-pickle";
|
||||
autoupdate = false;
|
||||
agent = {
|
||||
build = { model = "opencode/nemotron-3-super-free"; };
|
||||
plan = { model = "opencode/big-pickle"; };
|
||||
task = { model = "opencode/nemotron-3-super-free"; };
|
||||
"sisyphus-junior" = { model = "opencode/nemotron-3-super-free"; };
|
||||
explore = { model = "opencode/minimax-m2.5-free"; };
|
||||
general = { model = "opencode/big-pickle"; };
|
||||
oracle = { model = "opencode/nemotron-3-super-free"; };
|
||||
"ultrabrain" = { model = "opencode/nemotron-3-super-free"; };
|
||||
"deep" = { model = "opencode/nemotron-3-super-free"; };
|
||||
"quick" = { model = "opencode/gpt-5-nano"; };
|
||||
"artistry" = { model = "opencode/nemotron-3-super-free"; };
|
||||
"visual-engineering" = { model = "opencode/hy3-preview-free"; };
|
||||
"writing" = { model = "opencode/hy3-preview-free"; };
|
||||
};
|
||||
share = "disabled";
|
||||
disabled_providers = [
|
||||
"amazon-bedrock"
|
||||
"anthropic"
|
||||
"azure-openai"
|
||||
"azure-cognitive-services"
|
||||
"baseten"
|
||||
"cerebras"
|
||||
"cloudflare-ai-gateway"
|
||||
"cortecs"
|
||||
"deep-infra"
|
||||
"fireworks-ai"
|
||||
"google-vertex-ai"
|
||||
"groq"
|
||||
"hugging-face"
|
||||
"helicone"
|
||||
"llama.cpp"
|
||||
"io-net"
|
||||
"lmstudio"
|
||||
"moonshot-ai"
|
||||
"nebius-token-factory"
|
||||
"ollama"
|
||||
"ollama-cloud"
|
||||
"openai"
|
||||
"sap-ai-core"
|
||||
"ovhcloud-ai-endpoints"
|
||||
"together-ai"
|
||||
"venice-ai"
|
||||
"xai"
|
||||
"zai"
|
||||
"zenmux"
|
||||
];
|
||||
enabled_providers = [ "opencode" "google" "openrouter" "deepseek" "nvidia" "alibaba" "mistral" "cloudflare-workers-ai" ];
|
||||
mcp = {
|
||||
gh_grep = {
|
||||
type = "remote";
|
||||
url = "https://mcp.grep.app/";
|
||||
enabled = true;
|
||||
timeout = 10000;
|
||||
};
|
||||
deepwiki = {
|
||||
type = "remote";
|
||||
url = "https://mcp.deepwiki.com/mcp";
|
||||
enabled = true;
|
||||
timeout = 10000;
|
||||
};
|
||||
context7 = {
|
||||
type = "remote";
|
||||
url = "https://mcp.context7.com/mcp";
|
||||
enabled = true;
|
||||
timeout = 10000;
|
||||
};
|
||||
};
|
||||
inherit (languages) formatter lsp;
|
||||
provider = providers.config;
|
||||
xdg.configFile = {
|
||||
"${configFile}".text = builtins.toJSON {
|
||||
"$schema" = "https://opencode.ai/config.json";
|
||||
plugin = [
|
||||
"opencode-antigravity-auth@latest"
|
||||
"@tarquinen/opencode-dcp@latest"
|
||||
"oh-my-openagent@latest"
|
||||
];
|
||||
model = "google/antigravity-gemini-3-flash";
|
||||
small_model = "opencode/big-pickle";
|
||||
autoupdate = false;
|
||||
agent = {
|
||||
build = {model = "opencode/nemotron-3-super-free";};
|
||||
plan = {model = "opencode/big-pickle";};
|
||||
task = {model = "opencode/nemotron-3-super-free";};
|
||||
"sisyphus-junior" = {model = "opencode/nemotron-3-super-free";};
|
||||
explore = {model = "opencode/minimax-m2.5-free";};
|
||||
general = {model = "opencode/big-pickle";};
|
||||
oracle = {model = "opencode/nemotron-3-super-free";};
|
||||
"ultrabrain" = {model = "opencode/nemotron-3-super-free";};
|
||||
"deep" = {model = "opencode/nemotron-3-super-free";};
|
||||
"quick" = {model = "opencode/gpt-5-nano";};
|
||||
"artistry" = {model = "opencode/nemotron-3-super-free";};
|
||||
"visual-engineering" = {model = "opencode/hy3-preview-free";};
|
||||
"writing" = {model = "opencode/hy3-preview-free";};
|
||||
};
|
||||
|
||||
"opencode/oh-my-openagent.json".text = builtins.toJSON {
|
||||
"$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/master/assets/oh-my-opencode.schema.json";
|
||||
agents = {
|
||||
"sisyphus-junior" = { model = "opencode/nemotron-3-super-free"; };
|
||||
share = "disabled";
|
||||
disabled_providers = [
|
||||
"amazon-bedrock"
|
||||
"anthropic"
|
||||
"azure-openai"
|
||||
"azure-cognitive-services"
|
||||
"baseten"
|
||||
"cerebras"
|
||||
"cloudflare-ai-gateway"
|
||||
"cortecs"
|
||||
"deep-infra"
|
||||
"fireworks-ai"
|
||||
"google-vertex-ai"
|
||||
"groq"
|
||||
"hugging-face"
|
||||
"helicone"
|
||||
"llama.cpp"
|
||||
"io-net"
|
||||
"lmstudio"
|
||||
"moonshot-ai"
|
||||
"nebius-token-factory"
|
||||
"ollama"
|
||||
"ollama-cloud"
|
||||
"openai"
|
||||
"sap-ai-core"
|
||||
"ovhcloud-ai-endpoints"
|
||||
"together-ai"
|
||||
"venice-ai"
|
||||
"xai"
|
||||
"zai"
|
||||
"zenmux"
|
||||
];
|
||||
enabled_providers = ["opencode" "google" "openrouter" "deepseek" "nvidia" "alibaba" "mistral" "cloudflare-workers-ai"];
|
||||
mcp = {
|
||||
gh_grep = {
|
||||
type = "remote";
|
||||
url = "https://mcp.grep.app/";
|
||||
enabled = true;
|
||||
timeout = 10000;
|
||||
};
|
||||
categories = {
|
||||
"quick" = { model = "opencode/gpt-5-nano"; };
|
||||
"ultrabrain" = { model = "opencode/nemotron-3-super-free"; };
|
||||
"deep" = { model = "opencode/nemotron-3-super-free"; };
|
||||
"visual-engineering" = { model = "opencode/hy3-preview-free"; };
|
||||
"writing" = { model = "opencode/hy3-preview-free"; };
|
||||
"unspecified-low" = { model = "opencode/gpt-5-nano"; };
|
||||
"unspecified-high" = { model = "opencode/nemotron-3-super-free"; };
|
||||
deepwiki = {
|
||||
type = "remote";
|
||||
url = "https://mcp.deepwiki.com/mcp";
|
||||
enabled = true;
|
||||
timeout = 10000;
|
||||
};
|
||||
context7 = {
|
||||
type = "remote";
|
||||
url = "https://mcp.context7.com/mcp";
|
||||
enabled = true;
|
||||
timeout = 10000;
|
||||
};
|
||||
};
|
||||
|
||||
"${tuiFile}".text = builtins.toJSON {
|
||||
"$schema" = "https://opencode.ai/tui.json";
|
||||
theme = "gruvbox";
|
||||
};
|
||||
|
||||
"opencode/skill".source = skills.skillsSource + "/skill";
|
||||
inherit (languages) formatter lsp;
|
||||
provider = providers.config;
|
||||
};
|
||||
|
||||
"opencode/oh-my-openagent.json".text = builtins.toJSON {
|
||||
"$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/master/assets/oh-my-opencode.schema.json";
|
||||
agents = {
|
||||
"sisyphus-junior" = {model = "opencode/nemotron-3-super-free";};
|
||||
};
|
||||
categories = {
|
||||
"quick" = {model = "opencode/gpt-5-nano";};
|
||||
"ultrabrain" = {model = "opencode/nemotron-3-super-free";};
|
||||
"deep" = {model = "opencode/nemotron-3-super-free";};
|
||||
"visual-engineering" = {model = "opencode/hy3-preview-free";};
|
||||
"writing" = {model = "opencode/hy3-preview-free";};
|
||||
"unspecified-low" = {model = "opencode/gpt-5-nano";};
|
||||
"unspecified-high" = {model = "opencode/nemotron-3-super-free";};
|
||||
};
|
||||
};
|
||||
|
||||
"${tuiFile}".text = builtins.toJSON {
|
||||
"$schema" = "https://opencode.ai/tui.json";
|
||||
theme = "gruvbox";
|
||||
};
|
||||
|
||||
"opencode/skill".source = skills.skillsSource + "/skill";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,38 +3,37 @@
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
users.users.someone.packages = with pkgs;
|
||||
[
|
||||
# archives
|
||||
zip
|
||||
unzip
|
||||
unrar
|
||||
ouch
|
||||
users.users.someone.packages = with pkgs; [
|
||||
# archives
|
||||
zip
|
||||
unzip
|
||||
unrar
|
||||
ouch
|
||||
|
||||
# misc
|
||||
mako
|
||||
libnotify
|
||||
fontconfig
|
||||
# misc
|
||||
mako
|
||||
libnotify
|
||||
fontconfig
|
||||
|
||||
# utils
|
||||
dust
|
||||
duf
|
||||
fd
|
||||
file
|
||||
killall
|
||||
jq
|
||||
ps_mem
|
||||
inshellisense
|
||||
# utils
|
||||
dust
|
||||
duf
|
||||
fd
|
||||
file
|
||||
killall
|
||||
jq
|
||||
ps_mem
|
||||
inshellisense
|
||||
|
||||
fum
|
||||
gtt
|
||||
meteor-git
|
||||
nix-search-tv
|
||||
scope-tui
|
||||
tuicam
|
||||
wiremix
|
||||
zfxtop
|
||||
opencode
|
||||
loupe
|
||||
];
|
||||
fum
|
||||
gtt
|
||||
meteor-git
|
||||
nix-search-tv
|
||||
scope-tui
|
||||
tuicam
|
||||
wiremix
|
||||
zfxtop
|
||||
opencode
|
||||
loupe
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user