Compare commits
2 Commits
18ef6174bb
...
037df324fd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
037df324fd | ||
|
|
80a58c9df8 |
@@ -1,4 +1,7 @@
|
|||||||
{inputs, ...}: {
|
{ inputs, ... }: {
|
||||||
|
imports =
|
||||||
|
[ "${inputs.m3ta-nixpkgs}/modules/home-manager/coding/basecamp-mcp.nix" ];
|
||||||
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"opencode/command" = {
|
"opencode/command" = {
|
||||||
source = "${inputs.agents}/command";
|
source = "${inputs.agents}/command";
|
||||||
@@ -18,16 +21,22 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
m3ta.coding.opencode.mcp.basecamp = {
|
||||||
|
enable = true;
|
||||||
|
envFile = "/run/agenix/basecamp-env";
|
||||||
|
};
|
||||||
programs.opencode = {
|
programs.opencode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
theme = "opencode";
|
theme = "opencode";
|
||||||
plugin = ["oh-my-opencode" "opencode-beads"];
|
plugin =
|
||||||
agent = builtins.fromJSON (builtins.readFile "${inputs.agents}/agent/agents.json");
|
[ "oh-my-opencode" "opencode-beads" "opencode-antigravity-auth@beta" ];
|
||||||
|
agent = builtins.fromJSON
|
||||||
|
(builtins.readFile "${inputs.agents}/agent/agents.json");
|
||||||
formatter = {
|
formatter = {
|
||||||
alejandra = {
|
alejandra = {
|
||||||
command = ["alejandra" "-q" "-"];
|
command = [ "alejandra" "-q" "-" ];
|
||||||
extensions = [".nix"];
|
extensions = [ ".nix" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mcp = {
|
mcp = {
|
||||||
@@ -49,19 +58,6 @@
|
|||||||
];
|
];
|
||||||
enabled = false;
|
enabled = false;
|
||||||
};
|
};
|
||||||
Basecamp = {
|
|
||||||
type = "local";
|
|
||||||
command = [
|
|
||||||
"/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/venv/bin/python"
|
|
||||||
"/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/basecamp_fastmcp.py"
|
|
||||||
];
|
|
||||||
environment = {
|
|
||||||
PYTHONPATH = "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server";
|
|
||||||
VIRTUAL_ENV = "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/venv";
|
|
||||||
BASECAMP_ACCOUNT_ID = "5996442";
|
|
||||||
};
|
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
Exa = {
|
Exa = {
|
||||||
type = "local";
|
type = "local";
|
||||||
command = [
|
command = [
|
||||||
@@ -72,11 +68,135 @@
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
provider = {
|
||||||
|
google = {
|
||||||
|
models = {
|
||||||
|
"antigravity-gemini-3-pro" = {
|
||||||
|
name = "Gemini 3 Pro (Antigravity)";
|
||||||
|
limit = {
|
||||||
|
context = 1048576;
|
||||||
|
output = 65535;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
variants = {
|
||||||
|
low = { thinkingLevel = "low"; };
|
||||||
|
high = { thinkingLevel = "high"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"antigravity-gemini-3-flash" = {
|
||||||
|
name = "Gemini 3 Flash (Antigravity)";
|
||||||
|
limit = {
|
||||||
|
context = 1048576;
|
||||||
|
output = 65536;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
variants = {
|
||||||
|
minimal = { thinkingLevel = "minimal"; };
|
||||||
|
low = { thinkingLevel = "low"; };
|
||||||
|
medium = { thinkingLevel = "medium"; };
|
||||||
|
high = { thinkingLevel = "high"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"antigravity-claude-sonnet-4-5" = {
|
||||||
|
name = "Claude Sonnet 4.5 (no thinking) (Antigravity)";
|
||||||
|
limit = {
|
||||||
|
context = 200000;
|
||||||
|
output = 64000;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"antigravity-claude-sonnet-4-5-thinking" = {
|
||||||
|
name = "Claude Sonnet 4.5 Thinking (Antigravity)";
|
||||||
|
limit = {
|
||||||
|
context = 200000;
|
||||||
|
output = 64000;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
variants = {
|
||||||
|
low = { thinkingConfig = { thinkingBudget = 8192; }; };
|
||||||
|
max = { thinkingConfig = { thinkingBudget = 32768; }; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"antigravity-claude-opus-4-5-thinking" = {
|
||||||
|
name = "Claude Opus 4.5 Thinking (Antigravity)";
|
||||||
|
limit = {
|
||||||
|
context = 200000;
|
||||||
|
output = 64000;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
variants = {
|
||||||
|
low = { thinkingConfig = { thinkingBudget = 8192; }; };
|
||||||
|
max = { thinkingConfig = { thinkingBudget = 32768; }; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"gemini-2.5-flash" = {
|
||||||
|
name = "Gemini 2.5 Flash (Gemini CLI)";
|
||||||
|
limit = {
|
||||||
|
context = 1048576;
|
||||||
|
output = 65536;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"gemini-2.5-pro" = {
|
||||||
|
name = "Gemini 2.5 Pro (Gemini CLI)";
|
||||||
|
limit = {
|
||||||
|
context = 1048576;
|
||||||
|
output = 65536;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"gemini-3-flash-preview" = {
|
||||||
|
name = "Gemini 3 Flash Preview (Gemini CLI)";
|
||||||
|
limit = {
|
||||||
|
context = 1048576;
|
||||||
|
output = 65536;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"gemini-3-pro-preview" = {
|
||||||
|
name = "Gemini 3 Pro Preview (Gemini CLI)";
|
||||||
|
limit = {
|
||||||
|
context = 1048576;
|
||||||
|
output = 65535;
|
||||||
|
};
|
||||||
|
modalities = {
|
||||||
|
input = [ "text" "image" "pdf" ];
|
||||||
|
output = [ "text" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON {
|
home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON {
|
||||||
"$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
|
"$schema" =
|
||||||
|
"https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
|
||||||
agents = {
|
agents = {
|
||||||
Sisyphus = {
|
Sisyphus = {
|
||||||
model = "opencode/glm-4.7-free";
|
model = "opencode/glm-4.7-free";
|
||||||
@@ -194,6 +314,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
disabled_mcps = ["context7" "websearch"];
|
disabled_mcps = [ "context7" "websearch" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
27
secrets.nix
27
secrets.nix
@@ -1,25 +1,24 @@
|
|||||||
let
|
let
|
||||||
# SYSTEMS
|
# SYSTEMS
|
||||||
m3-ares = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG+M4CygEQ29eTmLqgyIAFCxy0rgfO23klNiARBEA+3s";
|
m3-ares =
|
||||||
m3-kratos = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDl+LtFGsk/A7BvxwiUCyq5wjRzGtQSrBJzzLGxINF4O";
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG+M4CygEQ29eTmLqgyIAFCxy0rgfO23klNiARBEA+3s";
|
||||||
m3-helios = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIyHuLITpI+M45ZZem33wDusY2X988mBoWpD1HDeZNRJ";
|
m3-kratos =
|
||||||
m3-atlas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBYK1wsFkUPIb/lX1BH7+VyXmmGSbdEFHnvhAOcaC7H";
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDl+LtFGsk/A7BvxwiUCyq5wjRzGtQSrBJzzLGxINF4O";
|
||||||
|
m3-helios =
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIyHuLITpI+M45ZZem33wDusY2X988mBoWpD1HDeZNRJ";
|
||||||
|
m3-atlas =
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBYK1wsFkUPIb/lX1BH7+VyXmmGSbdEFHnvhAOcaC7H";
|
||||||
|
|
||||||
# USERS
|
# USERS
|
||||||
m3tam3re = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7xsJG90DkaX2vaTk0wgJdMnpVIuIRBa4EkmMWOQ3bMLGkLQeK/4FUkNcvQ/4+zcZsg4cY9Q7Fj55DD41hAUdF6SYODtn5qMPsTCnJz44glHt/oseKXMSd556NIw2HOvihbJW7Rwl4OEjGaO/dF4nUw4c9tHWmMn9dLslAVpUuZOb7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU=";
|
m3tam3re =
|
||||||
users = [
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7xsJG90DkaX2vaTk0wgJdMnpVIuIRBa4EkmMWOQ3bMLGkLQeK/4FUkNcvQ/4+zcZsg4cY9Q7Fj55DD41hAUdF6SYODtn5qMPsTCnJz44glHt/oseKXMSd556NIw2HOvihbJW7Rwl4OEjGaO/dF4nUw4c9tHWmMn9dLslAVpUuZOb7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU=";
|
||||||
m3tam3re
|
users = [ m3tam3re ];
|
||||||
];
|
|
||||||
|
|
||||||
systems = [
|
systems = [ m3-atlas m3-ares m3-helios m3-kratos ];
|
||||||
m3-atlas
|
|
||||||
m3-ares
|
|
||||||
m3-helios
|
|
||||||
m3-kratos
|
|
||||||
];
|
|
||||||
in {
|
in {
|
||||||
"secrets/anytype-key.age".publicKeys = systems ++ users;
|
"secrets/anytype-key.age".publicKeys = systems ++ users;
|
||||||
"secrets/anytype-key-ares.age".publicKeys = systems ++ users;
|
"secrets/anytype-key-ares.age".publicKeys = systems ++ users;
|
||||||
|
"secrets/basecamp-env.age".publicKeys = systems ++ users;
|
||||||
"secrets/baserow-env.age".publicKeys = systems ++ users;
|
"secrets/baserow-env.age".publicKeys = systems ++ users;
|
||||||
"secrets/ghost-env.age".publicKeys = systems ++ users;
|
"secrets/ghost-env.age".publicKeys = systems ++ users;
|
||||||
"secrets/littlelink-m3tam3re.age".publicKeys = systems ++ users;
|
"secrets/littlelink-m3tam3re.age".publicKeys = systems ++ users;
|
||||||
|
|||||||
Reference in New Issue
Block a user