Compare commits
26
Commits
0db970c161
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
601eae6362 | ||
|
|
2de49b5204 | ||
|
|
7064bbebe3 | ||
|
|
9c94b70c93 | ||
|
|
afc5bc3aa6 | ||
|
|
ff5fef0596 | ||
|
|
207b794431 | ||
|
|
fb3e39f0ce | ||
|
|
9b1be8eca4 | ||
|
|
890dc4cb2c | ||
|
|
31d47b00e5 | ||
|
|
6a311045a4 | ||
|
|
808b6628c8 | ||
|
|
b58b7e84d1 | ||
|
|
fbba78e358 | ||
|
|
38fa16eda6 | ||
|
|
33d0c85ef4 | ||
|
|
f2cc6b59ef | ||
|
|
f0e98a2ac7 | ||
|
|
6a67324c6d | ||
|
|
c90f5a5857 | ||
|
|
69082a07f2 | ||
|
|
d2b39a3f2d | ||
|
|
de16245929 | ||
|
|
b01084482f | ||
|
|
66b1dc72f5 |
@@ -161,6 +161,7 @@ Every module in m3ta-home has an `enable` option. Base modules default to `true`
|
||||
### Available Flags
|
||||
|
||||
```
|
||||
base.cliTools.ansible.enable # Ansible (config rollout to servers)
|
||||
base.shell.fish.enable # Fish shell
|
||||
base.shell.nushell.enable # Nushell
|
||||
base.shell.starship.enable # Starship prompt
|
||||
|
||||
Generated
+169
-146
@@ -34,11 +34,11 @@
|
||||
"rev": "75a2ed2533b4d6d8e4a34acd37e83d98d81a5fb0",
|
||||
"revCount": 30,
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib"
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib-legacy"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib"
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib-legacy"
|
||||
}
|
||||
},
|
||||
"agents": {
|
||||
@@ -99,20 +99,59 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785348116,
|
||||
"narHash": "sha256-AVycTcomtfvQJ/AHvMg5xu7lVoOzDXxjN+pV7mqUIQ4=",
|
||||
"lastModified": 1785979955,
|
||||
"narHash": "sha256-OP96Ak4OBydR98keoNYKdGY8j+wrIys0LafSZgwS20g=",
|
||||
"owner": "basecamp",
|
||||
"repo": "basecamp-cli",
|
||||
"rev": "e1059fb123a03295ce6176272e4bbaf43d7971c6",
|
||||
"rev": "61a5591de1da9bc99c56b8072a4d6bad2c9b9e47",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "basecamp",
|
||||
"ref": "v0.8.0-rc.1",
|
||||
"ref": "v0.9.0",
|
||||
"repo": "basecamp-cli",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"buzz": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"m3ta-nixpkgs",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1788856318,
|
||||
"narHash": "sha256-bOLED82KPrzIXTWELw30y3PVI6MBmlY4Y2F2lwrdOnM=",
|
||||
"owner": "mulatta",
|
||||
"repo": "buzz.nix",
|
||||
"rev": "fdd0152c12c6be339fe01d91887122bb10823aaf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mulatta",
|
||||
"repo": "buzz.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dank-qml-common": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1788376015,
|
||||
"narHash": "sha256-/tT8rTznLADndTwLBzdgzzgfJH1ZhYQibYo5v/F8U+U=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dank-qml-common",
|
||||
"rev": "26396ce432d6c71c3f5367438f96f4a8d667e160",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dank-qml-common",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -137,17 +176,18 @@
|
||||
},
|
||||
"dms": {
|
||||
"inputs": {
|
||||
"dank-qml-common": "dank-qml-common",
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785111455,
|
||||
"narHash": "sha256-aTNuC9NDBnYAeEtFsleeUwmGX3AZlKOutbl+LQRPkmQ=",
|
||||
"lastModified": 1788959433,
|
||||
"narHash": "sha256-MAbxGEomcpGomFfw+WYurNkSKBIh7PKEc1U5OV0X6oU=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "DankMaterialShell",
|
||||
"rev": "069ddab041c738236a8910e4c39b65d9628d3018",
|
||||
"rev": "fe293b7379a51f62a4db7043fc09df71f78e72ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -164,11 +204,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785375021,
|
||||
"narHash": "sha256-SV24PP3ctDSAuQjg0LdYAvzN7GEustIrtZfciiSrgRI=",
|
||||
"lastModified": 1789138529,
|
||||
"narHash": "sha256-46RwWSOzklur59Plvo8N0YBZYun4M4cwK04+8owhJeo=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dms-plugin-registry",
|
||||
"rev": "672e213a1e20b980708d81bd82df9bf85c15a590",
|
||||
"rev": "5e5d72f980f5f16503b8fd0b8b66c4a3441eecdc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -201,11 +241,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -238,25 +278,26 @@
|
||||
"hermes-agent": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"npm-lockfile-fix": "npm-lockfile-fix",
|
||||
"pyproject-build-systems": "pyproject-build-systems",
|
||||
"pyproject-nix": "pyproject-nix_2",
|
||||
"uv2nix": "uv2nix_2"
|
||||
"pyproject-nix": "pyproject-nix",
|
||||
"uv2nix": "uv2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782936460,
|
||||
"narHash": "sha256-Wt72AQtA6Eizi7Ubj23JBhwZ7GKYcjY4mcV6upqHOaU=",
|
||||
"lastModified": 1788204567,
|
||||
"narHash": "sha256-Ii9xP2fKUpvCcwWZuxJ0g3CZ+IL2UZH14pUNvBfdclc=",
|
||||
"owner": "NousResearch",
|
||||
"repo": "hermes-agent",
|
||||
"rev": "7c1a029553d87c43ecff8a3821336bc95872213b",
|
||||
"rev": "29112bef099274229cadff79cdff7bf7b99c4b77",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NousResearch",
|
||||
"ref": "v2026.7.1",
|
||||
"ref": "v2026.8.31",
|
||||
"repo": "hermes-agent",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -285,15 +326,36 @@
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785306346,
|
||||
"narHash": "sha256-DScBkW0fOgpGPK2trNoX3ryLTlaC14+gglFo/BhGJ4g=",
|
||||
"lastModified": 1786487128,
|
||||
"narHash": "sha256-ad60hrRVhH/bo3Jl1YLzO+QcS3mUNZr9LNJdzhMO2P4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e705714e918c3b11affcdd15db2cbe3a070420a0",
|
||||
"rev": "f404edbfa4117810c96b97048299242fc50e5362",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1789136855,
|
||||
"narHash": "sha256-82D7ADWE8erhfALj3dqxAOeQaoa+Bwlsdcp9v2m/ExM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d0fd95e15e0c3baf565a9fd4bc352321e2564ea3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -306,19 +368,19 @@
|
||||
"inputs": {
|
||||
"agents": "agents_2",
|
||||
"basecamp": "basecamp",
|
||||
"buzz": "buzz",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"opencode": "opencode",
|
||||
"openspec": "openspec"
|
||||
"opencode": "opencode"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785670526,
|
||||
"narHash": "sha256-tC1CW+Kxh9ZZxJC0y472i0KoieMqNwNi+AiCmS4n7To=",
|
||||
"lastModified": 1789141095,
|
||||
"narHash": "sha256-f5NLbwOwSQL+tDDelxps1VFh84obOMyw+ox9gcvE7TU=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "69fce234a8607cd3e71233831564b8ceeba70626",
|
||||
"revCount": 374,
|
||||
"rev": "1e0db37c579935b9916c1fcb3d3ed733b4cb3114",
|
||||
"revCount": 389,
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
|
||||
},
|
||||
@@ -379,11 +441,11 @@
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1785386845,
|
||||
"narHash": "sha256-CvXXTgWxbwTn6Diev4nLTP5+8tsFtth/SQAtaR9iVY0=",
|
||||
"lastModified": 1789139724,
|
||||
"narHash": "sha256-QEoQ8xoSO3H2tmwHNBYFL/5Y8Gt10U+bg5ETMsWXiIM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3c5a718ce27c9283364d4c664fac4e4a23acdfb4",
|
||||
"rev": "e27e37949736566430ed2f6157bebcdade8860c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -427,11 +489,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1785318670,
|
||||
"narHash": "sha256-dN6Ou5x/+23FZLEpYP3IffO+NyJFzUlGumt1uu3MMaY=",
|
||||
"lastModified": 1789006805,
|
||||
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5",
|
||||
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -443,11 +505,11 @@
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1785318670,
|
||||
"narHash": "sha256-dN6Ou5x/+23FZLEpYP3IffO+NyJFzUlGumt1uu3MMaY=",
|
||||
"lastModified": 1789006805,
|
||||
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0954f7ee2f6bb3dc7d4e3d0d8bcb8fd4bde4cfc5",
|
||||
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -484,11 +546,11 @@
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785395064,
|
||||
"narHash": "sha256-ZZoXKpTETeIU93xQOxleE27JWT1FcpF9pe1nSPrFbuw=",
|
||||
"lastModified": 1789141061,
|
||||
"narHash": "sha256-T2+uq8rR7zvUFh7/R8DQgsf2AGrUO3EPpr1iv7Jby8Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "cce2408845d0298ae0dcc42582c1d8b390de105c",
|
||||
"rev": "4250406d791dcb1db2b1ce7bd223ac3ee120cfe3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -502,11 +564,11 @@
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785386452,
|
||||
"narHash": "sha256-iYfkMmn1ZKbi0cv8XIAXVgPH4idzsVSK4cWyi/KGMJQ=",
|
||||
"lastModified": 1789132601,
|
||||
"narHash": "sha256-2+j5RuHoqrsnjssZ4VfIfSKzGdrPNFT4nazJ2QxNdu0=",
|
||||
"owner": "anomalyco",
|
||||
"repo": "opencode",
|
||||
"rev": "f7204902192624481e526b1852cdedaadb914e24",
|
||||
"rev": "95daf90670b7c039c436c85537da5fbfe2205b41",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -516,42 +578,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"openspec": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"m3ta-nixpkgs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785371113,
|
||||
"narHash": "sha256-r3fwnb5gMTV9UXBj7bqkKpTZIWwF4AgghULOIv2Fr4c=",
|
||||
"owner": "Fission-AI",
|
||||
"repo": "OpenSpec",
|
||||
"rev": "2b3d368539132be6311e55db58899abbf5306b81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Fission-AI",
|
||||
"repo": "OpenSpec",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-build-systems": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": "pyproject-nix",
|
||||
"uv2nix": "uv2nix"
|
||||
"pyproject-nix": [
|
||||
"hermes-agent",
|
||||
"pyproject-nix"
|
||||
],
|
||||
"uv2nix": [
|
||||
"hermes-agent",
|
||||
"uv2nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772555609,
|
||||
"narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=",
|
||||
"lastModified": 1785115949,
|
||||
"narHash": "sha256-8AM37BfyGaL2v/SZyg4PupRxJ01Y4htvM+WrTjWrPpo=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"rev": "c37f66a953535c394244888598947679af231863",
|
||||
"rev": "62c0d86027edb1c4f39a5facc09876348144f7c9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -564,59 +611,15 @@
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"pyproject-build-systems",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769936401,
|
||||
"narHash": "sha256-kwCOegKLZJM9v/e/7cqwg1p/YjjTAukKPqmxKnAZRgA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "b0d513eeeebed6d45b4f2e874f9afba2021f7812",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "pyproject.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772865871,
|
||||
"narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=",
|
||||
"lastModified": 1784591072,
|
||||
"narHash": "sha256-zP/WaDxrRu8GANZM61+V2LT/7ycEEdoyLWn7M6WzU7M=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "e537db02e72d553cea470976b9733581bcf5b3ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"uv2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771518446,
|
||||
"narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
|
||||
"rev": "e3b599ca2e7fcf93d4edf65d7f19bbf6491724f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -633,13 +636,35 @@
|
||||
"dms": "dms",
|
||||
"dms-plugin-registry": "dms-plugin-registry",
|
||||
"hermes-agent": "hermes-agent",
|
||||
"home-manager": "home-manager_2",
|
||||
"home-manager": "home-manager_3",
|
||||
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
||||
"nix-colors": "nix-colors",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nur": "nur"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"m3ta-nixpkgs",
|
||||
"buzz",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1788591095,
|
||||
"narHash": "sha256-Vh+BeLWfbTT9AecazIsQ/Tkg/RzJeX3lEduANf256WA=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "c361047d3a538f547f1617bb6b410411929ac9cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -655,47 +680,45 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"m3ta-nixpkgs",
|
||||
"buzz",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1786901030,
|
||||
"narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"pyproject-build-systems",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"hermes-agent",
|
||||
"pyproject-build-systems",
|
||||
"pyproject-nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770770348,
|
||||
"narHash": "sha256-A2GzkmzdYvdgmMEu5yxW+xhossP+txrYb7RuzRaqhlg=",
|
||||
"lastModified": 1785277507,
|
||||
"narHash": "sha256-9Tq3UDX2hD/aveW/HvkBlAmEwJTOlY5HQXJM+L5BGmE=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"rev": "5d1b2cb4fe3158043fbafbbe2e46238abbc954b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hermes-agent",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": "pyproject-nix_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773039484,
|
||||
"narHash": "sha256-+boo33KYkJDw9KItpeEXXv8+65f7hHv/earxpcyzQ0I=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"rev": "b68be7cfeacbed9a3fa38a2b5adc0cfb81d9bb1f",
|
||||
"rev": "5a836d395cbf5fc22670eb98dd4aa4fc4d406977",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
m3ta-nixpkgs = {
|
||||
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs";
|
||||
# url = "path:/home/m3tam3re/p/NIX/nixpkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -22,13 +23,13 @@
|
||||
};
|
||||
|
||||
agent-lib = {
|
||||
# url = "path:/home/m3tam3re/p/NIX/agent-lib";
|
||||
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib";
|
||||
# url = "path:/home/m3tam3re/p/agent-lib-legacy";
|
||||
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib-legacy";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hermes-agent = {
|
||||
url = "github:NousResearch/hermes-agent/v2026.7.1";
|
||||
url = "github:NousResearch/hermes-agent/v2026.8.31";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Ansible — configuration management for rolling out configurations to servers.
|
||||
# Lives in base so it is available in every identity (private/work) and context.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.base.cliTools.ansible;
|
||||
in {
|
||||
# Enabled by default — base modules are always-on.
|
||||
options.base.cliTools.ansible.enable = (mkEnableOption "enable Ansible configuration management") // {default = true;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
ansible
|
||||
ansible-lint
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
# CLI tools aggregator — imports all base command-line utilities.
|
||||
{...}: {
|
||||
imports = [
|
||||
./ansible.nix
|
||||
./bat.nix
|
||||
./carapace.nix
|
||||
./direnv.nix
|
||||
|
||||
@@ -11,6 +11,8 @@ in {
|
||||
options.desktop.apps.office.enable = mkEnableOption "install office and paperwork apps";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [pkgs.libreoffice-fresh];
|
||||
# libreoffice-fresh warns: upstream changed versioning; -stable is the
|
||||
# supported attr now.
|
||||
home.packages = [pkgs.libreoffice-stable];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,7 +4,20 @@
|
||||
m3taHomeInputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
# WORKAROUND (2026-09-12): hermes-agent v2026.8.31 pins a stale hash for
|
||||
# the Electron 43.6.0 headers artifact (the CDN swapped the file). Build
|
||||
# the desktop app from a local copy of upstream's nix/desktop.nix with
|
||||
# the verified hash. Remove when upstream fixes it and the input is bumped.
|
||||
hermesDesktopFixed = let
|
||||
hermesAgent = m3taHomeInputs.hermes-agent.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
in
|
||||
pkgs.callPackage ./hermes-desktop.nix {
|
||||
inherit hermesAgent;
|
||||
hermesNpmLib = hermesAgent.hermesNpmLib;
|
||||
hermesSrc = m3taHomeInputs.hermes-agent.outPath;
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
./wm
|
||||
./apps
|
||||
@@ -72,7 +85,7 @@
|
||||
(element-desktop.override {
|
||||
commandLineArgs = "--password-store=gnome-libsecret";
|
||||
})
|
||||
m3taHomeInputs.hermes-agent.packages.${pkgs.stdenv.hostPlatform.system}.desktop
|
||||
hermesDesktopFixed
|
||||
launch-webapp
|
||||
file-roller
|
||||
gsettings-desktop-schemas
|
||||
|
||||
@@ -0,0 +1,244 @@
|
||||
# hermes-desktop.nix — local copy of hermes-agent's nix/desktop.nix
|
||||
#
|
||||
# WORKAROUND for an upstream build failure (hermes-agent v2026.8.31):
|
||||
#
|
||||
# Upstream pins sha256-f8bSbLRmtbP93CJAvEBs+sHWDZ1xP2bcpLhC1EnOmZU=
|
||||
# for https://artifacts.electronjs.org/headers/dist/v43.6.0/node-v43.6.0-headers.tar.gz
|
||||
# The Electron CDN swapped that artifact, so the pinned hash no longer
|
||||
# matches what the server serves today (verified 2026-09-12 via
|
||||
# `nix store prefetch-file`). Upstream has fixed this class of breakage
|
||||
# repeatedly ("fix electron headers sha" commits); main is not fixed yet.
|
||||
#
|
||||
# Differences from upstream nix/desktop.nix:
|
||||
# 1. electron headers sha256 per electron version, with a clear throw
|
||||
# for unknown versions (upstream hardcodes one hash).
|
||||
# 2. icon.png / linux_desktop_entry.py resolve against `hermesSrc`
|
||||
# (the flake input checkout) instead of relative repo paths.
|
||||
#
|
||||
# REMOVE THIS FILE and the hermesDesktopFixed let-binding in default.nix
|
||||
# once upstream ships the corrected hash and the hermes-agent input is
|
||||
# bumped past that release.
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
hermesNpmLib,
|
||||
electron,
|
||||
hermesAgent,
|
||||
python3,
|
||||
# Checkout of the hermes-agent flake input (outPath), used for files
|
||||
# that upstream references with relative paths inside its own repo.
|
||||
hermesSrc,
|
||||
# Environment to bake into the launcher. A GUI launcher reads none of the
|
||||
# shell profile, so a variable that an interactive shell exports does not
|
||||
# reach an app that the desktop menu starts. The Home Manager module passes
|
||||
# HERMES_HOME and HERMES_MANAGED here, which gives the app the same state
|
||||
# directory as the services.
|
||||
extraEnv ? {},
|
||||
# Shell lines to run before the app starts. A secret belongs here and never
|
||||
# in extraEnv: makeWrapper writes a --set value into the Nix store, which
|
||||
# all users can read. A --run line reads the value from a runtime path at
|
||||
# each start instead.
|
||||
extraRun ? [],
|
||||
...
|
||||
}: let
|
||||
# Each flag goes on its own continued line, and the leading backslash is
|
||||
# inside the generated string. An empty attribute set then adds no text
|
||||
# at all, and cannot leave a backslash above a blank line. That fault ends the
|
||||
# makeWrapper command early, and the next flag runs as a shell command.
|
||||
extraEnvFlags = lib.concatMapStrings (
|
||||
name: " \\\n --set ${name} ${lib.escapeShellArg (toString extraEnv.${name})}"
|
||||
) (lib.attrNames extraEnv);
|
||||
|
||||
extraRunFlags = lib.concatMapStrings (line: " \\\n --run ${lib.escapeShellArg line}") extraRun;
|
||||
|
||||
# Electron's CDN has re-uploaded header artifacts for the same version
|
||||
# before, which silently changes their hash. Keep one verified hash per
|
||||
# electron version and fail loudly (instead of with a cryptic FOD
|
||||
# mismatch) whenever a bump needs a new one.
|
||||
electronHeaderHashes = {
|
||||
"43.6.0" = "sha256-xDgc5PpkcLpWHnlqVcjBD3SxJKtkUoSGLnJaSSrxJtI=";
|
||||
};
|
||||
|
||||
electronHeaders = pkgs.fetchurl {
|
||||
url = "https://artifacts.electronjs.org/headers/dist/v${electron.version}/node-v${electron.version}-headers.tar.gz";
|
||||
sha256 =
|
||||
electronHeaderHashes.${
|
||||
electron.version
|
||||
}
|
||||
or (throw ''
|
||||
hermes-desktop workaround: no verified Electron headers hash for version ${electron.version}.
|
||||
Run: nix store prefetch-file https://artifacts.electronjs.org/headers/dist/v${electron.version}/node-v${electron.version}-headers.tar.gz
|
||||
and add it to electronHeaderHashes in profiles/contexts/desktop/hermes-desktop.nix (m3ta-home).
|
||||
'');
|
||||
};
|
||||
|
||||
# node-pty ships no Electron-tagged prebuild we can trust to match this
|
||||
# exact nixpkgs electron version, so it's always compiled from source
|
||||
# against Electron's own headers (not whatever Node ran `npm`).
|
||||
targetPlatform =
|
||||
if stdenv.hostPlatform.isDarwin
|
||||
then "darwin"
|
||||
else if stdenv.hostPlatform.isLinux
|
||||
then "linux"
|
||||
else throw "hermes-desktop: unsupported host platform for node-pty staging";
|
||||
|
||||
targetArch =
|
||||
if stdenv.hostPlatform.isAarch64
|
||||
then "arm64"
|
||||
else if stdenv.hostPlatform.isx86_64
|
||||
then "x64"
|
||||
else throw "hermes-desktop: unsupported host arch for node-pty staging";
|
||||
|
||||
# Build the renderer (dist/ + electron/ + package.json).
|
||||
renderer = hermesNpmLib.buildNpmPackage {
|
||||
dirs = [
|
||||
"apps/desktop"
|
||||
"apps/shared"
|
||||
];
|
||||
pname = "hermes-desktop-renderer";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p apps/desktop/build
|
||||
|
||||
patchShebangs .
|
||||
|
||||
pushd apps/desktop
|
||||
# typecheck :3
|
||||
npm exec -- tsc -b
|
||||
|
||||
# build the renderer bundle
|
||||
# vite's emptyOutDir wipes dist/ on every run
|
||||
# so it has to be first
|
||||
npm exec -- vite build
|
||||
|
||||
# build the electron bundle
|
||||
node scripts/bundle-electron-main.mjs
|
||||
|
||||
# Compile node-pty against Electron's actual ABI (the nixpkgs
|
||||
# `electron` we ship). Headers come from a pinned fetchurl input
|
||||
# since the sandbox has no network here, so node-gyp's
|
||||
# normal --disturl download path can't run.
|
||||
mkdir -p "$TMPDIR/electron-headers"
|
||||
tar -xzf ${electronHeaders} -C "$TMPDIR/electron-headers" --strip-components=1
|
||||
|
||||
${lib.getExe hermesNpmLib.node-gyp} rebuild \
|
||||
--directory=../../node_modules/node-pty \
|
||||
--build-from-source \
|
||||
--runtime=electron \
|
||||
--target=${electron.version} \
|
||||
--nodedir="$TMPDIR/electron-headers" \
|
||||
--disturl="" \
|
||||
--offline
|
||||
|
||||
# Target platform/arch come from stdenv.hostPlatform, not the
|
||||
# build host's own process.platform/arch.
|
||||
node scripts/stage-native-deps.mjs ${targetPlatform} ${targetArch}
|
||||
popd
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
pushd apps/desktop
|
||||
|
||||
npm run postbuild
|
||||
|
||||
# validate staged node-pty native binary is present.
|
||||
STAGED_PTY_NODE="./dist/node_modules/node-pty/build/Release/pty.node"
|
||||
|
||||
if [ ! -f "$STAGED_PTY_NODE" ]; then
|
||||
echo "FATAL: Missing staged node-pty native binary at $STAGED_PTY_NODE"
|
||||
echo "node-pty must be compiled natively"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
popd
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out
|
||||
# vite writes to apps/desktop/dist/ (we cd'd there in buildPhase).
|
||||
# stage-native-deps.mjs stages node-pty into dist/node_modules/node-pty,
|
||||
# so copying dist/ wholesale carries the native dep along with the
|
||||
# esbuild bundle that require()s it. apps/desktop/build was created
|
||||
# before the cd.
|
||||
cp -rn apps/desktop/dist $out/
|
||||
|
||||
echo '{"schemaVersion":1,"commit":"nix-dummy-commit","branch":"nix","dirty":false,"source":"nix"}' > $out/install-stamp.json
|
||||
|
||||
cp -n apps/desktop/package.json $out/
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
# Electron wrapper: nixpkgs' electron binary pointed at the renderer dir.
|
||||
stdenv.mkDerivation {
|
||||
pname = "hermes-desktop";
|
||||
inherit (renderer) version;
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
python3
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/hermes-desktop $out/bin
|
||||
cp -r ${renderer}/* $out/share/hermes-desktop/
|
||||
|
||||
# Standard nixpkgs pattern for electron-builder apps: patch process.resourcesPath
|
||||
# to point to the app's directory. In Nix, unpackaged electron defaults this
|
||||
# to the electron distribution's resources path, breaking extraResources lookups.
|
||||
substituteInPlace $out/share/hermes-desktop/dist/electron-main.mjs \
|
||||
--replace-fail "process.resourcesPath" "'$out/share/hermes-desktop'"
|
||||
|
||||
# Wrap the nixpkgs electron binary to launch our app. Set
|
||||
# HERMES_DESKTOP_HERMES to the absolute path of the nix-built `hermes`
|
||||
# binary so the desktop's resolver step 4 ("existing Hermes CLI on
|
||||
# PATH") uses our fully wrapped binary — venv with all deps,
|
||||
# bundled skills/plugins, runtime PATH (ripgrep/git/ffmpeg/etc).
|
||||
# No reimplementation of the agent resolver in the wrapper.
|
||||
makeWrapper ${lib.getExe electron} $out/bin/hermes-desktop \
|
||||
--add-flags "$out/share/hermes-desktop" \
|
||||
--set HERMES_DESKTOP_HERMES "${lib.getExe hermesAgent}" \
|
||||
--set ELECTRON_IS_DEV 0${extraEnvFlags}${extraRunFlags}
|
||||
|
||||
# XDG launcher entry
|
||||
mkdir -p $out/share/applications $out/share/icons/hicolor/1024x1024/apps
|
||||
install -m 0644 ${hermesSrc}/apps/desktop/assets/icon.png \
|
||||
$out/share/icons/hicolor/1024x1024/apps/hermes.png
|
||||
export PYTHONPATH=$(mktemp -d)
|
||||
cp ${hermesSrc}/hermes_cli/linux_desktop_entry.py "$PYTHONPATH/linux_desktop_entry.py"
|
||||
export DESKTOP_EXEC="$out/bin/hermes-desktop"
|
||||
export DESKTOP_ICON="$out/share/icons/hicolor/1024x1024/apps/hermes.png"
|
||||
python3 -c 'import os; from linux_desktop_entry import render_desktop_entry; print(render_desktop_entry(os.environ["DESKTOP_EXEC"], os.environ["DESKTOP_ICON"]))' > $out/share/applications/hermes.desktop
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit (renderer.passthru) packageJsonPath;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Native Electron desktop shell for Hermes Agent";
|
||||
homepage = "https://github.com/NousResearch/hermes-agent";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "hermes-desktop";
|
||||
};
|
||||
}
|
||||
@@ -73,6 +73,7 @@ in {
|
||||
require_if_present("dms.colors")
|
||||
require_if_present("dms.layout")
|
||||
require_if_present("dms.outputs")
|
||||
require_if_present("dms.binds-user")
|
||||
'';
|
||||
};
|
||||
settings = {
|
||||
@@ -88,7 +89,7 @@ in {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_layout = "us,de";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_rules = "";
|
||||
@@ -150,7 +151,6 @@ in {
|
||||
];
|
||||
|
||||
device = [
|
||||
# Alle normalen Keyboards explizit auf de setzen:
|
||||
{
|
||||
name = "video-bus";
|
||||
kb_layout = "de,us";
|
||||
@@ -173,23 +173,33 @@ in {
|
||||
}
|
||||
{
|
||||
name = "keychron-keychron-k7";
|
||||
kb_layout = "us";
|
||||
kb_layout = "us,de";
|
||||
kb_options = "ctrl:nocaps";
|
||||
}
|
||||
# Moonlander Sub-Devices bleiben us (erben global)
|
||||
# Moonlander Sub-Devices bleiben us zuerst (de als zweites Layout):
|
||||
{
|
||||
name = "zsa-technology-labs-moonlander-mark-i-consumer-control";
|
||||
kb_layout = "us";
|
||||
kb_layout = "us,de";
|
||||
kb_options = "ctrl:nocaps";
|
||||
}
|
||||
{
|
||||
name = "zsa-technology-labs-moonlander-mark-i-keyboard";
|
||||
kb_layout = "us";
|
||||
kb_layout = "us,de";
|
||||
kb_options = "ctrl:nocaps";
|
||||
}
|
||||
{
|
||||
name = "zsa-technology-labs-moonlander-mark-i-system-control";
|
||||
kb_layout = "us";
|
||||
kb_layout = "us,de";
|
||||
kb_options = "ctrl:nocaps";
|
||||
}
|
||||
{
|
||||
name = "asustek-computer-inc.-gz302ea-keyboard";
|
||||
kb_layout = "de,us";
|
||||
kb_options = "ctrl:nocaps";
|
||||
}
|
||||
{
|
||||
name = "asustek-computer-inc.-gz302ea-keyboard-2";
|
||||
kb_layout = "de,us";
|
||||
kb_options = "ctrl:nocaps";
|
||||
}
|
||||
];
|
||||
@@ -486,6 +496,7 @@ in {
|
||||
(mkBinding (modKey "mouse_up") (focusWorkspace "e-1"))
|
||||
(mkBindingWithOptions (modKey "mouse:272") "hl.dsp.window.drag()" {mouse = true;})
|
||||
(mkBindingWithOptions (modKey "mouse:273") "hl.dsp.window.resize()" {mouse = true;})
|
||||
(mkBinding (modKey "SPACE") (execCmd "hyprctl switchxkblayout current next"))
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
command = "bash";
|
||||
args = ["-c" "EXA_API_KEY=$(cat /run/agenix/exa-key) exec bunx exa-mcp-server@latest tools=web_search_exa"];
|
||||
};
|
||||
Fireflies = {
|
||||
url = "https://api.fireflies.ai/mcp";
|
||||
SallyAI = {
|
||||
url = "https://app.sally.io/api/v1/McpExternal";
|
||||
};
|
||||
Outline = {
|
||||
url = "https://wiki.az-gruppe.com/mcp";
|
||||
@@ -61,22 +61,28 @@
|
||||
};
|
||||
};
|
||||
|
||||
# NOTE: llm-agent packages are consumed via the `llm-agents` namespace
|
||||
# (pkgs.llm-agents.*), provided by numtide/llm-agents.nix's
|
||||
# `overlays.shared-nixpkgs`. The consumer's nixos-config MUST apply that
|
||||
# overlay — namespaced refs fail loudly if it is missing, instead of
|
||||
# silently falling back to (outdated) nixpkgs attributes.
|
||||
home.packages = with pkgs; [
|
||||
agenix-cli
|
||||
agent-browser
|
||||
llm-agents.agent-browser
|
||||
m3taHomeInputs.agent-lib.packages.${pkgs.stdenv.hostPlatform.system}.agent-lib-cli
|
||||
beads
|
||||
llm-agents.beads
|
||||
buzz
|
||||
crunch
|
||||
docker-sbx
|
||||
herdr
|
||||
llm-agents.herdr
|
||||
pi-coding-agent
|
||||
(qmd.override {
|
||||
(llm-agents.qmd.override {
|
||||
vulkanSupport = videoDrivers == ["amdgpu"];
|
||||
cudaSupport = videoDrivers == ["nvidia"];
|
||||
})
|
||||
opencode-desktop
|
||||
openshell
|
||||
openspec
|
||||
llm-agents.openspec
|
||||
openwork
|
||||
talk
|
||||
];
|
||||
|
||||
@@ -4,25 +4,34 @@
|
||||
|
||||
ohMyOpencodeSettings = {
|
||||
agents = {
|
||||
sisyphus.model = "zai-coding-plan/glm-5.2";
|
||||
oracle.model = "litellm/claude-sonnet-5";
|
||||
librarian.model = "litellm/claude-sonnet-5";
|
||||
explore.model = "litellm/claude-haiku-4-5";
|
||||
multimodal-looker.model = "litellm/gpt-5.3-codex";
|
||||
# Primary worker: GLM-5.3 (1M ctx, beats Opus 4.8 on token efficiency).
|
||||
sisyphus.model = "zai-coding-plan/glm-5.3";
|
||||
# Planning + deep analysis: strongest reasoning tier.
|
||||
prometheus.model = "litellm/claude-opus-4-8";
|
||||
metis.model = "litellm/claude-opus-4-8";
|
||||
momus.model = "zai-coding-plan/glm-5.2";
|
||||
atlas.model = "zai-coding-plan/glm-5.2";
|
||||
# Verification + docs research: best tool-use quality.
|
||||
oracle.model = "litellm/claude-sonnet-5";
|
||||
librarian.model = "litellm/claude-sonnet-5";
|
||||
# High-volume parallel codebase scans: speed-tuned GLM on flat rate.
|
||||
explore.model = "zai-coding-plan/glm-5-turbo";
|
||||
# Vision: GLM-5.3 is text-only -> cheap capable Claude Haiku.
|
||||
multimodal-looker.model = "litellm/claude-haiku-4-5";
|
||||
# Critic + navigator: flagship GLM on flat rate.
|
||||
momus.model = "zai-coding-plan/glm-5.3";
|
||||
atlas.model = "zai-coding-plan/glm-5.3";
|
||||
};
|
||||
categories = {
|
||||
visual-engineering.model = "zai-coding-plan/glm-5.2";
|
||||
# Volume categories -> flat-rate GLM-5.3 (1M ctx).
|
||||
visual-engineering.model = "zai-coding-plan/glm-5.3";
|
||||
artistry.model = "zai-coding-plan/glm-5.3";
|
||||
writing.model = "zai-coding-plan/glm-5.3";
|
||||
# Long deep-work sessions -> GLM-5.3 1M ctx beats Sonnet 200k.
|
||||
deep.model = "zai-coding-plan/glm-5.3";
|
||||
# Deliberately pay-per-token for top quality:
|
||||
ultrabrain.model = "litellm/claude-opus-4-8";
|
||||
deep.model = "litellm/claude-sonnet-5";
|
||||
artistry.model = "zai-coding-plan/glm-5.2";
|
||||
quick.model = "litellm/claude-haiku-4-5";
|
||||
unspecified-low.model = "litellm/claude-sonnet-5";
|
||||
unspecified-high.model = "litellm/claude-opus-4-8";
|
||||
writing.model = "zai-coding-plan/glm-5.2";
|
||||
unspecified-low.model = "litellm/claude-sonnet-5";
|
||||
quick.model = "litellm/claude-haiku-4-5";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -194,6 +203,13 @@
|
||||
output = 128000;
|
||||
};
|
||||
};
|
||||
"gpt-5.6-sol" = {
|
||||
name = "GPT-5.6 Sol";
|
||||
limit = {
|
||||
context = 400000;
|
||||
output = 128000;
|
||||
};
|
||||
};
|
||||
"gpt-5.3-codex" = {
|
||||
name = "GPT-5.3 Codex";
|
||||
limit = {
|
||||
@@ -214,12 +230,11 @@
|
||||
output = 64000;
|
||||
};
|
||||
};
|
||||
"claude-sonnet-4-6" = {
|
||||
name = "Claude Sonnet 4.6";
|
||||
"claude-sonnet-5" = {
|
||||
name = "Claude Sonnet 5";
|
||||
options = {
|
||||
thinking = {
|
||||
type = "enabled";
|
||||
budget_tokens = 16000;
|
||||
type = "adaptive";
|
||||
};
|
||||
};
|
||||
limit = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Gaming profile aggregator — Steam platform, Gamescope session, and AMD GPU tools.
|
||||
{...}: {
|
||||
imports = [
|
||||
./emulators.nix
|
||||
./steam.nix
|
||||
./gamescope.nix
|
||||
./gpu.nix
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.profiles.gaming.emulators;
|
||||
in {
|
||||
options.profiles.gaming.emulators.enable = mkEnableOption "Emulators";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
shadps4
|
||||
shadps4-qtlauncher
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -89,17 +89,17 @@
|
||||
"m3-atlas" = {
|
||||
HostName = "152.53.85.162";
|
||||
User = "m3tam3re";
|
||||
IdentityFile = "~/.ssh/m3tam3re";
|
||||
IdentityFile = "~/.ssh/m3ta-adm";
|
||||
};
|
||||
"m3-hermes" = {
|
||||
HostName = "204.168.229.93";
|
||||
User = "m3tam3re";
|
||||
IdentityFile = "~/.ssh/m3tam3re";
|
||||
IdentityFile = "~/.ssh/m3ta-adm";
|
||||
};
|
||||
"hermes" = {
|
||||
HostName = "46.224.0.92";
|
||||
User = "admin";
|
||||
IdentityFile = "~/.ssh/m3tam3re";
|
||||
"hermes-agent" = {
|
||||
HostName = "204.168.229.93";
|
||||
User = "hermes";
|
||||
IdentityFile = "~/.ssh/hermes";
|
||||
};
|
||||
"m3-zelda" = {
|
||||
HostName = "95.217.189.186";
|
||||
|
||||
@@ -57,6 +57,12 @@
|
||||
Port = 2022;
|
||||
IdentityFile = "~/.ssh/sascha.koenig";
|
||||
};
|
||||
"AZ-TC-01" = {
|
||||
HostName = "192.168.153.172";
|
||||
User = "sascha.koenig";
|
||||
Port = 22;
|
||||
IdentityFile = "~/.ssh/sascha.koenig";
|
||||
};
|
||||
"git.az-gruppe.com" = {
|
||||
HostName = "git.az-gruppe.com";
|
||||
Port = 2022;
|
||||
@@ -68,6 +74,11 @@
|
||||
User = "m3tam3re";
|
||||
IdentityFile = "~/.ssh/sascha.koenig";
|
||||
};
|
||||
"hermes-agent" = {
|
||||
HostName = "204.168.229.93";
|
||||
User = "hermes";
|
||||
IdentityFile = "~/.ssh/hermes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user