Compare commits

...

34 Commits

Author SHA1 Message Date
05b237f49c opencode: ditch chatgpt 2026-02-28 01:37:43 -05:00
daee9c3246 git: add opencode related file to .gitignore 2026-02-27 21:59:01 -05:00
70ca2d3323 steam: fix jovian-nixos (use my fork) 2026-02-27 01:00:27 -05:00
86ac120d54 steam: enable sddm (now required) 2026-02-26 19:22:08 -05:00
201436ef28 audio: disable rtkit to fix mumble 2026-02-26 19:17:26 -05:00
d453bc1bdd steam: upstream fix for switch-to-desktop 2026-02-25 14:39:37 -05:00
b8be06a8c7 opencode: glm-4.7 -> glm-5 2026-02-25 02:19:07 -05:00
d85434dff2 steam: add entry for prism launcher 2026-02-25 01:57:48 -05:00
b0fe816465 steam: fix switch-to-desktop
PR located here: https://github.com/Jovian-Experiments/Jovian-NixOS/pull/550
2026-02-24 22:44:03 -05:00
eaf550ded6 opencode: openrouter + glm 5 -> zai coding plan glm 4.7 2026-02-24 14:23:13 -05:00
a877826a68 update 2026-02-22 01:51:23 -05:00
1b0bd9b7f8 update 2026-02-20 14:15:01 -05:00
6c12b580e3 opencode: change models 2026-02-19 17:09:15 -05:00
fae2e84c99 update 2026-02-19 12:51:01 -05:00
2e11bf7f31 update 2026-02-18 12:47:42 -05:00
b6350e1170 update 2026-02-17 10:48:30 -05:00
00c98599d8 opencode: change multimodel looker model 2026-02-16 20:24:43 -05:00
52af5b3f47 opencode: change opus-model 2026-02-16 16:52:29 -05:00
99d51e77f0 update 2026-02-16 12:35:43 -05:00
32174c3ccb opencode: add note about autoupdate 2026-02-16 12:35:32 -05:00
eab28b1c44 opencode: fix oh-my-opencode build 2026-02-16 00:25:25 -05:00
9d663b346e update 2026-02-15 23:32:38 -05:00
de8da30b71 rust: stable -> nightly 2026-02-15 23:32:11 -05:00
5c7b5c8e9d opencode: fix playwright skill: 2 2026-02-11 19:22:46 -05:00
d8b380a9c0 opencode: fix playwright skill 2026-02-10 18:11:28 -05:00
b0650b59b7 update 2026-02-09 15:26:55 -05:00
ee5bba25b1 wifi: add network 2026-02-08 20:51:31 -05:00
13b65784b0 update 2026-02-07 01:22:32 -05:00
c767e881ba fmt 2026-02-05 15:05:09 -05:00
7d93b84ca5 opencode: fix ultrabrain model 2026-02-05 15:05:03 -05:00
587412b0be update 2026-02-05 13:26:57 -05:00
8950ee4644 emacs: all treesitter grammars 2026-02-04 15:20:29 -05:00
e2b9e27504 update 2026-02-04 14:08:24 -05:00
fc15c1369f opencode: add note about playwright browser_install 2026-02-03 14:45:15 -05:00
10 changed files with 224 additions and 92 deletions

188
flake.lock generated
View File

@@ -6,14 +6,14 @@
"llm-agents", "llm-agents",
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_2" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1769353768, "lastModified": 1771437256,
"narHash": "sha256-zI+7cbMI4wMIR57jMjDSEsVb3grapTnURDxxJPYFIW0=", "narHash": "sha256-bLqwib+rtyBRRVBWhMuBXPCL/OThfokA+j6+uH7jDGU=",
"owner": "numtide", "owner": "numtide",
"repo": "blueprint", "repo": "blueprint",
"rev": "c7da5c70ad1c9b60b6f5d4f674fbe205d48d8f6c", "rev": "06ee7190dc2620ea98af9eb225aa9627b68b0e33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -24,11 +24,11 @@
}, },
"crane": { "crane": {
"locked": { "locked": {
"lastModified": 1769737823, "lastModified": 1771121070,
"narHash": "sha256-DrBaNpZ+sJ4stXm+0nBX7zqZT9t9P22zbk6m5YhQxS4=", "narHash": "sha256-aIlv7FRXF9q70DNJPI237dEDAznSKaXmL5lfK/Id/bI=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "b2f45c3830aa96b7456a4c4bc327d04d7a43e1ba", "rev": "a2812c19f1ed2e5ed5ce2ef7109798b575c180e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -83,11 +83,11 @@
"doomemacs": { "doomemacs": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1768984347, "lastModified": 1771637851,
"narHash": "sha256-VvC4rgAAaFnYLCdcUoz7dTE3kuBNuHIc+GlXOrPCxpg=", "narHash": "sha256-GmrqCINhfdO3EthpVG8ZsoTdfzj3vaEdz9soJwiI2HY=",
"owner": "doomemacs", "owner": "doomemacs",
"repo": "doomemacs", "repo": "doomemacs",
"rev": "57818a6da90fbef39ff80d62fab2cd319496c3b9", "rev": "ac649cce2abd1eb9d6d3f161928f9a7665b63310",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -106,11 +106,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770140424, "lastModified": 1771728721,
"narHash": "sha256-OjLbCjC7TpcZ07cxSmjzELafXBay861hIhrfrRMXZ98=", "narHash": "sha256-03w1Ka71dJlerySoIT5ZGm/+bx0qONZIjELY4ghkxIo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "196631c2e3c55526c8a67bfa7f4f06aeb11ffac6", "rev": "d7e50ce0c6e1ca698217a251d432799683d23831",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -153,7 +153,25 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -198,11 +216,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769978395, "lastModified": 1771683283,
"narHash": "sha256-gj1yP3spUb1vGtaF5qPhshd2j0cg4xf51pklDsIm19Q=", "narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "984708c34d3495a518e6ab6b8633469bbca2f77a", "rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -242,19 +260,41 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769857393, "lastModified": 1772169624,
"narHash": "sha256-3sgdsShDEyA/Jd+VKS8cI2GYHfkS482zH80QcXBF77E=", "narHash": "sha256-YHaTNllFu90LdXqiNNoeDFnKwioa6lT+gXGGBOAvlfo=",
"owner": "Jovian-Experiments", "owner": "Titaniumtown",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "91d6a007c918d3e862ec2418babfe271a4f7bfaa", "rev": "68f2a686a27f0b6899b085fd6e653fffa59db444",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "Jovian-Experiments", "owner": "Titaniumtown",
"ref": "pr/fix-sddm-switch-to-desktop",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"type": "github" "type": "github"
} }
}, },
"json2steamshortcut": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1763116114,
"narHash": "sha256-0gI7PnQUDZTFjhHgg0eP1SCJOvW5gw3sQ2UAMspipnQ=",
"owner": "ChrisOboe",
"repo": "json2steamshortcut",
"rev": "b829fe2871fd1736d2406724e4abbb492527cb08",
"type": "github"
},
"original": {
"owner": "ChrisOboe",
"repo": "json2steamshortcut",
"type": "github"
}
},
"lanzaboote": { "lanzaboote": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
@@ -267,11 +307,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770064250, "lastModified": 1771492583,
"narHash": "sha256-3HB6gfnKZnwDoH77lnJktJtQWEZ+D35Oi53pNF6YwO4=", "narHash": "sha256-nQzvnU4BGu8dA6BsPPCqmVcab/3ebVmHtX3ZWbW3Hxc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lanzaboote", "repo": "lanzaboote",
"rev": "9985b98c74dcc7b1c7ccfe8693daf37caa4ed2ea", "rev": "5e9380994665ef66c87ab8e22c913ff837174ce4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -289,11 +329,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1770131791, "lastModified": 1771730908,
"narHash": "sha256-RIRWfFGjLaRjc9hadAbvyf61U+0Vos75ck2aPZQWtpw=", "narHash": "sha256-AkmTeSJSGniBsCbc+Oy5emrQflyTzUweOVcQLf69z1A=",
"owner": "numtide", "owner": "numtide",
"repo": "llm-agents.nix", "repo": "llm-agents.nix",
"rev": "fb8e3ede565da2db8e04608cc59ba3d526476984", "rev": "352ee8c439a3c2c7987f6cfaebddcf87c924959a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -316,11 +356,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1770133761, "lastModified": 1771638124,
"narHash": "sha256-3/2F3IfdyEz9ot0NytsVymt5Ma54EBBWcAc3CJKQFPE=", "narHash": "sha256-rIF69lE48tBvOMFiIyserOa0MF3SXh1ZiRqv7WqlUew=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "c44eff590edaff58ef9e34ecf38f6fbccb1be647", "rev": "a1dac2b08c329af22200104c3c4b18de5ded6034",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -349,11 +389,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1770092965, "lastModified": 1771305475,
"narHash": "sha256-++K1ftjwPqMJzIO8t2GsdkYQzC2LLA5A1w21Uo+SLz4=", "narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "189917c93329c86ac2ddd89f459c26a028d590ba", "rev": "a2a52911757cb3b497db9407592f9b4c439571ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -371,14 +411,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_3" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1770109133, "lastModified": 1771663801,
"narHash": "sha256-ZvFy7n6AEAFU9bJYE5LCecNiCXWVY6sWHu95OqJwg9E=", "narHash": "sha256-gh0OVgAERhv1uSXzTgd0p7GioEG1Jg44FVxc72aM//A=",
"owner": "marienz", "owner": "marienz",
"repo": "nix-doom-emacs-unstraightened", "repo": "nix-doom-emacs-unstraightened",
"rev": "907ed01ec980745a8cfbcb2cbf8fb0612743361f", "rev": "0bf7a181e28a8c3d1e89b18f79b15d516f2fb670",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -426,11 +466,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1769302137, "lastModified": 1771423359,
"narHash": "sha256-QEDtctEkOsbx8nlFh4yqPEOtr4tif6KTqWwJ37IM2ds=", "narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "a351494b0e35fd7c0b7a1aae82f0afddf4907aa8", "rev": "740a22363033e9f1bb6270fbfb5a9574067af15b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -442,11 +482,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1770115704, "lastModified": 1771369470,
"narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e6eae2ee2110f3d31110d5c222cd395303343b08", "rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -463,11 +503,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770139227, "lastModified": 1771732280,
"narHash": "sha256-z7k7weJ+DvPBmyITbj42kGRQOR2dp+7VyhxFOfUaQ3Y=", "narHash": "sha256-pwfFptl7m1Xu+I7eSjapRfIBtVH9rsLpzuaCouraz9U=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "ab7102a7b073adad53c4b4e09fdf07a7c68ca749", "rev": "341c5ee138d688ac1a7ffb1543ce2a3c9801aa34",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -478,17 +518,17 @@
}, },
"oh-my-opencode": { "oh-my-opencode": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1770100438, "lastModified": 1770618333,
"narHash": "sha256-E3YRaxVaAkbXkUupL2gn+QRRCZ3rn7Uc0RC3XIAXYS4=", "narHash": "sha256-7Y9e2nrsi4yKwBXZ7RUF1B5FN4RJUT4rYI1SvA0vDEw=",
"owner": "yebei199", "owner": "yebei199",
"repo": "oh-my-opencode", "repo": "oh-my-opencode",
"rev": "25103f10a09534f5ab26e97824f833404e44fb11", "rev": "bde5264e4c3a91ded482acd35c8ed239d21d1de2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -508,11 +548,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769939035, "lastModified": 1770726378,
"narHash": "sha256-Fok2AmefgVA0+eprw2NDwqKkPGEI5wvR+twiZagBvrg=", "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "a8ca480175326551d6c4121498316261cbb5b260", "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -529,6 +569,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"impermanence": "impermanence", "impermanence": "impermanence",
"jovian-nixos": "jovian-nixos", "jovian-nixos": "jovian-nixos",
"json2steamshortcut": "json2steamshortcut",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"llm-agents": "llm-agents", "llm-agents": "llm-agents",
"niri": "niri", "niri": "niri",
@@ -549,11 +590,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770088046, "lastModified": 1771729765,
"narHash": "sha256-4hfYDnUTvL1qSSZEA4CEThxfz+KlwSFQ30Z9jgDguO0=", "narHash": "sha256-HNsDSR5bhLSrIpi9bTb2uTK1qnPo1xFSBxs6YmFyprk=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "71f9daa4e05e49c434d08627e755495ae222bc34", "rev": "be926cb1a76e8450ab2b92121b2e88d09fa4d41c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -622,6 +663,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -630,11 +686,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769691507, "lastModified": 1770228511,
"narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=", "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b", "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -681,11 +737,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1770083504, "lastModified": 1771195969,
"narHash": "sha256-1CB57EPNjZOAjMeFzkG5wbzjuLuKT317alEK6JUf9sc=", "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "75c9f5e77573b36b8d341c28c0d32e9c9a0a2309", "rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -704,11 +760,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770097899, "lastModified": 1771719171,
"narHash": "sha256-FKRpvwWR96VDW4bdsxIrZgIAXvdXqsCTaV1HghCJBoQ=", "narHash": "sha256-ZDE3//9Hg+9X5xXcDJ4k/d6qcOVQ4MrTmvf1zv/omZY=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "615a27db86f3fddd0f096b5e9ea832795a4608d1", "rev": "2a71f2e720db962f2522b38704e23e11163e91ae",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -65,7 +65,7 @@
}; };
jovian-nixos = { jovian-nixos = {
url = "github:Jovian-Experiments/Jovian-NixOS"; url = "github:Titaniumtown/Jovian-NixOS/pr/fix-sddm-switch-to-desktop";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -84,6 +84,11 @@
url = "github:yebei199/oh-my-opencode/nix"; url = "github:yebei199/oh-my-opencode/nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
json2steamshortcut = {
url = "github:ChrisOboe/json2steamshortcut";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =

View File

@@ -9,6 +9,7 @@
imports = [ imports = [
./gui.nix ./gui.nix
./desktop.nix ./desktop.nix
inputs.json2steamshortcut.homeModules.default
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
@@ -26,4 +27,18 @@
obs-pipewire-audio-capture obs-pipewire-audio-capture
]; ];
}; };
services.steam-shortcuts = {
enable = true;
overwriteExisting = true;
steamUserId = lib.strings.toInt (lib.strings.trim (builtins.readFile ./secrets/steam-user-id));
shortcuts = [
{
AppName = "Prism Launcher";
Exe = "${pkgs.prismlauncher}/bin/prismlauncher";
Icon = "${pkgs.prismlauncher}/share/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg";
Tags = [ "Game" ];
}
];
};
} }

View File

@@ -10,7 +10,7 @@
}: }:
let let
rust_pkgs = with pkgs; [ rust_pkgs = with pkgs; [
(rust-bin.stable.latest.default.override ({ (rust-bin.nightly.latest.default.override ({
extensions = [ extensions = [
"rust-src" "rust-src"
"rust-analyzer" "rust-analyzer"
@@ -230,6 +230,8 @@ in
lfs.enable = true; lfs.enable = true;
ignores = [ ".sisyphus" ];
settings = { settings = {
init = { init = {
# master -> main # master -> main

View File

@@ -25,8 +25,10 @@
emacs = pkgs.emacs-unstable-pgtk; emacs = pkgs.emacs-unstable-pgtk;
extraPackages = extraPackages =
epkgs: epkgs:
with epkgs;
[ [
epkgs.dracula-theme dracula-theme
treesit-grammars.with-all-grammars
] ]
++ (with pkgs; [ ++ (with pkgs; [
shellcheck shellcheck

View File

@@ -7,56 +7,101 @@
}: }:
let let
# what model should be used in place of haiku? # what model should be used in place of haiku?
# glm 4.7-flash is an example haiku-model = "zai-coding-plan/glm-5";
haiku-model = "anthropic/claude-haiku-4-5";
opus-model = "openrouter/moonshotai/kimi-k2.5"; opus-model = "zai-coding-plan/glm-5";
ohMyOpencodeConfig = { ohMyOpencodeConfig = {
"$schema" = "$schema" =
"https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json"; "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
agents = { agents = {
sisyphus.model = opus-model; sisyphus.model = opus-model;
oracle = { sisyphus-junior.model = opus-model;
model = "openrouter/openai/gpt-5.2"; oracle = opus-model;
variant = "high";
};
librarian.model = haiku-model; librarian.model = haiku-model;
explore.model = haiku-model; explore.model = haiku-model;
multimodal-looker.model = "openrouter/google/gemini-3-flash-preview"; multimodal-looker.model = "openrouter/qwen/qwen3-vl-30b-a3b-thinking";
prometheus.model = opus-model; prometheus.model = opus-model;
metis.model = opus-model; metis.model = opus-model;
momus = { momus = opus-model;
model = "openrouter/openai/gpt-5.2";
variant = "medium";
};
atlas.model = opus-model; atlas.model = opus-model;
}; };
categories = { categories = {
visual-engineering.model = "openrouter/google/gemini-3-pro"; visual-engineering.model = "openrouter/google/gemini-3-pro";
ultrabrain = { ultrabrain = opus-model;
model = "openrouter/openai/gpt-5.2-codex";
variant = "xhigh";
};
artistry = { artistry = {
model = "openrouter/google/gemini-3-pro"; model = "openrouter/google/gemini-3-pro";
variant = "max"; variant = "max";
}; };
quick.model = haiku-model; quick.model = haiku-model;
"unspecified-low".model = opus-model; deep.model = opus-model;
"unspecified-high".model = opus-model;
writing.model = "openrouter/google/gemini-3-flash-preview"; writing.model = "openrouter/google/gemini-3-flash-preview";
}; };
}; };
in in
{ {
home.packages = [ home.packages =
inputs.oh-my-opencode.packages.${pkgs.stdenv.hostPlatform.system}.oh-my-opencode let
]; ohMyOpencode =
let
orig = inputs.oh-my-opencode.packages.${pkgs.stdenv.hostPlatform.system};
fixed-node_modules = orig.node_modules.overrideAttrs (_: {
outputHash = "sha256-qq/eEoxFELVdt4qaJkrw8XNZ/Ph/RJdsyIp7LteQE5A=";
});
in
orig.oh-my-opencode.overrideAttrs (_: {
buildPhase = ''
cp -r ${fixed-node_modules}/node_modules .
chmod -R u+w node_modules
patchShebangs node_modules/
export HOME=$(mktemp -d)
bun run build
'';
});
in
[
ohMyOpencode
pkgs.playwright-driver.browsers
];
home.sessionVariables = {
PLAYWRIGHT_BROWSERS_PATH = "${pkgs.playwright-driver.browsers}";
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
};
xdg.configFile."opencode/oh-my-opencode.json".text = builtins.toJSON ohMyOpencodeConfig; xdg.configFile."opencode/oh-my-opencode.json".text = builtins.toJSON ohMyOpencodeConfig;
xdg.configFile."opencode/skills/playwright.md".text =
let
browsers = pkgs.playwright-driver.browsers;
chromiumDir = builtins.head (
builtins.filter (n: builtins.match "chromium-[0-9]+" n != null) (
builtins.attrNames browsers.passthru.entries
)
);
chromiumPath = "${browsers}/${chromiumDir}/chrome-linux64/chrome";
in
''
---
name: playwright
description: "MUST USE for any browser-related tasks. Browser automation via Playwright MCP - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions."
mcp:
playwright:
command: npx
args:
- "@playwright/mcp@latest"
- "--executable-path"
- "${chromiumPath}"
- "--user-data-dir"
- "${config.home.homeDirectory}/.cache/playwright-mcp"
---
# Playwright Browser Automation
This skill provides browser automation capabilities via the Playwright MCP server.
'';
programs.opencode = { programs.opencode = {
package = inputs.llm-agents.packages.${pkgs.stdenv.targetPlatform.system}.opencode; package = inputs.llm-agents.packages.${pkgs.stdenv.targetPlatform.system}.opencode;
enable = true; enable = true;
@@ -71,6 +116,7 @@ in
## Misc ## Misc
For long-running commands, make sure you set the timeout of the Bash tool provided to a larger value. For long-running commands, make sure you set the timeout of the Bash tool provided to a larger value.
Do NOT read secret files. Do not directly read files that are api keys or are contextually sensitive. Do NOT read secret files. Do not directly read files that are api keys or are contextually sensitive.
Do NOT run `skill_mcp [mcp_name=playwright, tool_name=browser_install]` as browsers are provided by NixOS via PLAYWRIGHT_BROWSERS_PATH.
## Behavior ## Behavior
Do not be sycophantic in your responses. Do not be sycophantic in your responses.
@@ -139,6 +185,8 @@ in
small_model = "openrouter/openai/gpt-oss-20b:free"; small_model = "openrouter/openai/gpt-oss-20b:free";
autoshare = false; autoshare = false;
# note: this updates opencode (and plugins like oh-my-opencode) at launch,
# bypassing the version pinned in flake.lock
autoupdate = true; autoupdate = true;
agent = { }; agent = { };
plugin = [ "oh-my-opencode" ]; plugin = [ "oh-my-opencode" ];
@@ -146,7 +194,6 @@ in
openrouter = { openrouter = {
models = { models = {
"openai/gpt-oss-20b:free" = { }; "openai/gpt-oss-20b:free" = { };
"minimax/minimax-m2.1" = { };
}; };
options = { options = {
# TODO! use agenix here instead # TODO! use agenix here instead

Binary file not shown.

View File

@@ -206,7 +206,8 @@
# Enable sound with pipewire. # Enable sound with pipewire.
services.pulseaudio.enable = false; # pipewire >>>>>>> pulseaudio services.pulseaudio.enable = false; # pipewire >>>>>>> pulseaudio
security.rtkit.enable = true; # BUG! disable rtkit in order to fix mumble: https://github.com/NixOS/nixpkgs/issues/392992#issuecomment-2799867278
security.rtkit.enable = false;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;

Binary file not shown.

View File

@@ -166,6 +166,10 @@
}; };
}; };
# Jovian-NixOS requires sddm
# https://github.com/Jovian-Experiments/Jovian-NixOS/commit/52f140c07493f8bb6cd0773c7e1afe3e1fd1d1fa
services.displayManager.sddm.wayland.enable = true;
# Disable gamescope from common.nix to avoid conflict with jovian-nixos # Disable gamescope from common.nix to avoid conflict with jovian-nixos
programs.gamescope.enable = lib.mkForce false; programs.gamescope.enable = lib.mkForce false;
} }