Added hetzner server configs
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
username = "someone";
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
username = "someone";
|
||||
in {
|
||||
users.users.${username}.packages = with pkgs; [
|
||||
neovim
|
||||
];
|
||||
|
||||
+10
-8
@@ -8,16 +8,18 @@
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.dconf.profiles.user.databases = [{
|
||||
settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
programs.dconf.profiles.user.databases = [
|
||||
{
|
||||
settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
XDG_ICON_DIR = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur";
|
||||
|
||||
@@ -2,13 +2,10 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
configFile = "mpv/mpv.conf";
|
||||
}: let
|
||||
configFile = "mpv/mpv.conf";
|
||||
mpvInputFile = "mpv/input.conf";
|
||||
in
|
||||
{
|
||||
in {
|
||||
users.users.someone.packages = with pkgs; [
|
||||
mpv
|
||||
mpvScripts.mpris
|
||||
@@ -16,12 +13,11 @@ in
|
||||
|
||||
xdg.configFile."${configFile}".text =
|
||||
lib.generators.toKeyValue {
|
||||
mkKeyValue = k: v:
|
||||
"${lib.escapeShellArg k}=${lib.escapeShellArg v}";
|
||||
mkKeyValue = k: v: "${lib.escapeShellArg k}=${lib.escapeShellArg v}";
|
||||
listsAsDuplicateKeys = true;
|
||||
} {
|
||||
profile = "gpu-hq";
|
||||
volume = "100";
|
||||
volume = "100";
|
||||
};
|
||||
|
||||
xdg.configFile."${mpvInputFile}".text = ''
|
||||
|
||||
@@ -18,7 +18,7 @@ in {
|
||||
{
|
||||
"type" = "ladspa";
|
||||
"name" = "rnnoise";
|
||||
"plugin" = "librnnoise_ladspa";
|
||||
"plugin" = "librnnoise_ladspa";
|
||||
"label" = "noise_suppressor_stereo";
|
||||
"control" = {"VAD Threshold (%)" = 50.0;};
|
||||
}
|
||||
|
||||
@@ -71,5 +71,5 @@
|
||||
"Mod+Shift+Up".move-column-to-workspace-up = {};
|
||||
"Mod+Shift+Down".move-column-to-workspace-down = {};
|
||||
"Mod+P" = {spawn-sh = "wl-mirror $(niri msg --json focused-output | jq -r .name)";};
|
||||
# "Mod+Alt".toggle-overview = { repeat=false; };
|
||||
# "Mod+Alt".toggle-overview = { repeat=false; };
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{
|
||||
geometry-corner-radius._args = [8.0 8.0 12.0 12.0];
|
||||
clip-to-geometry = true;
|
||||
draw-border-with-background = false;
|
||||
draw-border-with-background = false;
|
||||
}
|
||||
{
|
||||
match._props = {is-floating = true;};
|
||||
|
||||
@@ -48,7 +48,7 @@ in {
|
||||
|
||||
screenshot-path = "~/Pictures/Screenshots/Screenshot-from-%Y-%m-%d-%H-%M-%S.png";
|
||||
|
||||
overview = {
|
||||
overview = {
|
||||
workspace-shadow.off = {};
|
||||
backdrop-color = "transparent";
|
||||
};
|
||||
|
||||
@@ -7,40 +7,39 @@
|
||||
users.users.someone.packages = [pkgs.ashell];
|
||||
|
||||
xdg.configFile."ashell/config.toml".text = ''
|
||||
[modules]
|
||||
left = [ [ "appLauncher", "Updates", "Workspaces", "ScreenMirror" ], "MediaPlayer" ]
|
||||
center = [ "WindowTitle" ]
|
||||
right = [ "SystemInfo", [ "Tray", "Clock", "Privacy", "Settings" ] ]
|
||||
[modules]
|
||||
left = [ [ "appLauncher", "Updates", "Workspaces", "ScreenMirror" ], "MediaPlayer" ]
|
||||
center = [ "WindowTitle" ]
|
||||
right = [ "SystemInfo", [ "Tray", "Clock", "Privacy", "Settings" ] ]
|
||||
|
||||
|
||||
[system_info]
|
||||
indicators = [ "Cpu", "Memory", "Temperature" ]
|
||||
[system_info]
|
||||
indicators = [ "Cpu", "Memory", "Temperature" ]
|
||||
|
||||
[system_info.cpu]
|
||||
warn_threshold = 60
|
||||
alert_threshold = 80
|
||||
[system_info.cpu]
|
||||
warn_threshold = 60
|
||||
alert_threshold = 80
|
||||
|
||||
[system_info.memory]
|
||||
warn_threshold = 70
|
||||
alert_threshold = 85
|
||||
[system_info.memory]
|
||||
warn_threshold = 70
|
||||
alert_threshold = 85
|
||||
|
||||
[system_info.temperature]
|
||||
warn_threshold = 60
|
||||
alert_threshold = 80
|
||||
[system_info.temperature]
|
||||
warn_threshold = 60
|
||||
alert_threshold = 80
|
||||
|
||||
[tempo]
|
||||
clock_format = "%a %d %b %R"
|
||||
weather_location = { City = "Amsterdam" }
|
||||
[tempo]
|
||||
clock_format = "%a %d %b %R"
|
||||
weather_location = { City = "Amsterdam" }
|
||||
|
||||
[appearance]
|
||||
style = "Islands"
|
||||
[appearance]
|
||||
style = "Islands"
|
||||
|
||||
[[ScreenMirror]]
|
||||
name = "ScreenMirror"
|
||||
icon = ""
|
||||
command = "bash /etc/nixos/scripts/screen-mirror.sh"
|
||||
[[ScreenMirror]]
|
||||
name = "ScreenMirror"
|
||||
icon = ""
|
||||
command = "bash /etc/nixos/scripts/screen-mirror.sh"
|
||||
|
||||
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
text-color=#FAB387
|
||||
border-color=#ebdbb2
|
||||
progress-color=#FAB387
|
||||
|
||||
|
||||
font=SauceCodePro Nerd Font 10
|
||||
width=300
|
||||
height=100
|
||||
@@ -23,13 +23,13 @@
|
||||
max-icon-size=48
|
||||
default-timeout=5000
|
||||
group-by=category
|
||||
|
||||
|
||||
[urgency=low]
|
||||
border-color=#928374
|
||||
|
||||
|
||||
[urgency=normal]
|
||||
border-color=#b8bb26
|
||||
|
||||
|
||||
[urgency=critical]
|
||||
border-color=#fb4934
|
||||
default-timeout=0
|
||||
|
||||
@@ -67,61 +67,61 @@
|
||||
};
|
||||
"fish/functions/extract.fish" = {
|
||||
text = ''
|
||||
function extract
|
||||
if test -f "$argv[1]"
|
||||
set file "$argv[1]"
|
||||
set filename (basename "$file")
|
||||
set dirname (string replace -r '\.tar\.bz2$|\.tar\.gz$|\.tbz2$|\.tgz$|\.tar$|\.bz2$|\.gz$|\.zip$|\.Z$|\.7z$|\.xz$|\.rar$' "" "$filename")
|
||||
mkdir -p "$dirname"
|
||||
switch $file
|
||||
case "*.tar.bz2"
|
||||
tar xjf "$file" -C "$dirname"
|
||||
case "*.tar.gz"
|
||||
tar xzf "$file" -C "$dirname"
|
||||
case "*.tbz2"
|
||||
tar xjf "$file" -C "$dirname"
|
||||
case "*.tgz"
|
||||
tar xzf "$file" -C "$dirname"
|
||||
case "*.tar"
|
||||
tar xf "$file" -C "$dirname"
|
||||
case "*.bz2"
|
||||
bunzip2 -c "$file" >"$dirname/$dirname"
|
||||
case "*.gz"
|
||||
gunzip -c "$file" >"$dirname/$dirname"
|
||||
case "*.zip"
|
||||
unzip "$file" -d "$dirname"
|
||||
case "*.Z"
|
||||
uncompress -c "$file" >"$dirname/$dirname"
|
||||
case "*.7z"
|
||||
7z x "$file" -o"$dirname"
|
||||
case "*.xz"
|
||||
xz -dc "$file" >"$dirname/$dirname"
|
||||
case "*.rar"
|
||||
unrar x "$file" "$dirname"
|
||||
case "*"
|
||||
echo "'$file' cannot be extracted via extract()"
|
||||
end
|
||||
else
|
||||
echo "'$argv[1]' is not a valid file"
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
function extract
|
||||
if test -f "$argv[1]"
|
||||
set file "$argv[1]"
|
||||
set filename (basename "$file")
|
||||
set dirname (string replace -r '\.tar\.bz2$|\.tar\.gz$|\.tbz2$|\.tgz$|\.tar$|\.bz2$|\.gz$|\.zip$|\.Z$|\.7z$|\.xz$|\.rar$' "" "$filename")
|
||||
mkdir -p "$dirname"
|
||||
switch $file
|
||||
case "*.tar.bz2"
|
||||
tar xjf "$file" -C "$dirname"
|
||||
case "*.tar.gz"
|
||||
tar xzf "$file" -C "$dirname"
|
||||
case "*.tbz2"
|
||||
tar xjf "$file" -C "$dirname"
|
||||
case "*.tgz"
|
||||
tar xzf "$file" -C "$dirname"
|
||||
case "*.tar"
|
||||
tar xf "$file" -C "$dirname"
|
||||
case "*.bz2"
|
||||
bunzip2 -c "$file" >"$dirname/$dirname"
|
||||
case "*.gz"
|
||||
gunzip -c "$file" >"$dirname/$dirname"
|
||||
case "*.zip"
|
||||
unzip "$file" -d "$dirname"
|
||||
case "*.Z"
|
||||
uncompress -c "$file" >"$dirname/$dirname"
|
||||
case "*.7z"
|
||||
7z x "$file" -o"$dirname"
|
||||
case "*.xz"
|
||||
xz -dc "$file" >"$dirname/$dirname"
|
||||
case "*.rar"
|
||||
unrar x "$file" "$dirname"
|
||||
case "*"
|
||||
echo "'$file' cannot be extracted via extract()"
|
||||
end
|
||||
else
|
||||
echo "'$argv[1]' is not a valid file"
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
"fish/functions/weather.fish" = {
|
||||
text = ''
|
||||
function weather
|
||||
if test "$argv[1]" = week
|
||||
wthrr -f w $argv[2]
|
||||
else if test -z "$argv[1]"
|
||||
wthrr -f d
|
||||
wthrr -f t
|
||||
else
|
||||
wthrr -f d $argv[1]
|
||||
wthrr -f t $argv[1]
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
function weather
|
||||
if test "$argv[1]" = week
|
||||
wthrr -f w $argv[2]
|
||||
else if test -z "$argv[1]"
|
||||
wthrr -f d
|
||||
wthrr -f t
|
||||
else
|
||||
wthrr -f d $argv[1]
|
||||
wthrr -f t $argv[1]
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
"fish/functions/fcd.fish" = {
|
||||
text = ''
|
||||
function fcd
|
||||
@@ -168,44 +168,44 @@ end
|
||||
};
|
||||
"fish/conf.d/aliases.fish" = {
|
||||
text = ''
|
||||
alias cleanup="sudo nix-collect-garbage --delete-older-than 1d"
|
||||
alias listgen="sudo nix-env -p /nix/var/nix/profiles/system --list-generations"
|
||||
alias nixremove="nix-store --gc"
|
||||
alias bloat="nix path-info -Sh /run/current-system"
|
||||
alias cleanram="sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'"
|
||||
alias trimall="sudo fstrim -va"
|
||||
alias c="clear"
|
||||
alias add="git add ."
|
||||
alias commit="git commit"
|
||||
alias push="git push"
|
||||
alias pull="git pull"
|
||||
alias diff="git diff --staged"
|
||||
alias gcld="git clone --depth 1"
|
||||
alias koji="meteor"
|
||||
alias gitui="lazygit"
|
||||
alias ls="eza -lah --grid -s modified --smart-group --group-directories-first --icons"
|
||||
alias l="eza -ah --grid -s modified --smart-group --group-directories-first --icons"
|
||||
alias tree="eza --tree --icons --tree"
|
||||
alias cat="${pkgs.bat}/bin/bat --paging=never --theme gruvbox-dark"
|
||||
alias us="systemctl --user"
|
||||
alias rs="sudo systemctl"
|
||||
alias zed="zeditor"
|
||||
alias nl="nl -ba"
|
||||
alias cp="cp -riv"
|
||||
alias mv="mv -iv"
|
||||
alias mkdir="mkdir -pv"
|
||||
alias less="bat -p --theme gruvbox-dark"
|
||||
alias myip="curl ip.severijnse.eu"
|
||||
alias pscpu="ps -eo pid,ppid,cmd,%mem,%cpu,etime --sort=-%cpu | head -n 21"
|
||||
alias psmem="ps -eo pid,ppid,cmd,%mem,%cpu,etime --sort=-%mem | head -n 21"
|
||||
alias weer="weather"
|
||||
alias v="nvim"
|
||||
alias copy="wl-copy"
|
||||
alias send="croc"
|
||||
alias img="loupe"
|
||||
alias cat-md="glow"
|
||||
alias du="dust"
|
||||
alias df="duf"
|
||||
alias cleanup="sudo nix-collect-garbage --delete-older-than 1d"
|
||||
alias listgen="sudo nix-env -p /nix/var/nix/profiles/system --list-generations"
|
||||
alias nixremove="nix-store --gc"
|
||||
alias bloat="nix path-info -Sh /run/current-system"
|
||||
alias cleanram="sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'"
|
||||
alias trimall="sudo fstrim -va"
|
||||
alias c="clear"
|
||||
alias add="git add ."
|
||||
alias commit="git commit"
|
||||
alias push="git push"
|
||||
alias pull="git pull"
|
||||
alias diff="git diff --staged"
|
||||
alias gcld="git clone --depth 1"
|
||||
alias koji="meteor"
|
||||
alias gitui="lazygit"
|
||||
alias ls="eza -lah --grid -s modified --smart-group --group-directories-first --icons"
|
||||
alias l="eza -ah --grid -s modified --smart-group --group-directories-first --icons"
|
||||
alias tree="eza --tree --icons --tree"
|
||||
alias cat="${pkgs.bat}/bin/bat --paging=never --theme gruvbox-dark"
|
||||
alias us="systemctl --user"
|
||||
alias rs="sudo systemctl"
|
||||
alias zed="zeditor"
|
||||
alias nl="nl -ba"
|
||||
alias cp="cp -riv"
|
||||
alias mv="mv -iv"
|
||||
alias mkdir="mkdir -pv"
|
||||
alias less="bat -p --theme gruvbox-dark"
|
||||
alias myip="curl ip.severijnse.eu"
|
||||
alias pscpu="ps -eo pid,ppid,cmd,%mem,%cpu,etime --sort=-%cpu | head -n 21"
|
||||
alias psmem="ps -eo pid,ppid,cmd,%mem,%cpu,etime --sort=-%mem | head -n 21"
|
||||
alias weer="weather"
|
||||
alias v="nvim"
|
||||
alias copy="wl-copy"
|
||||
alias send="croc"
|
||||
alias img="loupe"
|
||||
alias cat-md="glow"
|
||||
alias du="dust"
|
||||
alias df="duf"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
configFile = "starship/starship.toml";
|
||||
toTOML = (pkgs.formats.toml {}).generate;
|
||||
in
|
||||
{
|
||||
in {
|
||||
environment.sessionVariables = {
|
||||
STARSHIP_CONFIG = "${config.xdg.configHome}/${configFile}";
|
||||
STARSHIP_LOG = "error";
|
||||
};
|
||||
|
||||
users.users.someone.packages = [ pkgs.starship ];
|
||||
users.users.someone.packages = [pkgs.starship];
|
||||
|
||||
xdg.configFile = {
|
||||
"${configFile}".source = toTOML "starship.toml" {
|
||||
|
||||
"$schema" = "https://starship.rs/config-schema.json";
|
||||
|
||||
add_newline = true;
|
||||
@@ -137,7 +137,6 @@ in
|
||||
starship init fish | source
|
||||
'';
|
||||
|
||||
"fish/completions/starship.fish".source =
|
||||
"${pkgs.starship}/share/fish/vendor_completions.d/starship.fish";
|
||||
"fish/completions/starship.fish".source = "${pkgs.starship}/share/fish/vendor_completions.d/starship.fish";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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