Compare commits

...

53 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
c505a71ab1 enable geoclue2 2026-02-03 13:32:46 -05:00
d5eda18b84 noctalia stuff 2026-02-03 13:29:34 -05:00
d6f7dab062 noctalia 2026-02-03 13:20:14 -05:00
d0de943224 opencode: don't use glm-4.7-flash 2026-02-03 12:54:53 -05:00
22823ff55f update 2026-02-03 12:49:33 -05:00
d1ceb9fa6f waydroid -> waydroid-nftables 2026-02-02 13:33:49 -05:00
f776045d82 vm: enable + android 2026-02-02 13:23:10 -05:00
ff4192b3fc update 2026-02-02 13:08:00 -05:00
d8e3ed76ee oh-my-opencode: update 2026-02-02 13:05:18 -05:00
c4656c11d5 Reapply "oh-my-opencode: move to fork and update"
This reverts commit bc6e196548.
2026-02-02 13:05:01 -05:00
f648c7444d update 2026-01-31 00:56:31 -05:00
bc6e196548 Revert "oh-my-opencode: move to fork and update"
This reverts commit 94f98ae34c.
2026-01-31 00:56:23 -05:00
498154eb15 1gb hugepages 2026-01-31 00:53:37 -05:00
83a5e1b278 fmt 2026-01-31 00:53:29 -05:00
70ddbb1bf5 opencode: add note about coordinates and UI interaction 2026-01-29 21:09:48 -05:00
94f98ae34c oh-my-opencode: move to fork and update 2026-01-29 21:09:28 -05:00
aae9549f8a update 2026-01-29 14:51:34 -05:00
1052b54dfb opencode: overhaul oh-my-opencode config 2026-01-28 13:38:41 -05:00
0e3b77cc59 opencode: fix oh-my-opencode Prometheus + Atlas 2026-01-28 12:47:43 -05:00
15 changed files with 416 additions and 142 deletions

217
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": 1769287525, "lastModified": 1771121070,
"narHash": "sha256-gABuYA6BzoRMLuPaeO5p7SLrpd4qExgkwEmYaYQY4bM=", "narHash": "sha256-aIlv7FRXF9q70DNJPI237dEDAznSKaXmL5lfK/Id/bI=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "0314e365877a85c9e5758f9ea77a9972afbb4c21", "rev": "a2812c19f1ed2e5ed5ce2ef7109798b575c180e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -46,11 +46,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1766051518, "lastModified": 1770019181,
"narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", "narHash": "sha256-hwsYgDnby50JNVpTRYlF3UR/Rrpt01OrxVuryF40CFY=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", "rev": "77c906c0ba56aabdbc72041bf9111b565cdd6171",
"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": 1769594889, "lastModified": 1771728721,
"narHash": "sha256-15Sb7QhUEFrRAzRMxaiGxCQxddkFAydA5ZtYRoL/Z00=", "narHash": "sha256-03w1Ka71dJlerySoIT5ZGm/+bx0qONZIjELY4ghkxIo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "4e58fc3fa871106900fab58a7ade8736c315d5af", "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": 1769579508, "lastModified": 1771683283,
"narHash": "sha256-EE2bs7xFrC64qrj0N2zP6E6e/nmhcdw6v/grdYi+BiY=", "narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "eec72f127831326b042d1f35003767a4ab6a9516", "rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -242,19 +260,41 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769596123, "lastModified": 1772169624,
"narHash": "sha256-kcElu+HiwNIJiaNH41IdemFaaGyU3TqI4ebx5CQMHFs=", "narHash": "sha256-YHaTNllFu90LdXqiNNoeDFnKwioa6lT+gXGGBOAvlfo=",
"owner": "Jovian-Experiments", "owner": "Titaniumtown",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "d6bf85533180720680544a0791c7334e315c4fd6", "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": 1769417433, "lastModified": 1771492583,
"narHash": "sha256-0WZ7I/N9InaBHL96/qdiJxg8mqFW3vRla8Z062JmQFE=", "narHash": "sha256-nQzvnU4BGu8dA6BsPPCqmVcab/3ebVmHtX3ZWbW3Hxc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lanzaboote", "repo": "lanzaboote",
"rev": "1902463415745b992dbaf301b2a35a1277be1584", "rev": "5e9380994665ef66c87ab8e22c913ff837174ce4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -289,11 +329,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1769611617, "lastModified": 1771730908,
"narHash": "sha256-+bDjPaUXXvZ+eGNeqGcZQM1ontShZKIkhW5aiSM0SIk=", "narHash": "sha256-AkmTeSJSGniBsCbc+Oy5emrQflyTzUweOVcQLf69z1A=",
"owner": "numtide", "owner": "numtide",
"repo": "llm-agents.nix", "repo": "llm-agents.nix",
"rev": "08381f74f518ef4963c43b562cc17f9c134173d7", "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": 1769582851, "lastModified": 1771638124,
"narHash": "sha256-T2a9J3iZ+p+dSmrd8mGgehvXrzwnFlMF22BmBqYHkVg=", "narHash": "sha256-rIF69lE48tBvOMFiIyserOa0MF3SXh1ZiRqv7WqlUew=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "8942525e9d5c79f6b47cffef4992454c9b3f9b69", "rev": "a1dac2b08c329af22200104c3c4b18de5ded6034",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -349,11 +389,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1769577126, "lastModified": 1771305475,
"narHash": "sha256-v9vz9Rj4MGwPuhGELdvpRKl2HH+xvkgat6VwL0L86Fg=", "narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "f30db163b5748e8cf95c05aba77d0d3736f40543", "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": 1769590344, "lastModified": 1771663801,
"narHash": "sha256-IO71Efl9r0mKH+ZSLe9Xj4ZzKp75TE8t8otPS57/O3I=", "narHash": "sha256-gh0OVgAERhv1uSXzTgd0p7GioEG1Jg44FVxc72aM//A=",
"owner": "marienz", "owner": "marienz",
"repo": "nix-doom-emacs-unstraightened", "repo": "nix-doom-emacs-unstraightened",
"rev": "3fc11d166b98a685b13de7f5f7ca787b8568b8b7", "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": 1769461804, "lastModified": 1771369470,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -456,23 +496,43 @@
"type": "github" "type": "github"
} }
}, },
"oh-my-opencode": { "noctalia": {
"inputs": { "inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1769620461, "lastModified": 1771732280,
"narHash": "sha256-0bkdu0vuxg6jrLY1Bo7SPLHsKBeClxznmDGMsxC/wt8=", "narHash": "sha256-pwfFptl7m1Xu+I7eSjapRfIBtVH9rsLpzuaCouraz9U=",
"owner": "titaniumtown", "owner": "noctalia-dev",
"repo": "oh-my-opencode", "repo": "noctalia-shell",
"rev": "95f5e85721a185c5b682cfa0157920c865849a73", "rev": "341c5ee138d688ac1a7ffb1543ce2a3c9801aa34",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "titaniumtown", "owner": "noctalia-dev",
"repo": "noctalia-shell",
"type": "github"
}
},
"oh-my-opencode": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1770618333,
"narHash": "sha256-7Y9e2nrsi4yKwBXZ7RUF1B5FN4RJUT4rYI1SvA0vDEw=",
"owner": "yebei199",
"repo": "oh-my-opencode",
"rev": "bde5264e4c3a91ded482acd35c8ed239d21d1de2",
"type": "github"
},
"original": {
"owner": "yebei199",
"ref": "nix", "ref": "nix",
"repo": "oh-my-opencode", "repo": "oh-my-opencode",
"type": "github" "type": "github"
@@ -488,11 +548,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769069492, "lastModified": 1770726378,
"narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -509,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",
@@ -516,6 +577,7 @@
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"noctalia": "noctalia",
"oh-my-opencode": "oh-my-opencode", "oh-my-opencode": "oh-my-opencode",
"rust-overlay": "rust-overlay", "rust-overlay": "rust-overlay",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
@@ -528,11 +590,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769568593, "lastModified": 1771729765,
"narHash": "sha256-vf3cZf8imUlPzFtICa1uyReDzoPV0XhHOIRM3tqI5VY=", "narHash": "sha256-HNsDSR5bhLSrIpi9bTb2uTK1qnPo1xFSBxs6YmFyprk=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "6fe5039018d05cee5d01dda7df1c0846fb7943a4", "rev": "be926cb1a76e8450ab2b92121b2e88d09fa4d41c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -601,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": [
@@ -609,11 +686,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769515380, "lastModified": 1770228511,
"narHash": "sha256-CWWK3PaQ7zhr+Jcf5zyaTR2cfRBXPo09H7+5nWApL8s=", "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "9911802c2822def2eec3d22e2cafd1619ede94a5", "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -660,11 +737,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1769356222, "lastModified": 1771195969,
"narHash": "sha256-Q0BVubV9ZnmLs506EhBSPglM+YJK56wsQNbeecvWPUo=", "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "cf14278b92b0a91d01587f09b4b00ea655ae24e6", "rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -683,11 +760,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769589275, "lastModified": 1771719171,
"narHash": "sha256-hU6J/bU8mHhJrV/asVDQ9oY7gcH/MMSOGtr4iOYy8lc=", "narHash": "sha256-ZDE3//9Hg+9X5xXcDJ4k/d6qcOVQ4MrTmvf1zv/omZY=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "a318ae926a6f96cce4cb8498ad986b33a6d44b21", "rev": "2a71f2e720db962f2522b38704e23e11163e91ae",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -65,7 +65,12 @@
}; };
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";
};
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -76,7 +81,12 @@
# wait for https://github.com/code-yeongyu/oh-my-opencode/pull/921 to be merged # wait for https://github.com/code-yeongyu/oh-my-opencode/pull/921 to be merged
oh-my-opencode = { oh-my-opencode = {
url = "github:titaniumtown/oh-my-opencode/nix"; url = "github:yebei199/oh-my-opencode/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
json2steamshortcut = {
url = "github:ChrisOboe/json2steamshortcut";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };

View File

@@ -10,13 +10,16 @@
./progs/niri.nix ./progs/niri.nix
# statusbar # statusbar
./progs/eww/eww.nix # ./progs/eww/eww.nix
# lockscreen # lockscreen
./progs/swaylock.nix ./progs/swaylock.nix
# notification daemon # notification daemon
./progs/dunst.nix ./progs/dunst.nix
# noctalia desktop shell
./progs/noctalia.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [

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

@@ -1,4 +1,9 @@
{ pkgs, ... }: {
pkgs,
lib,
config,
...
}:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
zsh zsh
@@ -11,4 +16,25 @@
enable = true; enable = true;
configDir = ./config; configDir = ./config;
}; };
programs.niri.settings.spawn-at-startup = [
{
command = [
(lib.getExe config.programs.eww.package)
"-c"
"${config.programs.eww.configDir}"
"open"
"statusbar"
];
}
# swaybg works on more than just sway (sets a wallpaper)
{
command = [
(lib.getExe pkgs.swaybg)
"-i"
"${../wallpaper.png}"
];
}
];
} }

View File

@@ -60,27 +60,6 @@ in
xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite; xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite;
spawn-at-startup = [
{
command = [
(lib.getExe config.programs.eww.package)
"-c"
"${config.programs.eww.configDir}"
"open"
"statusbar"
];
}
# swaybg works on more than just sway (sets a wallpaper)
{
command = [
(lib.getExe pkgs.swaybg)
"-i"
"${../wallpaper.png}"
];
}
];
window-rules = [ window-rules = [
{ draw-border-with-background = false; } { draw-border-with-background = false; }
{ {

View File

@@ -0,0 +1,92 @@
{
pkgs,
inputs,
config,
lib,
...
}:
{
imports = [
inputs.noctalia.homeModules.default
];
programs.noctalia-shell = {
enable = true;
settings = {
bar = {
position = "top";
floating = true;
backgroundOpacity = 0.93;
};
general = {
animationSpeed = 1.5;
radiusRatio = 1.2;
};
colorSchemes = {
darkMode = true;
useWallpaperColors = true;
};
location = {
weatherEnabled = false;
};
wallpaper = {
enabled = true;
};
};
};
home.file.".cache/noctalia/wallpapers.json" = {
text = builtins.toJSON {
defaultWallpaper = "${../wallpaper.png}";
wallpapers = { };
};
};
programs.niri.settings = {
spawn-at-startup = [
{
command = [
"noctalia-shell"
];
}
]; # place noctalia overview wallpaper on the backdrop layer
layer-rules = [
{
matches = [
{ namespace = "^noctalia-overview*"; }
];
place-within-backdrop = true;
}
];
# allow notification actions and window activation from noctalia
debug = {
honor-xdg-activation-with-invalid-serial = [ ];
};
binds =
with config.lib.niri.actions;
let
noctalia =
cmd:
[
"noctalia-shell"
"ipc"
"call"
]
++ (lib.splitString " " cmd);
in
{
# noctalia shell keybinds
"Mod+D".action = spawn (noctalia "launcher toggle");
"Mod+A".action = spawn (noctalia "controlCenter toggle");
"Mod+Escape".action = spawn (noctalia "sessionMenu toggle");
"Mod+Shift+X".action = spawn (noctalia "lockScreen lock");
"Mod+N".action = spawn (noctalia "notifications toggleHistory");
};
};
}

View File

@@ -7,33 +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 = "openrouter/z-ai/glm-4.7-flash";
opus-model = "zai-coding-plan/glm-5";
opus-model = "openrouter/moonshotai/kimi-k2.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;
sisyphus-junior.model = opus-model;
oracle = opus-model;
librarian.model = haiku-model; librarian.model = haiku-model;
explore.model = haiku-model; explore.model = haiku-model;
oracle.model = "openrouter/openai/gpt-5.2"; multimodal-looker.model = "openrouter/qwen/qwen3-vl-30b-a3b-thinking";
frontend-ui-ux-engineer.model = "openrouter/google/gemini-3-pro-preview";
document-writer.model = opus-model; prometheus.model = opus-model;
multimodal-looker.model = haiku-model; metis.model = opus-model;
momus = opus-model;
atlas.model = opus-model;
};
categories = {
visual-engineering.model = "openrouter/google/gemini-3-pro";
ultrabrain = opus-model;
artistry = {
model = "openrouter/google/gemini-3-pro";
variant = "max";
};
quick.model = haiku-model;
deep.model = opus-model;
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;
@@ -48,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.
@@ -102,6 +171,8 @@ in
Typical Flow Typical Flow
1. Take screenshot analyze with explore agent (get rough layout) 1. Take screenshot analyze with explore agent (get rough layout)
2. Dump UI hierarchy grep for exact element bounds 2. Dump UI hierarchy grep for exact element bounds
- NEVER ASSUME COORDINATES. You must ALWAYS check first.
- Do this before ANY tap action as elements on the screen may of changed.
3. Calculate center coordinates from bounds 3. Calculate center coordinates from bounds
4. Tap/interact 4. Tap/interact
5. Wait screenshot verify result 5. Wait screenshot verify result
@@ -114,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" ];
@@ -121,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

@@ -11,7 +11,7 @@
}: }:
{ {
imports = [ imports = [
# ./vm.nix ./vm.nix
./steam.nix ./steam.nix
./networking.nix ./networking.nix
@@ -122,6 +122,13 @@
"msr" "msr"
"btusb" "btusb"
]; ];
kernelParams = [
# 1gb huge pages
"hugepagesz=1G"
"hugepages=3"
];
}; };
environment.etc = { environment.etc = {
@@ -157,6 +164,12 @@
# power statistics # power statistics
upower.enable = true; upower.enable = true;
# power profiles for noctalia shell
power-profiles-daemon.enable = true;
# geolocation (uses beacondb.net by default)
geoclue2.enable = true;
}; };
# EST # EST
@@ -193,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;
} }

View File

@@ -5,6 +5,14 @@
... ...
}: }:
{ {
# android virtualization
virtualisation.waydroid = {
enable = true;
# https://github.com/NixOS/nixpkgs/pull/466473
package = pkgs.waydroid-nftables;
};
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
users.groups.libvirtd.members = [ username ]; users.groups.libvirtd.members = [ username ];
@@ -13,36 +21,6 @@
enable = true; enable = true;
package = pkgs.libvirt; package = pkgs.libvirt;
qemu = {
package = (
pkgs.qemu_kvm.overrideAttrs (old: {
patches = old.patches ++ [
# amd?
(pkgs.fetchpatch {
url = "https://github.com/Scrut1ny/Hypervisor-Phantom/raw/d09d66813570704e2b05440f290d6f9bdf2d26c7/Hypervisor-Phantom/patches/QEMU/amd-qemu-9.2.0.patch";
sha256 = "BbzgjRa3qaYH1yXXqU6M/S68SxXWpAc9ObTG5qXu6YA=";
})
# or intel!
/*
(pkgs.fetchpatch {
url = "https://github.com/Scrut1ny/Hypervisor-Phantom/raw/d09d66813570704e2b05440f290d6f9bdf2d26c7/Hypervisor-Phantom/patches/QEMU/intel-qemu-9.2.0.patch";
sha256 = "kXY6R/0Tsotf0mGUIevDLlLWHEznnF1dt0K2ayX7XAg=";
})
*/
];
})
);
ovmf.packages = lib.mkForce [
(pkgs.OVMF.overrideAttrs (old: {
secureBoot = true;
tpmSupport = true;
# TODO! add patches from: https://github.com/Scrut1ny/Hypervisor-Phantom/tree/main/Hypervisor-Phantom/patches/EDK2
})).fd
];
};
}; };
virtualisation.spiceUSBRedirection.enable = true; virtualisation.spiceUSBRedirection.enable = true;