Compare commits

...

48 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
15 changed files with 396 additions and 148 deletions

211
flake.lock generated
View File

@@ -6,14 +6,14 @@
"llm-agents",
"nixpkgs"
],
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1769353768,
"narHash": "sha256-zI+7cbMI4wMIR57jMjDSEsVb3grapTnURDxxJPYFIW0=",
"lastModified": 1771437256,
"narHash": "sha256-bLqwib+rtyBRRVBWhMuBXPCL/OThfokA+j6+uH7jDGU=",
"owner": "numtide",
"repo": "blueprint",
"rev": "c7da5c70ad1c9b60b6f5d4f674fbe205d48d8f6c",
"rev": "06ee7190dc2620ea98af9eb225aa9627b68b0e33",
"type": "github"
},
"original": {
@@ -24,11 +24,11 @@
},
"crane": {
"locked": {
"lastModified": 1769287525,
"narHash": "sha256-gABuYA6BzoRMLuPaeO5p7SLrpd4qExgkwEmYaYQY4bM=",
"lastModified": 1771121070,
"narHash": "sha256-aIlv7FRXF9q70DNJPI237dEDAznSKaXmL5lfK/Id/bI=",
"owner": "ipetkov",
"repo": "crane",
"rev": "0314e365877a85c9e5758f9ea77a9972afbb4c21",
"rev": "a2812c19f1ed2e5ed5ce2ef7109798b575c180e1",
"type": "github"
},
"original": {
@@ -46,11 +46,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1766051518,
"narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=",
"lastModified": 1770019181,
"narHash": "sha256-hwsYgDnby50JNVpTRYlF3UR/Rrpt01OrxVuryF40CFY=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa",
"rev": "77c906c0ba56aabdbc72041bf9111b565cdd6171",
"type": "github"
},
"original": {
@@ -83,11 +83,11 @@
"doomemacs": {
"flake": false,
"locked": {
"lastModified": 1768984347,
"narHash": "sha256-VvC4rgAAaFnYLCdcUoz7dTE3kuBNuHIc+GlXOrPCxpg=",
"lastModified": 1771637851,
"narHash": "sha256-GmrqCINhfdO3EthpVG8ZsoTdfzj3vaEdz9soJwiI2HY=",
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "57818a6da90fbef39ff80d62fab2cd319496c3b9",
"rev": "ac649cce2abd1eb9d6d3f161928f9a7665b63310",
"type": "github"
},
"original": {
@@ -106,11 +106,11 @@
]
},
"locked": {
"lastModified": 1769678758,
"narHash": "sha256-ktTHIW3ZlYJSNVp3PUQNm7a4qXariT7TpRKwjlzhlZc=",
"lastModified": 1771728721,
"narHash": "sha256-03w1Ka71dJlerySoIT5ZGm/+bx0qONZIjELY4ghkxIo=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "ac11c0675cf12b591c4f132e726f391f95981d16",
"rev": "d7e50ce0c6e1ca698217a251d432799683d23831",
"type": "github"
},
"original": {
@@ -153,7 +153,25 @@
},
"flake-utils": {
"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": {
"lastModified": 1731533236,
@@ -198,11 +216,11 @@
]
},
"locked": {
"lastModified": 1769699427,
"narHash": "sha256-dAQt3qXugGhg92A+jqaUcmH0elbgEN/mV4vy1+ohLZk=",
"lastModified": 1771683283,
"narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2a08ab21abc8b482f41c521b5f9b0df5b18a67eb",
"rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a",
"type": "github"
},
"original": {
@@ -242,19 +260,41 @@
]
},
"locked": {
"lastModified": 1769596123,
"narHash": "sha256-kcElu+HiwNIJiaNH41IdemFaaGyU3TqI4ebx5CQMHFs=",
"owner": "Jovian-Experiments",
"lastModified": 1772169624,
"narHash": "sha256-YHaTNllFu90LdXqiNNoeDFnKwioa6lT+gXGGBOAvlfo=",
"owner": "Titaniumtown",
"repo": "Jovian-NixOS",
"rev": "d6bf85533180720680544a0791c7334e315c4fd6",
"rev": "68f2a686a27f0b6899b085fd6e653fffa59db444",
"type": "github"
},
"original": {
"owner": "Jovian-Experiments",
"owner": "Titaniumtown",
"ref": "pr/fix-sddm-switch-to-desktop",
"repo": "Jovian-NixOS",
"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": {
"inputs": {
"crane": "crane",
@@ -267,11 +307,11 @@
]
},
"locked": {
"lastModified": 1769417433,
"narHash": "sha256-0WZ7I/N9InaBHL96/qdiJxg8mqFW3vRla8Z062JmQFE=",
"lastModified": 1771492583,
"narHash": "sha256-nQzvnU4BGu8dA6BsPPCqmVcab/3ebVmHtX3ZWbW3Hxc=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "1902463415745b992dbaf301b2a35a1277be1584",
"rev": "5e9380994665ef66c87ab8e22c913ff837174ce4",
"type": "github"
},
"original": {
@@ -289,11 +329,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1769711683,
"narHash": "sha256-XI7DhTfATVquiC6TEwNXn6oOrDRjhkHnN4VV8oopjOw=",
"lastModified": 1771730908,
"narHash": "sha256-AkmTeSJSGniBsCbc+Oy5emrQflyTzUweOVcQLf69z1A=",
"owner": "numtide",
"repo": "llm-agents.nix",
"rev": "0a6ee6135ab795b544a3f96e9bc280168423662c",
"rev": "352ee8c439a3c2c7987f6cfaebddcf87c924959a",
"type": "github"
},
"original": {
@@ -316,11 +356,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1769714858,
"narHash": "sha256-IHHAKi8yMonZZmVHUQxew1V9UfLBG8Um9PLbNPx3OA4=",
"lastModified": 1771638124,
"narHash": "sha256-rIF69lE48tBvOMFiIyserOa0MF3SXh1ZiRqv7WqlUew=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "dfbb02586582d5332d0c06653583b9d743bce081",
"rev": "a1dac2b08c329af22200104c3c4b18de5ded6034",
"type": "github"
},
"original": {
@@ -349,11 +389,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1769577126,
"narHash": "sha256-v9vz9Rj4MGwPuhGELdvpRKl2HH+xvkgat6VwL0L86Fg=",
"lastModified": 1771305475,
"narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "f30db163b5748e8cf95c05aba77d0d3736f40543",
"rev": "a2a52911757cb3b497db9407592f9b4c439571ea",
"type": "github"
},
"original": {
@@ -371,14 +411,14 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1769677259,
"narHash": "sha256-On/Ue/+X9Ikg5vti1gnOFqP1PsOjlJgrrM6HIrngiL0=",
"lastModified": 1771663801,
"narHash": "sha256-gh0OVgAERhv1uSXzTgd0p7GioEG1Jg44FVxc72aM//A=",
"owner": "marienz",
"repo": "nix-doom-emacs-unstraightened",
"rev": "446cdd1a7c065865f79135745d835ccc04e6197e",
"rev": "0bf7a181e28a8c3d1e89b18f79b15d516f2fb670",
"type": "github"
},
"original": {
@@ -426,11 +466,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1769302137,
"narHash": "sha256-QEDtctEkOsbx8nlFh4yqPEOtr4tif6KTqWwJ37IM2ds=",
"lastModified": 1771423359,
"narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "a351494b0e35fd7c0b7a1aae82f0afddf4907aa8",
"rev": "740a22363033e9f1bb6270fbfb5a9574067af15b",
"type": "github"
},
"original": {
@@ -442,11 +482,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
@@ -456,19 +496,39 @@
"type": "github"
}
},
"oh-my-opencode": {
"noctalia": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1769737152,
"narHash": "sha256-acFesH4jvsWkHi2fbqKb0370iBvBl9djVXdfInNkwxo=",
"lastModified": 1771732280,
"narHash": "sha256-pwfFptl7m1Xu+I7eSjapRfIBtVH9rsLpzuaCouraz9U=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "341c5ee138d688ac1a7ffb1543ce2a3c9801aa34",
"type": "github"
},
"original": {
"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": "368a92b694bb130415e576b58f838f8f5ea69d8a",
"rev": "bde5264e4c3a91ded482acd35c8ed239d21d1de2",
"type": "github"
},
"original": {
@@ -488,11 +548,11 @@
]
},
"locked": {
"lastModified": 1769069492,
"narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=",
"lastModified": 1770726378,
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23",
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"type": "github"
},
"original": {
@@ -509,6 +569,7 @@
"home-manager": "home-manager",
"impermanence": "impermanence",
"jovian-nixos": "jovian-nixos",
"json2steamshortcut": "json2steamshortcut",
"lanzaboote": "lanzaboote",
"llm-agents": "llm-agents",
"niri": "niri",
@@ -516,6 +577,7 @@
"nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"noctalia": "noctalia",
"oh-my-opencode": "oh-my-opencode",
"rust-overlay": "rust-overlay",
"zen-browser": "zen-browser"
@@ -528,11 +590,11 @@
]
},
"locked": {
"lastModified": 1769655783,
"narHash": "sha256-Yq4uj+RjiE2Bw7C+7Mojdiw0kTh9xwJxUo6IjofZV+c=",
"lastModified": 1771729765,
"narHash": "sha256-HNsDSR5bhLSrIpi9bTb2uTK1qnPo1xFSBxs6YmFyprk=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "8b94aae763a09749cc153bab0b14e6ad8fc95494",
"rev": "be926cb1a76e8450ab2b92121b2e88d09fa4d41c",
"type": "github"
},
"original": {
@@ -601,6 +663,21 @@
"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": {
"inputs": {
"nixpkgs": [
@@ -609,11 +686,11 @@
]
},
"locked": {
"lastModified": 1769691507,
"narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=",
"lastModified": 1770228511,
"narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b",
"rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
"type": "github"
},
"original": {
@@ -660,11 +737,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1769713942,
"narHash": "sha256-0BtCSO2qzYK/akRDsERqRVLknCYD3FYErc+szreSHUo=",
"lastModified": 1771195969,
"narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "37ec78ee26e158b71f42e113e0e7dd9d5eb6bdb0",
"rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
"type": "github"
},
"original": {
@@ -683,11 +760,11 @@
]
},
"locked": {
"lastModified": 1769665477,
"narHash": "sha256-wD3QwqGZ1cqZDkDQanwy3HgoVL4Dooqlgta3jOu3Mng=",
"lastModified": 1771719171,
"narHash": "sha256-ZDE3//9Hg+9X5xXcDJ4k/d6qcOVQ4MrTmvf1zv/omZY=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "e97c8e719c7e2567ccf86d279f73ade1dbf72373",
"rev": "2a71f2e720db962f2522b38704e23e11163e91ae",
"type": "github"
},
"original": {

View File

@@ -65,7 +65,12 @@
};
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";
};
@@ -79,6 +84,11 @@
url = "github:yebei199/oh-my-opencode/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
json2steamshortcut = {
url = "github:ChrisOboe/json2steamshortcut";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =

View File

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

View File

@@ -9,6 +9,7 @@
imports = [
./gui.nix
./desktop.nix
inputs.json2steamshortcut.homeModules.default
];
home.packages = with pkgs; [
@@ -26,4 +27,18 @@
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
rust_pkgs = with pkgs; [
(rust-bin.stable.latest.default.override ({
(rust-bin.nightly.latest.default.override ({
extensions = [
"rust-src"
"rust-analyzer"
@@ -230,6 +230,8 @@ in
lfs.enable = true;
ignores = [ ".sisyphus" ];
settings = {
init = {
# master -> main

View File

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

View File

@@ -1,4 +1,9 @@
{ pkgs, ... }:
{
pkgs,
lib,
config,
...
}:
{
home.packages = with pkgs; [
zsh
@@ -11,4 +16,25 @@
enable = true;
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;
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 = [
{ 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,56 +7,101 @@
}:
let
# what model should be used in place of haiku?
# glm 4.7-flash is an example
haiku-model = "openrouter/z-ai/glm-4.7-flash";
haiku-model = "zai-coding-plan/glm-5";
opus-model = "openrouter/moonshotai/kimi-k2.5";
opus-model = "zai-coding-plan/glm-5";
ohMyOpencodeConfig = {
"$schema" =
"https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
agents = {
sisyphus.model = opus-model;
oracle = {
model = "openrouter/openai/gpt-5.2";
variant = "high";
};
sisyphus-junior.model = opus-model;
oracle = opus-model;
librarian.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;
metis.model = opus-model;
momus = {
model = "openrouter/openai/gpt-5.2";
variant = "medium";
};
momus = opus-model;
atlas.model = opus-model;
};
categories = {
visual-engineering.model = "openrouter/google/gemini-3-pro";
ultrabrain = {
model = "openrouter/openai/gpt-5.2-codex";
variant = "xhigh";
};
ultrabrain = opus-model;
artistry = {
model = "openrouter/google/gemini-3-pro";
variant = "max";
};
quick.model = haiku-model;
"unspecified-low".model = opus-model;
"unspecified-high".model = opus-model;
deep.model = opus-model;
writing.model = "openrouter/google/gemini-3-flash-preview";
};
};
in
{
home.packages = [
inputs.oh-my-opencode.packages.${pkgs.stdenv.hostPlatform.system}.oh-my-opencode
home.packages =
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/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 = {
package = inputs.llm-agents.packages.${pkgs.stdenv.targetPlatform.system}.opencode;
enable = true;
@@ -71,6 +116,7 @@ in
## Misc
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 run `skill_mcp [mcp_name=playwright, tool_name=browser_install]` as browsers are provided by NixOS via PLAYWRIGHT_BROWSERS_PATH.
## Behavior
Do not be sycophantic in your responses.
@@ -139,6 +185,8 @@ in
small_model = "openrouter/openai/gpt-oss-20b:free";
autoshare = false;
# note: this updates opencode (and plugins like oh-my-opencode) at launch,
# bypassing the version pinned in flake.lock
autoupdate = true;
agent = { };
plugin = [ "oh-my-opencode" ];
@@ -146,8 +194,6 @@ in
openrouter = {
models = {
"openai/gpt-oss-20b:free" = { };
"minimax/minimax-m2.1" = { };
"z-ai/glm-4.7-flash" = {};
};
options = {
# TODO! use agenix here instead

Binary file not shown.

View File

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