meow
This commit is contained in:
@@ -39,9 +39,10 @@
|
||||
# modules.easyeffects
|
||||
# modules.lavd
|
||||
modules.ai
|
||||
modules.pi-coding
|
||||
# modules.omp
|
||||
modules.podman
|
||||
<modules/ai/ollama-cuda>
|
||||
# <modules/ai/ollama-cuda>
|
||||
];
|
||||
nixos =
|
||||
{
|
||||
|
||||
@@ -38,14 +38,26 @@
|
||||
"rd.systemd.show_status=auto"
|
||||
];
|
||||
|
||||
services.openssh.enable = true;
|
||||
services.openssh.enable = true;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
configPackages = [ pkgs.xdg-desktop-portal-wlr ];
|
||||
wlr = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
networking.firewall.enable = false;
|
||||
|
||||
security.rtkit.enable = true;
|
||||
environment.systemPackages = with pkgs; [ polkit_gnome ];
|
||||
|
||||
hardware.graphics = {
|
||||
security.rtkit.enable = true;
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
libva-minimal
|
||||
|
||||
@@ -6,5 +6,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
den.url = "github:vic/den?ref=8101ec865c0bf4027d40b9fd8951e3e435a86d64";
|
||||
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
"@xberg-io/opencode-xberg"
|
||||
"@xberg-io/opencode-crawlberg"
|
||||
"@xberg-io/opencode-html-to-markdown"
|
||||
"@xberg-io/opencode-liter-llm"
|
||||
# "@xberg-io/opencode-liter-llm"
|
||||
"opencode-plugin-litellm@latest"
|
||||
"@xberg-io/opencode-tree-sitter-language-pack"
|
||||
];
|
||||
provider.litellm = {
|
||||
@@ -64,35 +65,6 @@
|
||||
baseURL = "https://9f5db439.fwds.scug.io/v1";
|
||||
apiKey = "{env:SCUG_IO_API_KEY}";
|
||||
};
|
||||
models = {
|
||||
"openai/Qwen3.6-35B-A3B" = {
|
||||
id = "Qwen3.6-35B-A3B";
|
||||
name = "Qwen3.6-35B-A3B";
|
||||
family = "Qwen";
|
||||
limit = {
|
||||
context = 262144;
|
||||
input = 262144;
|
||||
output = 16384;
|
||||
};
|
||||
cost = {
|
||||
input = 0.00002;
|
||||
output = 0.00006;
|
||||
};
|
||||
provider = {
|
||||
api = "openai";
|
||||
};
|
||||
modalities = {
|
||||
input = [ "text" ];
|
||||
output = [ "text" ];
|
||||
};
|
||||
status = "active";
|
||||
reasoning = true;
|
||||
temperature = false;
|
||||
tool_call = true;
|
||||
attachment = false;
|
||||
experimental = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
+222
-5
@@ -1,10 +1,227 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
modules.pi-coding = {
|
||||
homeManager = {
|
||||
programs.pi-coding-agent = {
|
||||
enable = true;
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.pi-coding-agent = {
|
||||
enable = true;
|
||||
extraPackages = [
|
||||
pkgs.nodejs
|
||||
# pkgs.lean-lsp-mcp
|
||||
];
|
||||
package = pkgs.pi-coding-agent.overrideAttrs (
|
||||
new: old: {
|
||||
version = "0.81.1";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "earendil-works";
|
||||
repo = "pi";
|
||||
tag = "v${new.version}";
|
||||
hash = "sha256-xo3uoR7HceOCL3wqoMcacOe8WXP1o7ReAXne5t6Hgao=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-lzKQZbnITzgV9koucsMno6f61ubBLYUcwQEXtak1r1s=";
|
||||
# npmDepsHash = pkgs.lib.fakeHash;
|
||||
|
||||
# npmDepsHash = "sha256-lDoj/94tjJd4ZGU9WgrMOqNSmdpeCljU4c6jGX+TSDY=";
|
||||
|
||||
npmDeps = pkgs.fetchNpmDeps {
|
||||
inherit (new) src;
|
||||
name = "pi-coding-agent-0.81.1-npm-deps";
|
||||
hash = new.npmDepsHash;
|
||||
};
|
||||
modelData = pkgs.fetchurl {
|
||||
url = "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-${new.version}.tgz";
|
||||
hash = "sha256-x53MD5DU370ZdNoz36P+OWZjGVpoM5sfVcEU2/ckDy8=";
|
||||
# hash = pkgs.lib.fakeHash;
|
||||
};
|
||||
preConfigure = ''
|
||||
mkdir -p packages/ai/src/providers/data
|
||||
tar --extract --gzip --file=${new.modelData} \
|
||||
--directory=packages/ai/src/providers/data \
|
||||
--strip-components=4 \
|
||||
package/dist/providers/data
|
||||
'';
|
||||
passthru.updateScript = pkgs.nix-update-script {
|
||||
extraArgs = [
|
||||
"--custom-dep"
|
||||
"modelData"
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
settings = {
|
||||
"litellm" = {
|
||||
"providers" = {
|
||||
"litellm" = {
|
||||
"displayName" = "scuggo";
|
||||
"baseUrl" = "https://9f5db439.fwds.scug.io";
|
||||
"apiKey" = "$SCUG_IO_API_KEY";
|
||||
"compat" = {
|
||||
"sendSessionAffinityHeaders" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
"skills" = {
|
||||
"enabled" = true;
|
||||
};
|
||||
"compat" = {
|
||||
"sendSessionAffinityHeaders" = true;
|
||||
};
|
||||
"mcp" = {
|
||||
"enabled" = true;
|
||||
};
|
||||
"showCacheMissNotices" = true;
|
||||
"qol" = {
|
||||
"permissionGate" = {
|
||||
"enabled" = true;
|
||||
"commands" = "rm -Rf,rm -rf,sudo,chmod,chown,mkfs,dd,shutdown,reboot,poweroff";
|
||||
"previewLines" = 12;
|
||||
"previewChars" = 1200;
|
||||
};
|
||||
};
|
||||
};
|
||||
"mcp" = {
|
||||
"enabled" = true;
|
||||
};
|
||||
packages = [
|
||||
# "npm:@odinlayer/pi-provider-litellm"
|
||||
# "npm:pi-provider-litellm"
|
||||
"npm:@juanibiapina/pi-extension-settings"
|
||||
"git:github.com/balcsida/pi-provider-litellm"
|
||||
# "npm:pi-web-access"
|
||||
# "npm:@gotgenes/pi-permission-system"
|
||||
"npm:@vanillagreen/pi-qol"
|
||||
"npm:pi-vitals"
|
||||
"npm:pi-spark"
|
||||
"npm:@zhushanwen/pi-context-engineering"
|
||||
"npm:pi-caveman"
|
||||
"npm:@tmustier/pi-usage-extension"
|
||||
"npm:@heyhuynhgiabuu/pi-pretty"
|
||||
"npm:pi-lens"
|
||||
# "npm:pi-lean-ctx"
|
||||
# "npm:@rohaquinlop/pi-deepseek-cache"
|
||||
"npm:pi-cache-optimizer"
|
||||
];
|
||||
};
|
||||
context = "Heavily prefer to use any appropriate tools instead of raw cmd";
|
||||
};
|
||||
|
||||
# pi-vitals config
|
||||
home.file.".pi/agent/powerline.json" = {
|
||||
text = builtins.toJSON {
|
||||
leftSegments = [
|
||||
"pi"
|
||||
"separator"
|
||||
"model"
|
||||
"thinking"
|
||||
"ext_status"
|
||||
"separator"
|
||||
"path"
|
||||
"git"
|
||||
"separator"
|
||||
"token_total"
|
||||
"token_in"
|
||||
"token_out"
|
||||
"cache_read"
|
||||
"cache_write"
|
||||
];
|
||||
rightSegments = [
|
||||
"separator"
|
||||
"cost"
|
||||
"context_pct"
|
||||
];
|
||||
icons = {
|
||||
pi = "π";
|
||||
model = "◈";
|
||||
thinking = "🧠";
|
||||
folder = "📁";
|
||||
repo = "📦";
|
||||
git = "⎇";
|
||||
tokens = "⊛";
|
||||
input = "↑";
|
||||
output = "↓";
|
||||
cacheRead = "↙";
|
||||
cacheWrite = "↗";
|
||||
contextPct = "◫";
|
||||
cost = "$";
|
||||
separator = "│";
|
||||
};
|
||||
colors = {
|
||||
pi = "accent";
|
||||
model = "#d787af";
|
||||
path = "#00afaf";
|
||||
git = "success";
|
||||
gitDirty = "warning";
|
||||
gitClean = "success";
|
||||
thinking = "muted";
|
||||
context = "dim";
|
||||
contextWarn = "warning";
|
||||
contextError = "error";
|
||||
cost = "text";
|
||||
tokens = "muted";
|
||||
separator = "dim";
|
||||
};
|
||||
segmentOptions = {
|
||||
path = {
|
||||
mode = "basename";
|
||||
};
|
||||
git = {
|
||||
showBranch = true;
|
||||
showStaged = true;
|
||||
showUnstaged = true;
|
||||
showUntracked = true;
|
||||
};
|
||||
context_pct = {
|
||||
showAutoIcon = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# pi-spark config
|
||||
home.file.".pi/agent/spark.json" = {
|
||||
text = builtins.toJSON {
|
||||
editor = {
|
||||
spinner = "tildes";
|
||||
};
|
||||
footer = false;
|
||||
presets = {
|
||||
"scuggo" = {
|
||||
provider = "litellm";
|
||||
model = "meow";
|
||||
thinkingLevel = "medium";
|
||||
};
|
||||
"claude" = {
|
||||
provider = "anthropic";
|
||||
model = "claude-opus-4-8";
|
||||
thinkingLevel = "high";
|
||||
};
|
||||
"gpt" = {
|
||||
provider = "openai-codex";
|
||||
model = "gpt-5.5";
|
||||
thinkingLevel = "medium";
|
||||
};
|
||||
};
|
||||
recap = {
|
||||
idle = "5m";
|
||||
provider = "openai-codex";
|
||||
model = "gpt-5.4-mini";
|
||||
thinkingLevel = "off";
|
||||
};
|
||||
title = {
|
||||
provider = "openai-codex";
|
||||
model = "gpt-5.4-mini";
|
||||
thinkingLevel = "off";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.variables = ["--all"];
|
||||
configType = "hyprlang";
|
||||
configType = "lua";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@ root-hashed_password: ENC[AES256_GCM,data:vzVtz1Ht4XD+omdKjU/Zvoaftq8jKE4kxOjAGZ
|
||||
wakatime-scug-io-api-key: ENC[AES256_GCM,data:XQUccNW4210U8ZpHSGVcsdbAirzyTvmcy4y6emk7n4N6MO/W,iv:9/f9ceLshA7l8hJB+IDIPvEwYwSkFlPOLmpvtYXLTpU=,tag:x7hESZCouzYVNef2C+iCSA==,type:str]
|
||||
meow: ENC[AES256_GCM,data:JVzenw==,iv:oCOo9//r5s2K4pSeH5UNEj0LL+9h2yq0G0DPOfwjmyQ=,tag:0gu9FNOrjQ8fpB+B+RbGSg==,type:str]
|
||||
meoww: ENC[AES256_GCM,data:WPeszDfMWxY=,iv:JJMOror5wj7cTNKfrUj2LDXlO3WCKzb7jk4AeZ0oD+Q=,tag:qs3oyM7K1FGy5cXvS6OHpQ==,type:str]
|
||||
scug-io-ai-key: ENC[AES256_GCM,data:15YxkgOe2+Kia9z52bYbmrc8SQzpjrZKmQ==,iv:+iMkNsqGVC32THO0nvDBrRby+mKj09DvWEQJn+K6at8=,tag:mI7EvyasCKHhNc55UScCXA==,type:str]
|
||||
scug-io-ai-key: ENC[AES256_GCM,data:b2AT2+A5eoGa1eZsCYKDFg449sOgffDcQA==,iv:NDIS3x1unq6/UtjtsyBTHx5v12utagDA3BbNzs5v3L0=,tag:MhbJGATIDWyOZUqXqRAeVA==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- enc: |
|
||||
@@ -69,7 +69,7 @@ sops:
|
||||
61QsSqCuJyEwSPpOzeWa5NChcCjitOUG1jEMsSHlpIslKA1P7g/P9g==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1kc0xu0ue2nrrr7w4gam7wlzackv8jv243rxwwndgxjqklgtnp5csdtpgzp
|
||||
lastmodified: "2026-07-17T08:50:10Z"
|
||||
mac: ENC[AES256_GCM,data:WQJ8Ez/0iaRSvziyanxNUmrahir/Ocu+Dysh+qtj3FFhLMhLtPZqoX92L6Eia5pbfXOZcYZUN7uUMmSBn22JCiYUtgoeVjXV8el6GVfi1LHCGKfL25ohsjsTczJXV/+tBlVrrB3MGls9AjFqDV9QnoS/3X/a1MIRGKS3GY+OMAg=,iv:Id9I6BlrzfLpMcy1EmdVGgr9jYSf9JCsOrSiIglRTNc=,tag:gXkaSz5Z8K38Cde6gy3Zvg==,type:str]
|
||||
lastmodified: "2026-07-22T22:45:05Z"
|
||||
mac: ENC[AES256_GCM,data:jfbsnWcZ6yJSUbRn8VbONhj3oin1+DsHzJ590BbdPtikZwjD/0f06NQ86b0DI5/M+LKP4Dy5Cyf7xyJ99iWuOKbF9y12qK17IqMaNZCmPkw8Y+v7q38ESsW/Iizr3hfQ2L2GwJNTWsoifCeQphxGby7s2lKjMPYGKhYrgicZ5Fs=,iv:bbL+59d0S1fdfDInLS5z9Vx+AVW6nb0z2BNgZ+5PbUM=,tag:jJYnLsORyEuClRm/t4mwcA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.2
|
||||
|
||||
Reference in New Issue
Block a user