Compare commits

..

30 Commits

Author SHA1 Message Date
tux
9fd9cc7da2 feat(desktop): configure default xdg mime applications 2026-09-20 00:18:35 +05:30
tux
cf652dfeed fix(network): disable wifi power saving 2026-09-20 00:13:22 +05:30
tux
4ed2c40b33 chore: update flake inputs 2026-09-20 00:10:59 +05:30
tux
2a1948fb23 feat(shell): add pi-coding-agent and omp module 2026-09-19 20:19:54 +05:30
tux
7ed935456e feat(hosts): persist agents directory 2026-09-19 17:09:34 +05:30
tux
8a6ac1a533 feat(hosts): add zcode and persist state directories 2026-09-18 23:12:01 +05:30
tux
c009f2be73 chore: persist ly save.txt file 2026-09-18 20:33:04 +05:30
tux
8ef160a991 feat(hosts): add coder and persist coderv2 dir 2026-09-18 20:32:30 +05:30
tux
c179b45ac1 feat(services): add coder nixos module 2026-09-18 19:22:58 +05:30
tux
ac750098b1 feat(overlays): add davinci-resolve source override 2026-09-18 17:37:19 +05:30
tux
75ecf511e6 chore: update flake inputs 2026-09-18 17:35:47 +05:30
tux
e48e2903ac feat(desktop): update serpantinum configuration 2026-09-18 02:13:28 +05:30
tux
69882de18a feat(desktop): enable voxtype on-demand loading 2026-09-18 01:51:16 +05:30
tux
e1632cb506 feat(desktop): switch to brave-origin 2026-09-18 01:14:18 +05:30
tux
43b3be09e5 chore: persist claude, orca and gh dirs 2026-09-17 22:47:13 +05:30
tux
f960a5eb04 feat(sirius): add galaxy-buds-client 2026-09-17 21:55:09 +05:30
tux
23dfd5b998 feat(flake): add llm-agents input and packages 2026-09-17 21:54:02 +05:30
tux
2b3e4661b3 feat(packages): add omasnap 2026-09-17 21:31:29 +05:30
tux
cdce741599 chore: add .config/nix to persist dir 2026-09-17 16:52:01 +05:30
tux
e520cf6767 feat(opencode): add zai-coding-plan 2026-09-16 19:58:29 +05:30
tux
30e33cb768 feat(desktop): add agent settings to zed 2026-09-16 15:21:26 +05:30
tux
dc750c6bfe feat(config): switch default models to deepseek-v4.1 2026-09-16 15:20:59 +05:30
tux
80469632b1 feat(core): enable all terminfo 2026-09-16 12:48:45 +05:30
tux
9bb2e1f11d style(desktop): update cursor size 2026-09-15 14:37:35 +05:30
tux
3b9774a20d feat(desktop): add cursor trail to kitty 2026-09-15 05:39:48 +05:30
tux
932bf56972 docs: update README 2026-09-13 02:28:42 +05:30
tux
dedda22aea chore: add serpantinum to persist dir 2026-09-12 18:12:11 +05:30
tux
ef09a8a5d4 style(desktop): update kitty foreground color 2026-09-12 17:42:48 +05:30
tux
51c6925364 feat(shell): add hm-override script 2026-09-12 17:29:59 +05:30
tux
dbd2353273 feat(desktop): add kitty module 2026-09-12 17:18:06 +05:30
30 changed files with 856 additions and 201 deletions

View File

@@ -17,7 +17,7 @@
- [Hosts](#hosts)
- [Components](#components)
- [Showcase](#showcase)
- [Pain](#spent-weeks-on-this-system-configuration-)
- [Pain](#spent-months-on-this-system-configuration-)
## Hosts
@@ -47,7 +47,7 @@
## Showcase
| **Desktop** | **Tshell** |
| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| :-------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: |
| <img src="https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/desktop.png" width="100%"> | <img src="https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/tPanel.png" width="100%"> |
| **Workflow** | **Neovim** |
| <img src="https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/workflow.png" width="100%"> | <img src="https://github.com/user-attachments/assets/f881c672-8d77-43ec-b637-df5004c7d11f" width="100%"> |

474
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1788444081,
"narHash": "sha256-I8i97p9WBQaZQyyBaHFMt8e01VfgfFZSaO+vAUd0u0A=",
"lastModified": 1789630322,
"narHash": "sha256-jiUl3+k9K+BASO4hvKFhlCMUpHPPoy2q5uZMl3pzOF0=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "36b66db4ddd708ad19f5db850af6a478d8a19b2a",
"rev": "f31c47a1b9d300847d8fc3108ad959448103dfc1",
"type": "github"
},
"original": {
@@ -53,6 +53,40 @@
"url": "https://codeberg.org/LGFae/awww"
}
},
"bun2nix": {
"inputs": {
"flake-parts": [
"llm-agents",
"flake-parts"
],
"nixpkgs": [
"llm-agents",
"nixpkgs"
],
"systems": [
"llm-agents",
"systems"
],
"treefmt-nix": [
"llm-agents",
"treefmt-nix"
]
},
"locked": {
"lastModified": 1788011267,
"narHash": "sha256-mEq2kU+ljompTToZ44Afvm7d/rHJ5iMBl0tjZuyShJs=",
"owner": "Mic92",
"repo": "bun2nix",
"rev": "5765b0614591f75ee8ba5596e81ae85c167d1071",
"type": "github"
},
"original": {
"owner": "Mic92",
"ref": "fix-structured-attrs-hook",
"repo": "bun2nix",
"type": "github"
}
},
"cardwire": {
"inputs": {
"fenix": "fenix",
@@ -62,11 +96,11 @@
]
},
"locked": {
"lastModified": 1788980173,
"narHash": "sha256-ZxJFUIepyYWurAU1/YUfHFMq4S5phGcpzxvjGuxAnYs=",
"lastModified": 1789199081,
"narHash": "sha256-xjgAQNbUE/ZohOdPQuyZziyK9p1bOtmLp+qRq2CS5tw=",
"owner": "opengamingcollective",
"repo": "cardwire",
"rev": "d51c690ab0b80abd9553dfb4aea8f6271c01143e",
"rev": "4c994896b01b45178921617baee5d7038edc2a7d",
"type": "github"
},
"original": {
@@ -81,11 +115,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1788840090,
"narHash": "sha256-X9esxhmOHPuDC65S2g3qfR+YlJsDvWp6UXzVLkzRp7I=",
"lastModified": 1789760829,
"narHash": "sha256-O3zDyR9k2Dw2BTyKVaL3xLgU1xlKEJuDosYP9al536U=",
"owner": "9001",
"repo": "copyparty",
"rev": "bfc3cff8482a70653ad380bd94660013d2569ff5",
"rev": "097b83056ecf74546e4d19c88dce38e1e3220bda",
"type": "github"
},
"original": {
@@ -136,11 +170,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1788879443,
"narHash": "sha256-qb9sL86UCUEd3SYAda4ItN1NV0vhMSdbpA64WckvVI0=",
"lastModified": 1789404474,
"narHash": "sha256-UXFQ7tFiwn8sPz0EV4CBB2PCf/ZiGIHWn/6MXk81Lxs=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "414ac5f35d79aabe5a0bf52451d8cf61eadf6c88",
"rev": "e760371d631165e7d8de5b0dcf148e21ec4c16f0",
"type": "github"
},
"original": {
@@ -156,11 +190,11 @@
]
},
"locked": {
"lastModified": 1781152676,
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
"lastModified": 1789770686,
"narHash": "sha256-uZkBR7yHdIKUFB5SZdfgh1qkGfI3XmYmI/lTiquxbck=",
"owner": "nix-community",
"repo": "disko",
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
"rev": "725ea35e410ad83be4931d1bff7e090eacaf3563",
"type": "github"
},
"original": {
@@ -327,6 +361,27 @@
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"llm-agents",
"nixpkgs"
]
},
"locked": {
"lastModified": 1788450739,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
@@ -344,7 +399,7 @@
"type": "github"
}
},
"flake-parts_4": {
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"nur",
@@ -365,7 +420,7 @@
"type": "github"
}
},
"flake-parts_5": {
"flake-parts_6": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
@@ -383,7 +438,7 @@
"type": "github"
}
},
"flake-parts_6": {
"flake-parts_7": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
@@ -440,7 +495,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_5"
"systems": "systems_6"
},
"locked": {
"lastModified": 1731533236,
@@ -458,7 +513,7 @@
},
"flake-utils_4": {
"inputs": {
"systems": "systems_6"
"systems": "systems_7"
},
"locked": {
"lastModified": 1731533236,
@@ -560,11 +615,11 @@
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1789079731,
"narHash": "sha256-C4mA8pILn/ms4pJQkUhvD9VT1w48YMr9285I8kCdQPs=",
"lastModified": 1789832172,
"narHash": "sha256-bUI6CzBCScICN0eYmUPM4Al37jyQaggdIrik/jZdBFo=",
"owner": "NousResearch",
"repo": "hermes-agent",
"rev": "6c3d4a4af70d76b7365bf19e9420ffdcbb9830ad",
"rev": "39abfdf4ecd405c9eed9a7b23f9480d73f85ebd2",
"type": "github"
},
"original": {
@@ -601,11 +656,11 @@
]
},
"locked": {
"lastModified": 1789071706,
"narHash": "sha256-S+oyh2YSP9V5bSjWbbK0N7GxdxxMwgBfUOtUdVcAWc4=",
"lastModified": 1789765459,
"narHash": "sha256-voJJ5IZR4w2149u2Jm/j2zifeWROlpZQ+JzmCQwjgn8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "150f9ce4ddd41544ea42eb9d6043a75bd615fa24",
"rev": "17903129f47656fa4d07e78ad87f6592ff4f2527",
"type": "github"
},
"original": {
@@ -643,11 +698,11 @@
]
},
"locked": {
"lastModified": 1788642154,
"narHash": "sha256-sPpQFVaFTDqO/4vvCAhuAhqTgqN/ygu+9eJcs5eB0js=",
"lastModified": 1789267039,
"narHash": "sha256-LWiBv9yAYFi2LPbUhDGHPGKYskJQjj2fw12OlyO1uQo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "fd0956c99c41ae3c13a73a638f1f7e963aebc4ab",
"rev": "ec172013fa62135f58fb58dd17ae9651e8f39727",
"type": "github"
},
"original": {
@@ -732,11 +787,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1789046904,
"narHash": "sha256-wWPN/kmzwp4kHBtC6JmVUJHg2Np2VtyfS53mFrI90us=",
"lastModified": 1789814244,
"narHash": "sha256-X8GK0kUU8WAPD4072wafvbcRRtYWiFCSA5Iyz9mr6KU=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "f05d73f35795ded80d7e1264a37e41b461625f9f",
"rev": "5fbb2a7acce2d6f155d18cf5b590fc553a8e7abc",
"type": "github"
},
"original": {
@@ -803,11 +858,11 @@
]
},
"locked": {
"lastModified": 1772460177,
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
"lastModified": 1789475883,
"narHash": "sha256-YRFLrPESYitsDYqQKquOFg8OWNI7tHKwPnTrTZWXxWY=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
"rev": "cc9a8fd253bdc00f48a967ecf4828211ef08751f",
"type": "github"
},
"original": {
@@ -909,11 +964,11 @@
]
},
"locked": {
"lastModified": 1786903207,
"narHash": "sha256-QTwMqLLONRhv9iz6CVeuX6BqQNQCIqI8hL/cPYlR/24=",
"lastModified": 1788619883,
"narHash": "sha256-dpmeFq5vPvSOsi30ZchOLjltAZEuVBucDvGKs3IZYf4=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "6cf50415e06dc6bd9f1252f1b745eac6b4a1cc39",
"rev": "a21e87b878e72ee5dfd375899e8b2ad0d0c4c0e1",
"type": "github"
},
"original": {
@@ -1016,11 +1071,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1788765309,
"narHash": "sha256-WvtNIVgMJEbI9P4yT5vAWSL9YJqu6Kp4t3VB1KKaRHE=",
"lastModified": 1789808092,
"narHash": "sha256-rM60xEjwm4lVty3gIk3PW4EqJWq8qIiSDCau8JfUXBQ=",
"owner": "feschber",
"repo": "lan-mouse",
"rev": "00c5eee8d8f8fa8ff0138fc4d9c9731d06e82456",
"rev": "b81c595586046daffded40a13bd2f2b340760f9c",
"type": "github"
},
"original": {
@@ -1068,20 +1123,42 @@
"type": "github"
}
},
"llm-agents": {
"inputs": {
"bun2nix": "bun2nix",
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_11",
"systems": "systems_3",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1789809463,
"narHash": "sha256-zUTsGy8oiUo4qaeDR5qZ1y+nSUyp+3ZBceW9slrnbPc=",
"owner": "numtide",
"repo": "llm-agents.nix",
"rev": "bffbfec7ef13d6f4b925ad20046133d6b49ac9e0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "llm-agents.nix",
"type": "github"
}
},
"mango": {
"inputs": {
"flake-parts": "flake-parts_3",
"flake-parts": "flake-parts_4",
"nixpkgs": [
"nixpkgs"
],
"scenefx": "scenefx"
},
"locked": {
"lastModified": 1789043466,
"narHash": "sha256-FRAl59B6xpOhO8rSgMWnwlxLz9E6yQJWXHKOoweIEm8=",
"lastModified": 1789816736,
"narHash": "sha256-GrvP0BkkYNcAqeTX9Fc7KPdACVY8trG/1l+2s/yocJ4=",
"owner": "DreamMaoMao",
"repo": "mango",
"rev": "13138a717636b3761afdb90cd153466f69d4fcc8",
"rev": "74dcc153122e6707d2c027e88a2e4d88264a2d09",
"type": "github"
},
"original": {
@@ -1145,11 +1222,11 @@
]
},
"locked": {
"lastModified": 1788680125,
"narHash": "sha256-amGSoDobwmp4CFvCn841ws2iuitus+HUJdD/gKgsrJA=",
"lastModified": 1789286446,
"narHash": "sha256-xVstyCdg0DpzjyrEacm72VJAIP9DMhfWJdPDzhWxHuo=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "116ad1c2adb642405ef8916f6a94c8626f971344",
"rev": "a74e173407559083a412ea89a1cc58ea389c3b65",
"type": "github"
},
"original": {
@@ -1190,16 +1267,16 @@
"inputs": {
"home-manager": "home-manager_4",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_11",
"nixpkgs": "nixpkgs_12",
"nixpkgs-nixcord": "nixpkgs-nixcord",
"treefmt-nix": "treefmt-nix"
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1789029226,
"narHash": "sha256-dk2p8SjpJ2sRHHpmSA+ps4d2uhQjtkdKGC2+RcyZYPE=",
"lastModified": 1789806437,
"narHash": "sha256-V3V1x1Sl3W92uapp+7s8Kh67f0U962Zv797RMkoGdPo=",
"owner": "kaylorben",
"repo": "nixcord",
"rev": "177141d589014f014ac2b05cd8e2235886868e2f",
"rev": "b515da0ace7784f378ce423ece9041b42d5a1cc1",
"type": "github"
},
"original": {
@@ -1210,14 +1287,14 @@
},
"nixos-hardware": {
"inputs": {
"nixpkgs": "nixpkgs_12"
"nixpkgs": "nixpkgs_13"
},
"locked": {
"lastModified": 1788942796,
"narHash": "sha256-CLoJCCRi9sogsyGXYn8rOCWBLKAntfKUB9Rli/YXgEY=",
"lastModified": 1789752250,
"narHash": "sha256-q0J27mJDfd4BM9a7KcMVbcRmqyU+goQwudbMIu66qsg=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "83bbc895120516d6e86885a188c04beced6535d9",
"rev": "b2d7d02644f0002535a3bb51a73780945cdc7ba4",
"type": "github"
},
"original": {
@@ -1322,11 +1399,11 @@
},
"nixpkgs-nixcord": {
"locked": {
"lastModified": 1788921488,
"narHash": "sha256-8+xWRxEkD6l217cIUdRxfeUGS9lQX0hVtUuNVsBaDzk=",
"lastModified": 1789459628,
"narHash": "sha256-JOaadoI/IC9qEvwlnjwAhwdcWkCDqEeOJ+cOtUH/8RQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6aefcda9401be8acc2b74244fb3b37520ea1f0a8",
"rev": "b67c7a60c3732edd4b947a7df8af06215851a614",
"type": "github"
},
"original": {
@@ -1370,11 +1447,27 @@
},
"nixpkgs_11": {
"locked": {
"lastModified": 1788921488,
"narHash": "sha256-8+xWRxEkD6l217cIUdRxfeUGS9lQX0hVtUuNVsBaDzk=",
"lastModified": 1789754019,
"narHash": "sha256-N8gMcziRWB1CnSykjQPuf8lQKDD69LjnURRzaNXoPb4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6aefcda9401be8acc2b74244fb3b37520ea1f0a8",
"rev": "2e032a04454b525daa6c6651264aaa5d3e98cf54",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1789459628,
"narHash": "sha256-JOaadoI/IC9qEvwlnjwAhwdcWkCDqEeOJ+cOtUH/8RQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b67c7a60c3732edd4b947a7df8af06215851a614",
"type": "github"
},
"original": {
@@ -1384,52 +1477,52 @@
"type": "github"
}
},
"nixpkgs_12": {
"nixpkgs_13": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"lastModified": 1789546076,
"narHash": "sha256-vWkSk5bbfTqdtMoSgD9FshACO8JCvXTFi+3cqEp0mH0=",
"rev": "b1b875982b17dabde9b4a37f3e229e74913e6db3",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1074753.b1b875982b17/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs_13": {
"locked": {
"lastModified": 1789006805,
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_14": {
"locked": {
"lastModified": 1789006805,
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
"owner": "nixos",
"lastModified": 1789684949,
"narHash": "sha256-ZKhUe/2IJUq1JhKxKMu8rbkgSGmPP2ZCqlIPn40aGCM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
"rev": "e554fab72f81915600f3f449b786fd9af40439a5",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_15": {
"locked": {
"lastModified": 1789684949,
"narHash": "sha256-ZKhUe/2IJUq1JhKxKMu8rbkgSGmPP2ZCqlIPn40aGCM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e554fab72f81915600f3f449b786fd9af40439a5",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_16": {
"locked": {
"lastModified": 1776683584,
"narHash": "sha256-NuTLMrr10Tng72hurYG8jYQ4XKK8wnpJmOGcPiis96g=",
@@ -1445,13 +1538,13 @@
"type": "github"
}
},
"nixpkgs_16": {
"nixpkgs_17": {
"locked": {
"lastModified": 1788752844,
"narHash": "sha256-VaWGJ6+cIYN2erfSecbRV+4ljI185Ty2wUrXyvQbgOw=",
"lastModified": 1789426278,
"narHash": "sha256-GnotcvKtbTMnoVx6G4E7ZdUX6487Dky74dqq3pU7iRk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "dc5d91f840324650bac8c379428c7037a416959a",
"rev": "efe6f071ede9d21c37462d2d6682d5e670099684",
"type": "github"
},
"original": {
@@ -1461,7 +1554,7 @@
"type": "github"
}
},
"nixpkgs_17": {
"nixpkgs_18": {
"locked": {
"lastModified": 1782175435,
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
@@ -1477,7 +1570,7 @@
"type": "github"
}
},
"nixpkgs_18": {
"nixpkgs_19": {
"locked": {
"lastModified": 1770107345,
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
@@ -1493,22 +1586,6 @@
"type": "github"
}
},
"nixpkgs_19": {
"locked": {
"lastModified": 1774386573,
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1788179007,
@@ -1525,6 +1602,22 @@
"type": "github"
}
},
"nixpkgs_20": {
"locked": {
"lastModified": 1774386573,
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1787631388,
@@ -1590,11 +1683,11 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1788404924,
"narHash": "sha256-lhEhY8X5EgkQ/eg6IFz4cc8jRuSYSvnxx1al7d1dvZ0=",
"lastModified": 1789684949,
"narHash": "sha256-ZKhUe/2IJUq1JhKxKMu8rbkgSGmPP2ZCqlIPn40aGCM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0968519e14f7aa7d3e9b389682bd74d2b51c8ce8",
"rev": "e554fab72f81915600f3f449b786fd9af40439a5",
"type": "github"
},
"original": {
@@ -1697,15 +1790,15 @@
},
"nur": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_14"
"flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_15"
},
"locked": {
"lastModified": 1789084691,
"narHash": "sha256-UtuGlGxMFKbYvxScj6tyoVOKIBAQNCjA1G89CxKJFZo=",
"lastModified": 1789832263,
"narHash": "sha256-e9S90F4US4zPGL2TRI7HF8Amxe4yOg5mA/LxAYeElpA=",
"owner": "nix-community",
"repo": "nur",
"rev": "9f8512940a289f3aae3867d46d532d735a0571a3",
"rev": "db7adf1844248e8c5a513909b4835e8ee7a2c9b9",
"type": "github"
},
"original": {
@@ -1716,14 +1809,14 @@
},
"opencode": {
"inputs": {
"nixpkgs": "nixpkgs_15"
"nixpkgs": "nixpkgs_16"
},
"locked": {
"lastModified": 1789072415,
"narHash": "sha256-gz7YFtWDHi8dJtK/LNLUzJ9U5gkMXxGK7q4L07lsSlE=",
"lastModified": 1789828307,
"narHash": "sha256-fVNSH2vqaauB2mOeD3FJEBAQl6E4199sJKdoIa4S6zE=",
"owner": "anomalyco",
"repo": "opencode",
"rev": "193de13a88d62a6409c6d385831180f1def527dc",
"rev": "fee476bb90043a1012abda156dd9af9e5c71b19d",
"type": "github"
},
"original": {
@@ -1764,11 +1857,11 @@
]
},
"locked": {
"lastModified": 1788267358,
"narHash": "sha256-nt+lUqYVpc9Y6JeMd2WmXzCDojasdadKo0mWcluvY2Y=",
"lastModified": 1789514889,
"narHash": "sha256-PFD1nxptCXJyJoiYO1gf/5Vv43yqGpHtMC6LUhl9/pQ=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "27555e2624241fb116b49095df4caaee85a25691",
"rev": "59f4ca0d063a1a3ec722c88b51a33004862e5379",
"type": "github"
},
"original": {
@@ -1864,12 +1957,13 @@
"import-tree": "import-tree",
"lan-mouse": "lan-mouse",
"lanzaboote": "lanzaboote",
"llm-agents": "llm-agents",
"mango": "mango",
"nix-index-database": "nix-index-database",
"nix-on-droid": "nix-on-droid",
"nixcord": "nixcord",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_13",
"nixpkgs": "nixpkgs_14",
"nixpkgs-stable": "nixpkgs-stable",
"nur": "nur",
"opencode": "opencode",
@@ -1877,7 +1971,7 @@
"sops-nix": "sops-nix",
"tfolio": "tfolio",
"tnvim": "tnvim",
"treefmt-nix": "treefmt-nix_3",
"treefmt-nix": "treefmt-nix_4",
"trok": "trok",
"tshell": "tshell",
"vicinae-extensions": "vicinae-extensions",
@@ -1993,7 +2087,7 @@
"mango",
"nixpkgs"
],
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1782624992,
@@ -2027,15 +2121,15 @@
},
"serpantinum": {
"inputs": {
"nixpkgs": "nixpkgs_16",
"nixpkgs": "nixpkgs_17",
"serpantinum-wallpapers": "serpantinum-wallpapers"
},
"locked": {
"lastModified": 1789079718,
"narHash": "sha256-YtxvaKxIj5vW1rzcmeDhZaFU5IdZ/2dBTpf59migtSs=",
"lastModified": 1789805278,
"narHash": "sha256-0wHsavuWGMDMR2QtgzWZk+ny8bRO8mvD4bjlsoANvU0=",
"owner": "ilyamiro",
"repo": "serpantinum",
"rev": "7fdcc2f722b1589e754b9dc9e215b8f78b261190",
"rev": "5c38adff0c0fd0ff6277ca971f5700c52b3486d0",
"type": "github"
},
"original": {
@@ -2047,11 +2141,11 @@
"serpantinum-wallpapers": {
"flake": false,
"locked": {
"lastModified": 1787675697,
"narHash": "sha256-ADvKHmQDsX50opqeiyEAB3uxUTjuCyDym0pGQCy7Sws=",
"lastModified": 1789127588,
"narHash": "sha256-L3xRtDXH1ERwVIP+ztT6qn7YYh3aHpfpy1/nvyjvKIc=",
"owner": "ilyamiro",
"repo": "shell-wallpapers",
"rev": "1cb526443872fbf283a3f8305c3aa647545c02e4",
"rev": "4f5994aff60403f88d3f0378e6f9c9d0a00b0289",
"type": "github"
},
"original": {
@@ -2062,14 +2156,14 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_17"
"nixpkgs": "nixpkgs_18"
},
"locked": {
"lastModified": 1788914643,
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
"lastModified": 1789815532,
"narHash": "sha256-/Ql9UE21iDwOU/JdPV20yZtaMpGf+iD2EhIA1aAi540=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
"rev": "166fc0d3f4fcd0dfc9af102ba8e85fa5dd04e5f7",
"type": "github"
},
"original": {
@@ -2109,21 +2203,6 @@
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -2138,6 +2217,21 @@
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
@@ -2168,13 +2262,28 @@
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tfolio": {
"inputs": {
"flake-parts": "flake-parts_5",
"flake-parts": "flake-parts_6",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix_2"
"treefmt-nix": "treefmt-nix_3"
},
"locked": {
"lastModified": 1788861166,
@@ -2213,7 +2322,7 @@
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixcord",
"llm-agents",
"nixpkgs"
]
},
@@ -2234,7 +2343,7 @@
"treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"tfolio",
"nixcord",
"nixpkgs"
]
},
@@ -2254,7 +2363,10 @@
},
"treefmt-nix_3": {
"inputs": {
"nixpkgs": "nixpkgs_18"
"nixpkgs": [
"tfolio",
"nixpkgs"
]
},
"locked": {
"lastModified": 1786901030,
@@ -2271,6 +2383,24 @@
}
},
"treefmt-nix_4": {
"inputs": {
"nixpkgs": "nixpkgs_19"
},
"locked": {
"lastModified": 1786901030,
"narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_5": {
"inputs": {
"nixpkgs": [
"trok",
@@ -2291,7 +2421,7 @@
"type": "github"
}
},
"treefmt-nix_5": {
"treefmt-nix_6": {
"inputs": {
"nixpkgs": [
"tshell",
@@ -2314,11 +2444,11 @@
},
"trok": {
"inputs": {
"flake-parts": "flake-parts_6",
"flake-parts": "flake-parts_7",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix_4"
"treefmt-nix": "treefmt-nix_5"
},
"locked": {
"lastModified": 1788821928,
@@ -2340,7 +2470,7 @@
"nixpkgs"
],
"quickshell": "quickshell",
"treefmt-nix": "treefmt-nix_5"
"treefmt-nix": "treefmt-nix_6"
},
"locked": {
"lastModified": 1789072839,
@@ -2430,15 +2560,15 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_4",
"systems": "systems_5",
"vicinae": "vicinae"
},
"locked": {
"lastModified": 1788877077,
"narHash": "sha256-Os614eK4hYC8l9cECt2zBiQbrdv+9q2AyrliHfiEf5A=",
"lastModified": 1789530923,
"narHash": "sha256-fJn+0rlse0n1QrTR9pqx5dm3pbsZidMd/xLKscbBG/s=",
"owner": "vicinaehq",
"repo": "extensions",
"rev": "ee117bc64f341ed71b4a27e311f343b12a75f43d",
"rev": "5882e1bbdfcf64279cbd1ed86a50aabed6f716d3",
"type": "github"
},
"original": {
@@ -2450,7 +2580,7 @@
"voxtype": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_19"
"nixpkgs": "nixpkgs_20"
},
"locked": {
"lastModified": 1780004034,
@@ -2481,11 +2611,11 @@
},
"locked": {
"dir": "nix",
"lastModified": 1788934506,
"narHash": "sha256-8WiIkSOHkV3GWyTZKUr1QX26qQPYeCq0PsK4yCIyku8=",
"lastModified": 1789638297,
"narHash": "sha256-hMYtOUp/mlKJ0mlFkyOQtKAPjZGH060LLDNuj5csIvg=",
"owner": "wez",
"repo": "wezterm",
"rev": "9fa147c9532c7b175335f6453a4dd7ad7e6473b2",
"rev": "b09b56c29c1e367e598b60ca266e2cc9038751e0",
"type": "github"
},
"original": {

View File

@@ -94,5 +94,6 @@
voxtype.url = "github:peteonrails/voxtype/v0.7.5";
opencode.url = "github:anomalyco/opencode";
serpantinum.url = "github:ilyamiro/serpantinum";
llm-agents.url = "github:numtide/llm-agents.nix";
};
}

View File

@@ -1,6 +1,7 @@
{inputs, ...}: {
flake.overlays = {
modifications = final: prev: {
omasnap = prev.callPackage ../../packages/omasnap.nix {};
tnvim = inputs.tnvim.packages.${prev.stdenv.hostPlatform.system}.default;
tshell = inputs.tshell.packages.${prev.stdenv.hostPlatform.system}.default;
trok = inputs.trok.packages.${prev.stdenv.hostPlatform.system}.default;
@@ -14,6 +15,18 @@
opencode-git = inputs.opencode.packages.${prev.stdenv.hostPlatform.system}.default;
nix-index-small =
inputs.nix-index-database.packages.${prev.stdenv.hostPlatform.system}.nix-index-with-small-db;
davinci-resolve = prev.davinci-resolve.override {
runCommandLocal = name: env: cmd:
if prev.lib.hasSuffix "-src.zip" name
then
prev.runCommandLocal name (env
// {
outputHash = "sha256-+3SB32EHpH9/0hM3h8CrO6f7V4ZAmxUFh3P8m6QDeO0=";
})
cmd
else prev.runCommandLocal name env cmd;
};
};
stable-packages = final: _prev: {
@@ -25,12 +38,17 @@
nur = inputs.nur.overlays.default;
copyparty = inputs.copyparty.overlays.default;
llm-agents = inputs.llm-agents.overlays.shared-nixpkgs;
};
perSystem = {system, ...}: {
_module.args.pkgs = import inputs.nixpkgs {
perSystem = {system, ...}: let
pkgs = import inputs.nixpkgs {
inherit system;
overlays = builtins.attrValues inputs.self.overlays;
};
in {
_module.args.pkgs = pkgs;
packages.omasnap = pkgs.omasnap;
};
}

View File

@@ -4,7 +4,7 @@
config,
...
}: let
configDir = "${config.xdg.configHome}/BraveSoftware/Brave-Browser";
configDir = "${config.xdg.configHome}/BraveSoftware/Brave-Origin";
extensionJson = ext: {
name = "${configDir}/External Extensions/${ext.id}.json";
@@ -23,13 +23,15 @@
in {
programs.chromium = {
enable = true;
package = pkgs.brave;
package = pkgs.brave-origin;
commandLineArgs = [
"--disable-features=WebRtcAllowInputVolumeAdjustment"
"--force-device-scale-factor=1.0"
];
};
home.packages = [pkgs.brave];
home.file = builtins.listToAttrs (map extensionJson extensions);
};
}

View File

@@ -30,6 +30,7 @@
hyprshot
wl-clipboard
wl-screenrec
omasnap
(writeShellScriptBin "hypr-screenshot" ''
hyprshot -m region -r ppm - | satty --filename -
'')

View File

@@ -0,0 +1,86 @@
{
flake.modules.homeManager.desktop = {pkgs, ...}: {
programs.kitty = {
enable = true;
package = pkgs.kitty;
font = {
name = "JetBrainsMono Nerd Font";
size = 12.0;
};
shellIntegration.enableZshIntegration = true;
settings = {
background_opacity = "1.0";
enable_audio_bell = false;
confirm_os_window_close = 0;
cursor_trail = 3;
# Window
window_padding_width = 10;
foreground = "#f1f1f1";
background = "#0f0f0f";
# Borders
active_border_color = "#3d59a1";
inactive_border_color = "#101014";
bell_border_color = "#fffac2";
# Colors
color0 = "#0f0f0f";
color8 = "#a6accd";
color1 = "#d0679d";
color9 = "#d0679d";
color2 = "#5de4c7";
color10 = "#5de4c7";
color3 = "#fffac2";
color11 = "#fffac2";
color4 = "#89ddff";
color12 = "#add7ff";
color5 = "#fcc5e9";
color13 = "#fae4fc";
color6 = "#add7ff";
color14 = "#89ddff";
color7 = "#ffffff";
color15 = "#ffffff";
# Cursor
cursor = "#ffffff";
cursor_text_color = "#0f0f0f";
# Selection
selection_foreground = "none";
selection_background = "#28344a";
# URLs
url_color = "#5de4c7";
# Tab bar
tab_bar_edge = "bottom";
tab_bar_style = "fade";
tab_fade = "1";
active_tab_foreground = "#3d59a1";
active_tab_background = "#16161e";
active_tab_font_style = "bold";
inactive_tab_foreground = "#787c99";
inactive_tab_background = "#16161e";
inactive_tab_font_style = "bold";
tab_bar_background = "#101014";
};
};
};
}

View File

@@ -0,0 +1,19 @@
{
flake.modules.homeManager.desktop = {
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/discord" = "vesktop.desktop";
"text/html" = "brave-origin.desktop";
"x-scheme-handler/http" = "brave-origin.desktop";
"x-scheme-handler/https" = "brave-origin.desktop";
"x-scheme-handler/about" = "brave-origin.desktop";
"x-scheme-handler/unknown" = "brave-origin.desktop";
"x-scheme-handler/claude-cli" = "claude-code-url-handler.desktop";
};
};
};
}

View File

@@ -25,11 +25,16 @@
language = "en";
weatherUnit = "metric";
weatherInterval = 30;
avatarPath = "/home/tux/Wallpapers/tux.png";
muteSfx = true;
};
bar = {
position = "top";
style = "modular";
time = {
format = "hh:mm:ss A";
};
width = 5;
workspaceCount = 7;
modules = {

View File

@@ -4,7 +4,7 @@
enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 28;
size = 24;
};
qt = {

View File

@@ -12,7 +12,14 @@
service.enable = true;
settings = {
hotkey.enabled = false;
whisper.language = "en";
whisper = {
language = "en";
on_demand_loading = true;
};
parakeet = {
on_demand_loading = true;
};
};
};
};

View File

@@ -29,6 +29,25 @@
diagnostics = false;
metrics = false;
};
agent = {
dock = "right";
favorite_models = [];
model_parameters = [];
};
collaboration_panel = {
button = false;
};
agent_servers = {
opencode = {
default_config_options = {
model = "opencode-go/deepseek-v4.1-flash";
};
type = "registry";
};
};
};
};
};

View File

@@ -0,0 +1,7 @@
{
flake.modules.homeManager.shell = {
programs.gh = {
enable = true;
};
};
}

View File

@@ -10,6 +10,77 @@
dig
lsof
trok
(writeShellScriptBin "hm-override" ''
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "Usage:"
echo " $0 <filename> Override symlink"
echo " $0 <filename> --restore Restore symlink"
echo " $0 <filename> -r Restore symlink"
exit 1
}
if [[ $# -lt 1 || $# -gt 2 ]]; then
usage
fi
FILE="$1"
LINK_BACKUP="''${FILE}.backup-link"
# Restore
if [[ "''${2:-}" == "--restore" || "''${2:-}" == "-r" ]]; then
if [[ ! -f "$LINK_BACKUP" ]]; then
echo "Error: no backup symlink found: $LINK_BACKUP"
exit 1
fi
TARGET="$(cat "$LINK_BACKUP")"
# Remove the temporary override.
rm -f "$FILE"
# Restore the original symlink.
ln -s "$TARGET" "$FILE"
# Remove the temporary symlink target backup.
rm "$LINK_BACKUP"
echo "Restored: $FILE -> $TARGET"
exit 0
fi
# Override mode
if [[ ! -L "$FILE" ]]; then
echo "Error: $FILE is not a symlink"
exit 1
fi
if [[ -e "$LINK_BACKUP" ]]; then
echo "Error: backup already exists: $LINK_BACKUP"
echo "Restore the existing override before running again."
exit 1
fi
# Remember the original symlink target.
TARGET="$(readlink "$FILE")"
printf '%s\n' "$TARGET" > "$LINK_BACKUP"
# Copy the contents before removing the symlink.
cp "$FILE" "$FILE.tmp"
# Replace the symlink with a regular writable file.
rm "$FILE"
mv "$FILE.tmp" "$FILE"
chmod u+w "$FILE"
echo "Overridden: $FILE"
echo "Original: $FILE -> $TARGET"
'')
];
};
}

View File

@@ -7,7 +7,7 @@
theme = "system";
};
settings = {
model = "opencode-go/kimi-k3";
model = "opencode-go/deepseek-v4.1-flash";
provider = {
google = {
options = {
@@ -24,6 +24,11 @@
apiKey = "{file:/run/secrets/opencode-go-api-key}";
};
};
zai-coding-plan = {
options = {
apiKey = "{file:/run/secrets/zai-coding-plan-api-key}";
};
};
};
plugin = ["@dietrichgebert/ponytail"];
};

36
modules/hm/shell/pi.nix Normal file
View File

@@ -0,0 +1,36 @@
{
flake.modules.homeManager.shell = {pkgs, ...}: {
home.file.".pi/agent/auth.json".text = builtins.toJSON {
google = {
type = "api_key";
key = "!cat /run/secrets/gemini-api-key";
};
openrouter = {
type = "api_key";
key = "!cat /run/secrets/openrouter-api-key";
};
opencode-go = {
type = "api_key";
key = "!cat /run/secrets/opencode-go-api-key";
};
zai = {
type = "api_key";
key = "!cat /run/secrets/zai-coding-plan-api-key";
};
};
programs.pi-coding-agent = {
enable = true;
package = pkgs.llm-agents.pi;
settings = {
defaultModel = "glm-5.3-flash";
defaultProvider = "zai";
defaultThinkingLevel = "medium";
theme = "dark";
};
};
home.packages = with pkgs; [llm-agents.omp];
};
}

View File

@@ -98,6 +98,11 @@
owner = userName;
};
zai-coding-plan-api-key = {
sopsFile = ./secrets.yaml;
owner = userName;
};
netbird-key = {
sopsFile = ./secrets.yaml;
owner = userName;

View File

@@ -2,6 +2,7 @@ tux-password: ENC[AES256_GCM,data:tvx3nMoIuQSotxHDWLs7UesnyWY3u3EwkqAIzCw3Z2AJse
gemini-api-key: ENC[AES256_GCM,data:Bo3Z5Jhce0UOBn77I2AcrXYbBgPLDx0eOjPC8J63E/VWNhMPbbxb,iv:iWOsTACOMcK3oqq848WnJ5Ku3tYy1aadmLB4IMgoyqg=,tag:BPzlXoP8/iJaj8c/YFCWyg==,type:str]
openrouter-api-key: ENC[AES256_GCM,data:D+/ImUTg7UvBTh0fMlWMZ0O/GsQS/R4Hz+CO4l42R6mn+zk+udvw79BctXdWWyrFf2ZNOTJ/99QTtWOUOvHISWaEJogXyb+93g==,iv:c7OtgBu1Zaf7lA4InIsKOAPbAvTl3gaO7QGCFNx21Bo=,tag:KXiASj/qC1YzK6DUox57ug==,type:str]
opencode-go-api-key: ENC[AES256_GCM,data:ipKkNcRqBERIQ6f6yFzVm999s+UwJys4elHWhzpL441RfOaG9MmRWMcD+wRLJ7DSWFjYu6uUPF7TKez8J6abWeKDgg==,iv:FDSYE3R8zKVxWiP2S/sCVcwEu3fEXg/hCeqCRSF+c6g=,tag:5RDuMFGMoN6xwAYj0HiyjQ==,type:str]
zai-coding-plan-api-key: ENC[AES256_GCM,data:HrNfR+Ux/Iyt4qkD1uXzDFQb+l0ltMMrbRahEG3pofFbw98VXfRFbhspcxh9vEyqkw==,iv:lzkLxPV7Q38dn0IEgtchVMrvnVBz4e5q282704x/hmU=,tag:IKzE6Tp6D93nJHoEvCPGBQ==,type:str]
netbird-key: ENC[AES256_GCM,data:NilfyafnGhFVYD6q4+jJQxlhXNdNC8BQ1CZfu8a5wc693Y1h,iv:Rpl0OpkQdBMPpIJ08t9Z0AjDAW6c97pFZKO1KPu8ipY=,tag:du3d0SQWuqJtJSwhSgJE4g==,type:str]
cloudflare-credentials:
email: ENC[AES256_GCM,data:K9L6H4dqNNgbCFg=,iv:jirDJb+Y2sXrup6/doRmOdd8tV7zLnttcgG75r4Fs04=,tag:XeyMVC+Q9TEuTxSfOeR2Uw==,type:str]
@@ -29,7 +30,7 @@ sops:
4TkObqH8ddGpbd7cX5a/wboTjYuEdAviWxjK2oBPgtcFc1f03X3tmA==
-----END AGE ENCRYPTED FILE-----
recipient: age1mzxxxzhy3us3rd960ufqv7vlxj5cnug86md6x69llg9ujzw2pqws057llf
lastmodified: "2026-08-07T20:02:00Z"
mac: ENC[AES256_GCM,data:VrA2OPCcVvAzYjZTkHPxytclISP24P1FqiIQjSGQItkMLieom80N6933hB0Tdn3BM6600bHt2NweSqHjGx//pn2Gbur4pxeN3TpF9tKXc12IcAThUL9g48fMbk5y+kWWVUF1Pezod0YnzWAlalUXFqvKinfm4RqPNjDjndA/dcI=,iv:xfs9XD5ZIQ6dyMMZ8OE5FEs/hrSr/T2VwC7XvZ7xC2A=,tag:jYWo2kgwwltKB+njiYaPkQ==,type:str]
lastmodified: "2026-09-16T14:21:00Z"
mac: ENC[AES256_GCM,data:Aqg1cboHKW5QrJooVIqgbHTFg9EpTEnfCv/RRSp0efzyXvDrR7eG5WTvJPE9IbrmS190yvOlT0fw1Bhzyr8kiyoO71sbyUessw5IMUGcLP+m2FNtt8osc7fSTGseojv3MXBndOMDEOpT+Clv6hbv/rr5eGbb05oK6rW97/pDDfU=,iv:s/9PAHHQ0mHQJosKGclSnumHqm6CG3fDVKD5eT4Q1Y0=,tag:3pgycAwYUz9aEOy4/aW30Q==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3

View File

@@ -25,11 +25,15 @@
".bun"
".rustup"
".config/sops"
".config/nix"
".local/share/nvim"
".local/share/opencode"
".local/share/zsh"
".local/share/zoxide"
".local/state/lazygit"
".pi/agent/sessions"
".omp"
];
files = [
@@ -80,6 +84,12 @@
};
configurePangolin = true;
};
coder = {
enable = true;
domain = "coder.lab.tux.rs";
configurePangolin = true;
};
};
virtualisation = {
@@ -113,6 +123,11 @@
owner = userName;
};
zai-coding-plan-api-key = {
sopsFile = ./secrets.yaml;
owner = userName;
};
netbird-key = {
sopsFile = ./secrets.yaml;
owner = userName;
@@ -139,6 +154,7 @@
networkmanager = {
enable = true;
wifi.backend = "iwd";
wifi.powersave = false;
};
wireless.iwd = {
enable = true;

View File

@@ -3,6 +3,7 @@ discord-token: ENC[AES256_GCM,data:uzxkrNRRplL/1MfvPZ/EL+I8UACuZQBHZ95BSHuxW0nBj
gemini-api-key: ENC[AES256_GCM,data:gLZSoYTdKY+rwIpYiXvN9n9PGkUD6q8Oe7dHnYkjEjwDf5qpjubg,iv:ySoNgQWTu9DjvbashF4ulyYP8fJUl4yrCTeBQ0jrGmw=,tag:FctubsQv50AP78JvTb9bpQ==,type:str]
openrouter-api-key: ENC[AES256_GCM,data:6xONCl9lqOoO7b4CEyCz9607tICDUAkpglRjGS5nYq2ppg2UKqYTrWD1BGCA5Xfs/CWskniVhoNG3vscjKiYCCh9gbM6aqdmTQ==,iv:7Iwc9t00HOOBjA7URXcUO41badqYyJCkFHM/uPkLFxY=,tag:Cl39kitr2e0//HVwAdsdUQ==,type:str]
opencode-go-api-key: ENC[AES256_GCM,data:dmeRKn7TWHnqvpyPQpcEG6yHTb2bRby/rh10ytL0jHj5R+lRmNVdmqUF92GTznY9vEaB6ZYCJecWhpm8g4upNfOWBg==,iv:9UMJpAlD8gpcNiN+liu3nawoAZQKapEg7sCp561N9E8=,tag:OZlASpOa5BQaQwFWjoLCRw==,type:str]
zai-coding-plan-api-key: ENC[AES256_GCM,data:lLegmS/RIo7JoBoAyVdcS++rXS8W62cwz+zVsv4dPnlfjGFO/nVlI5InqC34sPxLRQ==,iv:BRC7eYVmdZuWwb+2k2FrnlJih63HXrcvhVp/K5t5td8=,tag:aP8x+Xcnkz2t0hn7erCkKw==,type:str]
netbird-key: ENC[AES256_GCM,data:q6eKisca04qn/CvALrvXF79MsToDhvLRLv2JTiUBAZglCC9m,iv:jj0/ZD7IDgopprTVUgSfJmdAJmUP3iqewU3dqssGYbk=,tag:6IPRdCm2FGdlTEIX7jt3qA==,type:str]
copyparty: ENC[AES256_GCM,data:QXt8IgTekg9rzFyuzpg=,iv:vJYfHqCiheq290K9TGACHNHyOWzIn60j1Kz502SE27w=,tag:ECt7Wavlqw1V6zgXiRZtUg==,type:str]
newt: ENC[AES256_GCM,data:r5Rd81ZrzrIYbXtFkypbJltoGCOYrW6P4IpwGCtaH7lqCg7wD/WMboMx13HN4Mm0J4qbBpDakpfVv9qUTrisYP1xwpKkmY1kqPlFWRZN8hzuuNS2Tv3qUjavTp5XGotVPLHj1Cg/cwGcf8EAssYTwTy7H0PgdQKwqigQD1f1s/j4iXQ=,iv:1xP38/Ayt1xvn2fJGa5zgOrVNOw2J5taG1Orx6uNgZI=,tag:H9JXu9gzyyvTPWgXaoTsiw==,type:str]
@@ -27,7 +28,7 @@ sops:
TLKEYsPQgOJ7s8P9gw2uPUY6HRz86CtiC6EbO27u0+8BbI85x1QScg==
-----END AGE ENCRYPTED FILE-----
recipient: age1huqa3hc7wcxk4dpelrzny437nzrx4fnll3d8g9ahznzk268yju5qufapxy
lastmodified: "2026-08-12T13:48:51Z"
mac: ENC[AES256_GCM,data:0GyC8VW0qoPaIcKfGKto8wDF64gDmiIhczok8oiJ0l5B7+ZUCVAKmWkMaXHyrU7kqg06WSiIixsnclEjIMxlyZVBOcfQaXeSO51uom/ax+4CfzxSGxgnpySarWRfCHgkcGUeO/eci5MzmZPgAHy7b8IBcJWzVUCS7XBIMMyYwNs=,iv:yUsltZZ1y4fzi3Kakwt/ji/J+r/P1/3mLEQqZiN2pm4=,tag:6Fwo34LOX+jCXF9DoYUv/A==,type:str]
lastmodified: "2026-09-16T14:20:26Z"
mac: ENC[AES256_GCM,data:I33KZL3u+7jfOFu0qn4LVx2nACiURSd6RcEn0ojfT62yC/TcXlGGu4QeN1Dx4Nta77n/h8RzDTcZtiUJylLhiVBmqyMOoNaBOmLDJ+P1L7weYLoWMoaDP7IWyzttGkNTgvyv2nW5IxbdcTZwrcSlPtdupsJeNy76ATHO+eUsvGQ=,iv:FvQKGH5Vzm36huGDnMr15wQL9vsH2hsAhvu0BE/NfEI=,tag:fzAzzgmv3vjWs1VYhh4GeA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3

View File

@@ -26,12 +26,16 @@
".steam"
".bun"
".rustup"
".agents"
".cache/awww"
".cache/serpantinum"
".config/BraveSoftware"
".config/zed"
".config/Vencord"
".config/vesktop"
".config/sops"
".config/nix"
".config/coderv2"
".config/obs-studio"
".config/easyeffects"
".config/DankMaterialShell"
@@ -49,10 +53,20 @@
".local/share/GalaxyBudsClient"
".local/state/serpantinum"
".local/share/zed"
".claude"
".orca"
".config/orca"
".zcode"
".config/ZCode"
".pi/agent/sessions"
".omp"
];
files = [
".wakatime.cfg"
".claude.json"
".config/gh/hosts.yml"
];
};
};
@@ -95,6 +109,11 @@
owner = userName;
};
zai-coding-plan-api-key = {
sopsFile = ./secrets.yaml;
owner = userName;
};
netbird-key = {
sopsFile = ./secrets.yaml;
owner = userName;
@@ -112,6 +131,7 @@
networkmanager = {
enable = true;
wifi.backend = "iwd";
wifi.powersave = false;
};
wireless.iwd = {
enable = true;
@@ -132,6 +152,10 @@
telegram-desktop
galaxy-buds-client
impala
llm-agents.claude-code
llm-agents.orca
llm-agents.zcode
coder
];
# !!! DO NOT CHANGE THIS !!!

View File

@@ -2,12 +2,12 @@ tux-password: ENC[AES256_GCM,data:Xb4/JMAZCBnBheDCJdRRGXLnMJ1ej8HbN+AUqA/+2sdYES
gemini-api-key: ENC[AES256_GCM,data:Q6+actg0oyUWiUJVy/9yZmea1QyGu2o8LfMsuAVFD6k7kp0dYIrl,iv:ukyouqrHxzVpBBE98KL6PW8P3j+seemm/e0Gl1urUcM=,tag:Z7MM3dJ414CmdxE72cdzNA==,type:str]
openrouter-api-key: ENC[AES256_GCM,data:SalhWKR6artX/kOVKZGpKSmrgsQDU/heshrdkK3wotOZ3BRn/ZqZRBldvl1JPSenMAMvE2LWUdmBQmwG/id7L7JL1O/+lUHIQw==,iv:hLlHayFJgUkWOirVLfqP0pGRBZAqGKe+EE2yG1ELGNk=,tag:0qoo0tb+xWjjQXr4n1qGmw==,type:str]
opencode-go-api-key: ENC[AES256_GCM,data:zbeTcaXJZFVfYnM/7sgblJFU9WfeosX/44KsXvrzKwiLPfGLLYYo9AFaCvWzzG6jHuSZC5OYrBWfOZv4+3omfCgglQ==,iv:LscUQE+PNhXGim9PSqc9nZIZichWSgAn/zsNxQ/HM/o=,tag:MaBCobnRM42fopiibibe5Q==,type:str]
zai-coding-plan-api-key: ENC[AES256_GCM,data:osUoFOvBgu+PtNiTIDIm3JoxsBJnQ9I8zY//9oeTpJxIvMctSWYnT4GYP4oI5mClZg==,iv:z5qxUPomGF1avLyk8PrAS3t+34ZGlQMRjbxVJ4JH9Cc=,tag:Qbz/LYAMXejXU4RS3RUPqA==,type:str]
netbird-key: ENC[AES256_GCM,data:swmaa+RjxeUmEl8hS2riGrW4lP5jdks9HM3x57/FLpOuqFtR,iv:MrpVjiocrPi+dBGPk7pwgSUNlJ1eryRpMjC8+jkU+T0=,tag:j6sqpQ02apqc6FwkdDvk9g==,type:str]
vicinae-json: ENC[AES256_GCM,data:FarBf6l8pl3hF7kGKPIWztUhwiKoQXmyTufCuJ120K/bPh1Bfiyi+ETt4DLYOGI6FJXfpVz4BbZOA29bXTLhVPxH0QtyBu/F5uEqA015b/c8VevDJSyy9huR13qO9ksLbMBt8RfWbAd9j26t7A1C8/mMyiJOEXCCTV9CEIW3xWrsYmhwsT8RYM+PwrPSeN1gQXHSMyRUjf/kOdJoda8+iXpLfjo4II4r2ELpbqi8QxhrRdsJsoOfAymFM784NtlTjE+h6S4TMehmoF/9ARif6I5SGQ0WfIKt/8orTGCPllL+NupLziSnpIGRGSybdArD+o5NCw59GOAbVRADxq8rCESwEkq3cF+hm8HabfYbiQ==,iv:Y/hXLFTJT3gNF3B6tgKoAh7njVuneoUzjVTlsCZiySw=,tag:2hfrwph6IccJdRu/yGu3XA==,type:str]
sops:
age:
- recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
enc: |
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqS2RZdVJaNTlRamZPMkll
MDRVSVl1b2x2LzZpdlBrdmZtdyt3UE15RldRCldXUXE2a1BFeHg5NGNPbW5IMDht
@@ -15,8 +15,8 @@ sops:
bThQTFdZU29ISm93TWcwVk5ZTkhRWm8KCcprmLGhahgDkXCBpzjctHgao+gc+rKC
xLIwheUyFJOGK+ixqcdoZ/PC0kY68hVLt1YzLAyxFi4Ur1wltPrNug==
-----END AGE ENCRYPTED FILE-----
- recipient: age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an
enc: |
recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGVW13WFE1Ylh3Uk1HNU1i
bU9kRzFqTmhkQlRzMlRkM0VhMlNmMDUyK25NCkZYUStxM2tScGozRXJGekxGa1RX
@@ -24,7 +24,8 @@ sops:
V1N3eUVjZ0VZRjBZdXRPNng3Y3JoUTAKQau9CG9XfvM+5JZVRwaJr/o/sXMaJiy2
wo2YcDb+4vfT4Wr+/8J3ccQgbLRZH916X5ZPL+A+nFyVXVKOCl3ENg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-05-12T06:33:00Z"
mac: ENC[AES256_GCM,data:htDJdEx34Q5NG8vwbBimnFENZawbLZ4FC0DkyG6J5RYP0BFnycKcKGsYR87SvIjcJZXvfZ0e6fXdtc78dd6I0sQtrQ7aNn4Iktbu/AkPmntsBwpIjVI99X9zUyQB87go/oX15yuyt8loB6ds2RkL/pfFsgLbFc10JHsBy+WcEzI=,iv:HvY+5LYzyHpRm8XCSKrN8ra/LJT9v23TPSsZg/4QVNU=,tag:k+d45+zgBYq4vlWmmc8ZkQ==,type:str]
recipient: age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an
lastmodified: "2026-09-16T14:20:36Z"
mac: ENC[AES256_GCM,data:mhJvvn/+VBfNrP1pXRweLSNVlHq9/DLDcKQv8k9ZVsEcd077ifEAqduOXVKXcXDM0VTuBzArw9hmih+kZbCHoUZAQrk8LF7FC4a4FFwXG9p45uKWbUloTuq5w3MCxyU8IoyiAufZcWUlYFQjZ8K4n8N0bVrGQGHogemnrBXTUIo=,iv:H3tKQOuIe/pEIp0pUWCSar8VDompXNZ4BZfD1Wg4pb0=,tag:lyPR4Prlal1bpSRLmGfy7A==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.2
version: 3.13.3

View File

@@ -23,15 +23,19 @@
home = {
directories = [
"Distrobox"
".steam"
".bun"
".rustup"
".steam"
".agents"
".cache/awww"
".cache/serpantinum"
".config/BraveSoftware"
".config/zed"
".config/Vencord"
".config/vesktop"
".config/sops"
".config/nix"
".config/coderv2"
".config/obs-studio"
".config/easyeffects"
".config/DankMaterialShell"
@@ -46,13 +50,24 @@
".local/state/lazygit"
".local/share/vicinae"
".local/share/TelegramDesktop"
".local/share/GalaxyBudsClient"
".local/state/serpantinum"
".local/share/zed"
".claude"
".orca"
".config/orca"
".zcode"
".config/ZCode"
".pi/agent/sessions"
".omp"
];
files = [
".wakatime.cfg"
".config/lan-mouse/lan-mouse.pem"
".claude.json"
".config/gh/hosts.yml"
];
};
};
@@ -95,6 +110,11 @@
owner = userName;
};
zai-coding-plan-api-key = {
sopsFile = ./secrets.yaml;
owner = userName;
};
netbird-key = {
sopsFile = ./secrets.yaml;
owner = userName;
@@ -112,6 +132,7 @@
networkmanager = {
enable = true;
wifi.backend = "iwd";
wifi.powersave = false;
};
wireless.iwd = {
enable = true;
@@ -130,7 +151,12 @@
environment.systemPackages = with pkgs; [
davinci-resolve
telegram-desktop
galaxy-buds-client
impala
llm-agents.claude-code
llm-agents.orca
llm-agents.zcode
coder
];
# !!! DO NOT CHANGE THIS !!!

View File

@@ -2,12 +2,12 @@ tux-password: ENC[AES256_GCM,data:JWQVd2MYX2U4UP4II62ixG9hWI5MtgHAFhl8aCmyrYPl1H
gemini-api-key: ENC[AES256_GCM,data:Y9YgXp/tB3Q1Rb5YMsZLgWCq+bdeIjsXAVeO3Yh7nZ8MwDH7d5De,iv:FIXxJCn6JDYsHIoNn8f8Un3z9ZPVbxdjR48Ux88poRg=,tag:bMJ4i69HTspnhzsrsxkbrw==,type:str]
openrouter-api-key: ENC[AES256_GCM,data:HfZgZz4NyCLLM9woTZp2I6JGOlVcFblw2OMjx8k0TG5ZU2ycBCF6bKqp3wFibUxXcHy+nIfjI82fkLeSyIaGILRLYCJCc8BHKw==,iv:umUcn8MRaj7JXo6IFrGMXOu+jsFSCEikMxsQxfaFS/Q=,tag:l2s61C4EpJoKv8cc9nYGFA==,type:str]
opencode-go-api-key: ENC[AES256_GCM,data:BGERcZg5Jpnznc4cXeYFMhPk9kKBkd9GvIuQBV9TW3JE1utgrLLYK6mKNCQqrEStRFiO2jUUnBm3opUNL4SuEHFLpw==,iv:fgFAwx6z9yruK27PvAJX/Q2CS9gU+LJ5zMUK/f/rzpo=,tag:BPu3M+jppPB8sLoLmfuY/Q==,type:str]
zai-coding-plan-api-key: ENC[AES256_GCM,data:u5RHaBq5WHit+GjcKYnr6vN7jkputBtt3G0lCNBciMgBnBzIcZd/JjJcNaKXfbal5w==,iv:x+mG1aoct7yfm4Hvu1mMqBq8MiF8UZbQ8SFjA99qTIw=,tag:9cEIO2tuhqE6df2M2N/R+g==,type:str]
netbird-key: ENC[AES256_GCM,data:qXAnRnLM2TlzpOvWG4exJv0+pUvpe0FpRN5xOWx3+KNt+yhq,iv:X+yl4o1RSYMCMWdVXo1hpzy+6IdKXUpsKPtYNSiHiCY=,tag:I8HbnD5iw6EJ1TdsNrhvfw==,type:str]
vicinae-json: ENC[AES256_GCM,data:JjxolEgS6uakqR4eHOx3VyrOO5kaL4dj1jcEiLWsrktCU32UB7OmP1kJEVomA1rZjODpFHL89+FRpcNFspTFrc365WlANE81RLg/M2Ja1MiLYaDFNcBGtqMX9Yc1muor53Xl7t+rTSvDIj1oE1L7xPPcjCLfwC5QDzJjCBWj9FhCxnU5BwvoJNv9vgA6xnkzAOYSPZK/ihULMD0DxyqOUEa5ECGX62OPM9Gbr7jEviaItYzOOxaRs/yQVqizodGGl/BcK6fPqvOYSxip9ABYRVSI9ZvysY7ofAkeX91ardPwVG5VvEYfxZwBvGFjV7ZfTzVkK+BiUUNrvciAETHqwkjHftPpfJjxWsgLr8lbOA==,iv:HjDE/sqVDnxeww7r2upxH57rc1+LpuMKnhhyGXoc1Ms=,tag:d2kZeWkg17eVoNACIQ3Q9A==,type:str]
sops:
age:
- recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
enc: |
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQNGdHcDc4bTFkR0EyZlUr
eXovR1lyeTZJTDg5R281MFFuMHVwOXZXYzNvCkpIT1g3K05WUUswaEVjVVJWQkJq
@@ -15,8 +15,8 @@ sops:
Z0JwWWR0STUybjVhSXdDR3NiKzV1eDQK22HmMuyqYaR/eGuALkAPB1Y5bN2KwIt3
pamM8vbnjB//hXoyrv4vsoDk9WzLGFGjgiw2qsM2HQgzQqtrwF1/1A==
-----END AGE ENCRYPTED FILE-----
- recipient: age1maxsx5tq2h3d92rfyl8ekcdan5gu5cpch4qs3c56cu7qag02xgvs3h0gqc
enc: |
recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1N3ZBd1pHODFtZkZxaHNP
OXlXUzVFS0ZIam1IWVkxNldOdTEwY0s4aUNZCjVlcnF1aXJxUUlQSXhteXJ6OU1W
@@ -24,7 +24,8 @@ sops:
M3JocWZJeXFxenhXOENBVWpvNkd3bm8KqhNLzCyEAI643jGWpZF/uTchHmBj8ozU
HtpOzKsshif66D0XOHeJQfQamJI4TyKsj3Sk3j9rstsLmN2lxTRGHg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-05-10T00:35:50Z"
mac: ENC[AES256_GCM,data:u27zQ1PPnWy5Parbh/1DkVP3ICmHnLZJKaLbN3dZEVONgqOWi32LV3t0iNhtLWwVnzFPBusRWahQiqAkUdnQtrXF0OtjPCpLuIw86xB75QPGbet0GZlLNb8/xPshChZe4v520csdJMWiy3vYeKrk8LxMSViAGhmhYK2a5NbGhzI=,iv:/9vePmvCNqoP0kx24fP3HfCjS2FkjBmI5B+SycvKKW4=,tag:gE1/DnLolwhoyfMJYejGIQ==,type:str]
recipient: age1maxsx5tq2h3d92rfyl8ekcdan5gu5cpch4qs3c56cu7qag02xgvs3h0gqc
lastmodified: "2026-09-16T14:20:48Z"
mac: ENC[AES256_GCM,data:i2I6vo/tKTLq44Tu6vI2Cqp0EqQPbwuuRM2WUflD58UCr7huXIKnKrxmB1Hz/fdmpZPiCZ2dSlmOh733fKFclRmpHJLScYRX4+lFXEzToYExZlybVergxC6Cr4IaiB+A/HZIkW6iKK/ULr2mtXYNCqQgDQw8BgJuV2M/bAMM/V4=,iv:9akzmVH4CMMdDS5aukeLOxncMLKfvQCw2BYl36WAfOM=,tag:4F26bqEI8fEtNugqjHCUOg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.2
version: 3.13.3

View File

@@ -57,6 +57,7 @@
"/etc/ssh/ssh_host_ed25519_key.pub"
"/etc/ssh/ssh_host_rsa_key"
"/etc/ssh/ssh_host_rsa_key.pub"
"/etc/ly/save.txt"
]
++ cfg.impermanence.files;
};

View File

@@ -0,0 +1,5 @@
{
flake.modules.nixos.core = {...}: {
environment.enableAllTerminfo = true;
};
}

View File

@@ -33,6 +33,10 @@
"wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0="
"cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="
];
extra-substituters = ["https://cache.numtide.com"];
extra-trusted-public-keys = [
"niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g="
];
};
};
}

View File

@@ -0,0 +1,95 @@
{
flake.modules.nixos.services = {
config,
lib,
options,
...
}:
with lib; let
cfg = config.tnix.services.coder;
port = toString cfg.port;
in {
options.tnix.services.coder = {
enable = mkEnableOption "Coder";
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Host on which Coder listens";
};
port = mkOption {
type = types.port;
default = 1116;
description = "Port on which Coder listens";
};
environment = options.services.coder.environment;
domain = mkOption {
type = types.str;
default = "";
description = "Domain on which Coder is available";
};
configureNginx = mkOption {
type = types.bool;
default = false;
description = "Whether to configure Nginx as a reverse proxy for Coder";
};
configurePangolin = mkOption {
type = types.bool;
default = false;
description = "Whether to configure Pangolin as a reverse proxy for Coder";
};
};
config = mkIf cfg.enable {
users.users.coder.extraGroups = ["docker"];
services = {
coder = {
enable = true;
accessUrl = "https://${cfg.domain}";
listenAddress = "${cfg.host}:${port}";
environment = cfg.environment;
};
nginx.virtualHosts.${cfg.domain} = mkIf cfg.configureNginx {
forceSSL = acmeHost != "";
useACMEHost = mkIf (acmeHost != "") acmeHost;
locations."/" = {
proxyPass = "http://${cfg.host}:${port}";
proxyWebsockets = true;
};
};
newt.blueprint.proxy-resources = mkIf cfg.configurePangolin {
gitea = {
auth = {
sso-enabled = false;
};
full-domain = cfg.domain;
name = "coder";
protocol = "http";
targets = [
{
hostname = "localhost";
method = "http";
port = cfg.port;
healthcheck = {
hostname = "localhost";
port = cfg.port;
scheme = "http";
method = "GET";
path = "/";
};
}
];
};
};
};
};
};
}

View File

@@ -24,7 +24,7 @@
enable = true;
settings.model = {
provider = "opencode-go";
default = "deepseek-v4-flash";
default = "deepseek-v4.1-flash";
};
environmentFiles = cfg.environmentFiles;
addToSystemPackages = true;

68
packages/omasnap.nix Normal file
View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
hyprland,
kdePackages,
ninja,
pkg-config,
tesseract,
wayland,
wayland-protocols,
wayland-scanner,
wl-clipboard,
}:
stdenv.mkDerivation {
pname = "omasnap";
version = "v1.20.1";
src = fetchFromGitHub {
owner = "omacom";
repo = "omasnap";
rev = "d339588f3aba554f314d6233da2dddc98f83de55";
hash = "sha256-90p1lZDj4cksAAhpbJMQwN6cMqqcZyRVESMLpjmw294=";
};
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "/usr/share/wayland-protocols" \
"${wayland-protocols}/share/wayland-protocols"
'';
nativeBuildInputs = [
cmake
kdePackages.wrapQtAppsHook
ninja
pkg-config
wayland-scanner
];
buildInputs = [
kdePackages.layer-shell-qt
kdePackages.qtbase
wayland
wayland-protocols
];
cmakeFlags = [(lib.cmakeBool "BUILD_TESTING" false)];
qtWrapperArgs = [
"--prefix"
"PATH"
":"
(lib.makeBinPath [
hyprland
tesseract
wl-clipboard
])
];
meta = {
description = "Fast Wayland screenshot and annotation overlay for Hyprland";
homepage = "https://github.com/omacom/omasnap";
license = lib.licenses.mit;
mainProgram = "omasnap";
platforms = lib.platforms.linux;
};
}