This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

covibe: self-host collab-web (base /c/) in patched omp; bump (a3e7faa)

Browser links now point at https://covibe.lassul.us/c (our client, our
relay) instead of my.omp.sh. Nothing collab-related loads off-site.

+32 -7
+3 -3
flake.lock
··· 87 87 ] 88 88 }, 89 89 "locked": { 90 - "lastModified": 1784725067, 91 - "narHash": "sha256-eQMKBPH5QKQRlPL9JeonvHdq5fkuuXJgyMIJE7XMvAc=", 90 + "lastModified": 1784728726, 91 + "narHash": "sha256-IYAAxvRBVut4g3OTnl44539/gqSYgDKhArNZFqruQ58=", 92 92 "owner": "lassulus", 93 93 "repo": "covibe", 94 - "rev": "55703b9410757e9b91b6ff26fcd543988992684c", 94 + "rev": "a3e7faa89296ab96ea10d9faec148db309f6af17", 95 95 "type": "github" 96 96 }, 97 97 "original": {
+29 -4
2configs/covibe.nix
··· 8 8 self, 9 9 ... 10 10 }: 11 + let 12 + # Patched omp: env-driven headless collab autostart, plus a self-hosted 13 + # collab-web SPA (base path /c/, external analytics stripped) installed to 14 + # share/collab-web so covibe can serve the browser client itself — nothing 15 + # loads from my.omp.sh. 16 + ompPatched = (self.legacyPackages.${pkgs.stdenv.hostPlatform.system}.llm.omp).overrideAttrs (o: { 17 + patches = (o.patches or [ ]) ++ [ ./omp-collab-autostart.patch ]; 18 + postBuild = (o.postBuild or "") + '' 19 + echo "Building self-hosted collab-web (base /c/)..." 20 + sed -i '/um\.can\.ac/d' packages/collab-web/index.html 21 + ( 22 + cd packages/collab-web 23 + bun build ./index.html --outdir dist --minify \ 24 + --entry-naming '[hash].[ext]' --chunk-naming '[hash].[ext]' --asset-naming '[hash].[ext]' \ 25 + --public-path /c/ 26 + mv dist/*.html dist/index.html 27 + cp -R public/. dist/ 28 + ) 29 + ''; 30 + postInstall = (o.postInstall or "") + '' 31 + mkdir -p $out/share 32 + cp -R packages/collab-web/dist $out/share/collab-web 33 + ''; 34 + }); 35 + in 11 36 { 12 37 # covibe: co-vibing dashboard. Launches omp sessions in zellij as the 13 38 # pairprogramming user, shows live sessions + collab QR codes, and exposes a 14 39 # REST API. Browser auth via the local pocket-id IdP (id.lassul.us); the REST 15 - # surface additionally accepts a generated API key. 40 + # surface additionally accepts a generated API key. Collab uses omp's native 41 + # stack against a self-hosted relay + self-hosted collab-web (no my.omp.sh). 16 42 imports = [ self.inputs.covibe.nixosModules.default ]; 17 43 18 44 # Cookie-signing secret + REST API key (generated), plus the pocket-id client ··· 40 66 services.covibe = { 41 67 enable = true; 42 68 user = "pairprogramming"; 43 - ompPackage = (self.legacyPackages.${pkgs.stdenv.hostPlatform.system}.llm.omp).overrideAttrs (o: { 44 - patches = (o.patches or [ ]) ++ [ ./omp-collab-autostart.patch ]; 45 - }); 69 + ompPackage = ompPatched; 70 + webRoot = "${ompPatched}/share/collab-web"; 46 71 relayHost = domain; 47 72 dashboard = { 48 73 addr = "127.0.0.1:${toString port}";