Add android development environment and added appropiate opencode models for free subscription

This commit is contained in:
2026-05-06 19:32:27 +02:00
parent 4e4818343b
commit f180cd6230
2 changed files with 112 additions and 95 deletions
BIN
View File
Binary file not shown.
+40 -23
View File
@@ -1,15 +1,14 @@
{pkgs, ...}: let { pkgs, ... }:
languages = import ./_languages.nix {inherit pkgs;}; let
languages = import ./_languages.nix { inherit pkgs; };
providers = import ./_providers.nix; providers = import ./_providers.nix;
skills = import ./_skills.nix {inherit pkgs;}; skills = import ./_skills.nix { inherit pkgs; };
inherit (pkgs) opencode; inherit (pkgs) opencode;
opencodeEnv = pkgs.buildEnv { opencodeEnv = pkgs.buildEnv {
name = "opencode-env"; name = "opencode-env";
paths = paths = languages.packages ++ skills.packages;
languages.packages
++ skills.packages;
}; };
opencodeInitScript = pkgs.writeShellScript "opencode-init" '' opencodeInitScript = pkgs.writeShellScript "opencode-init" ''
mkdir -p "$HOME/.local/cache/opencode/node_modules/@opencode-ai" mkdir -p "$HOME/.local/cache/opencode/node_modules/@opencode-ai"
@@ -24,7 +23,7 @@
''; '';
opencodeWrapped = opencodeWrapped =
pkgs.runCommand "opencode-wrapped" { pkgs.runCommand "opencode-wrapped" {
buildInputs = [pkgs.makeWrapper]; buildInputs = [ pkgs.makeWrapper ];
} '' } ''
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${opencodeInitScript} $out/bin/opencode \ makeWrapper ${opencodeInitScript} $out/bin/opencode \
@@ -33,7 +32,7 @@
''; '';
configFile = "opencode/config.json"; configFile = "opencode/config.json";
tuiFile = "opencode/tui.json"; tuiFile = "opencode/tui.json";
in { in {
users.users.someone.packages = [ users.users.someone.packages = [
opencodeWrapped opencodeWrapped
]; ];
@@ -49,19 +48,19 @@
small_model = "opencode/big-pickle"; small_model = "opencode/big-pickle";
autoupdate = false; autoupdate = false;
agent = { agent = {
build = {model = "opencode/nemotron-3-super-free";}; build = { model = "opencode/nemotron-3-super-free"; };
plan = {model = "opencode/big-pickle";}; plan = { model = "opencode/big-pickle"; };
task = {model = "opencode/nemotron-3-super-free";}; task = { model = "opencode/nemotron-3-super-free"; };
"Sisyphus-Junior" = {model = "opencode/nemotron-3-super-free";}; "sisyphus-junior" = { model = "opencode/nemotron-3-super-free"; };
explore = {model = "opencode/minimax-m2.5-free";}; explore = { model = "opencode/minimax-m2.5-free"; };
general = {model = "opencode/big-pickle";}; general = { model = "opencode/big-pickle"; };
oracle = {model = "opencode/nemotron-3-super-free";}; oracle = { model = "opencode/nemotron-3-super-free"; };
"ultrabrain" = {model = "opencode/nemotron-3-super-free";}; "ultrabrain" = { model = "opencode/nemotron-3-super-free"; };
"deep" = {model = "opencode/nemotron-3-super-free";}; "deep" = { model = "opencode/nemotron-3-super-free"; };
"quick" = {model = "opencode/gpt-5-nano";}; "quick" = { model = "opencode/gpt-5-nano"; };
"artistry" = {model = "opencode/nemotron-3-super-free";}; "artistry" = { model = "opencode/nemotron-3-super-free"; };
"visual-engineering" = {model = "opencode/hy3-preview-free";}; "visual-engineering" = { model = "opencode/hy3-preview-free"; };
"writing" = {model = "opencode/hy3-preview-free";}; "writing" = { model = "opencode/hy3-preview-free"; };
}; };
share = "disabled"; share = "disabled";
disabled_providers = [ disabled_providers = [
@@ -95,7 +94,7 @@
"zai" "zai"
"zenmux" "zenmux"
]; ];
enabled_providers = ["opencode" "google" "openrouter"]; enabled_providers = [ "opencode" "google" "openrouter" ];
mcp = { mcp = {
gh_grep = { gh_grep = {
type = "remote"; type = "remote";
@@ -119,10 +118,28 @@
inherit (languages) formatter lsp; inherit (languages) formatter lsp;
provider = providers.config; 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 { "${tuiFile}".text = builtins.toJSON {
"$schema" = "https://opencode.ai/tui.json"; "$schema" = "https://opencode.ai/tui.json";
theme = "gruvbox"; theme = "gruvbox";
}; };
"opencode/skill".source = skills.skillsSource + "/skill"; "opencode/skill".source = skills.skillsSource + "/skill";
}; };
} }