Typst, decentralized collaboration with iroh, saved in git. Source
podman compose) and just.just starts the hub on :8080, then prints its link. Its images come from ghcr.io/cab-ucf, built by CI for each commit on main; a checkout with changes of its own builds here, as does TYDIG_REGISTRY= (empty) in .env../data (TYDIG_DATA). Back it up, or give each project a git remote.inputs.tydig.url = "github:cab-ucf/tydig"; and tydig.nixosModules.default among the modules (without flakes, imports = [ "${fetchTarball "https://github.com/cab-ucf/tydig/archive/main.tar.gz"}/nixos.nix" ];). That is all: the hub is the tydig service, CI's images run as an account of its own, everything in /var/lib/tydig, moved hourly to the version cxn.pub runs. Settings: services.tydig.settings, secrets in /var/lib/tydig/env. systemctl status tydig, journalctl -fu tydig, tydig link, tydig passwd EMAIL.just as an account of its own to isolate it, and just update from cron to keep it at cxn.pub's version.just down, just logs, just passwd EMAIL (no mail: prints a new password).https://cxn.pub/#…) opens the editor in any browser; after just publish, plain cxn.pub does too (sign-in and invitations still decide who gets in). It reaches the hub over iroh, end to end encrypted, through NAT: no domain, certificate or open port.data/link-seed; delete it for a new link): a request without the token is refused, and its connection closed.security.tls.ech.grease_probability to 0, or use another browser.TYDIG_HUB (what follows #) and TYDIG_BRAND, and give it a domain of its own. Whoever serves the page can read what visitors type.make).
#let R = json("build/results.json")
The water was #if R.T1 > R.T2 [cooling] else [heating].Ctrl/⌘-Alt-J shows the cursor's text in the preview.#import "@preview/cetz:0.4.2") work in the preview and in builds: the hub fetches each once.#, or Edit): AI-generated labels a file as written by AI; read-only keeps it as a reference that neither the editor nor an agent changes. They live in .gitattributes, so they travel with the project; templates ship their lib/ tagged both.Ctrl/⌘-K any command, -P open a file, -S save, -Alt-M comment, -\ show or hide the preview, -J the side panel, -Shift-E into the tree and back, -B/-I bold/italic; in the tree and the panels j/k, Enter, Esc; ? lists them all.Space then a key, shown as you wait, after AstroNvim's (w save, e the tree, z focus in and out, c comment, 1/2/3 the views, f… find, r… references, g… git, u… UI); Esc stays vim's, so focus is left by Space z, :q or the corner button; :w :e :q :vs :only :make; a :map (:imap jk <Esc>) is kept until :mapclear.Containerfile builds in its image, as its Justfile does: just → Containerfile → make → Typst. Its RUN steps are podman's and have no network: podman's own reaches all the hub's machine does (the LAN, cloud metadata). Where every member is trusted, TYDIG_IMAGE_NET=1 gives them that network..zip/.tar.gz to update a project; File › Download for the sources./fig.svg starts at the project root.report, and grants: NIH R03, R21, R25 SEPA, R35 MIRA (early-stage and established); NSF EAGER, AI Datasets (NSF 26-512: Impact or Flagship, and Planning with its Concept Outline), CMMI (NSF 26-515), CMI (NSF 26-519) and CMI GOALI; white papers to a program manager in three styles (Heilmeier, a DoD BAA's, a two-page concept paper); ARPA-H 1-CURE (ARPA-H-SOL-26-147: the solution summary, then four volumes); ARPA-H EHI (ARPA-H-SOL-26-150: a blind two-page solution summary, then the proposal, task description and milestone payments). Grey prompts quote the funder: check the current solicitation.make all (each attachment), make full (one PDF and what is missing), make budget (Excel). The checklist shows package.yaml, live.templates/; nih-r21 layers on nih, which base.json puts on grant. brand-<x> goes last.main.nih-r21.typ).claude mcp add --transport http tydig <hub>/api/agent/<project>/mcp \
--header "Authorization: Bearer tyd_..."TYDIG_AGENT_TOKEN=tyd_... just agent PROJECT answers each @name mention with Claude Code.TYDIG_OLLAMA + TYDIG_GHOST_MODEL (e.g. qwen2.5-coder:1.5b), or each person's own Ollama with OLLAMA_ORIGINS set to the page.TYDIG_SCOPE=1 runs Perplexiscope (scope/): word surprise, flatness, and AI-likeness by MELD: sentences tinted from 8%, blocked out from 70% (0% reads like half of human writing, 100% like 1 in 1,000). AI check (Edit menu, or the bar) reads the document as typeset, what a reviewer reads, and lists its AI-isms (turns of phrase AI text uses many times more than people, learned from text: "delves into the intricate interplay", "not merely a …, but a …") and its most AI-like sentences, each a click from its source. A flag is evidence to discuss, never a verdict.@yourname in comments and the Discussion: who, where, a line of it, and the project's link. Stop it there, or remove tydig from the space.TYDIG_IRCH to its path..env)TYDIG_URL | the address people open (sign-in checks it); behind TLS also TYDIG_TRUST_PROXY=1 |
TYDIG_PORT, TYDIG_BIND=0.0.0.0 | the hub's port (8080), on localhost unless bound to all |
TYDIG_SSO_DISCOVERY, _CLIENT_ID, _CLIENT_SECRET, _LABEL, _ONLY | institutional sign-in (OIDC); redirect URI <url>/api/auth/oauth2/callback/sso |
TYDIG_SIGNUP=open | anyone who reaches the hub may sign up |
TYDIG_LINK=0, TYDIG_LINK_RELAY, TYDIG_PAGE | no link; pin one relay; another static site |
TYDIG_MAX_BUILDS, TYDIG_MAX_USER_BUILDS, TYDIG_BUILD_NET=0, TYDIG_IMAGE_NET=1, TYDIG_QUOTA_MB | builds at once (2), a person's (1); no network for builds; the machine's network for a project Containerfile's RUN steps; MB per project (1000), builds' output too |
TYDIG_MAX_PROJECTS | projects a person may own (50) |
TYDIG_RUNTIME=none | builds in plain containers, not under gVisor (in the build image: each build gets a kernel of its own; just logs says which) |
TYDIG_GIT_PRIVATE=1, TYDIG_GIT_PUSH_MINUTES | allow remotes on the hub's network; push interval (5) |
TYDIG_SCOPE_MODEL, TYDIG_SCOPE_DETECTOR=, TYDIG_GPU=nvidia.com/gpu=all + TYDIG_TORCH=cu130 | another attention-only base model; no MELD; a GPU |
TYDIG_BRAND, TYDIG_TEMPLATES | the editor's look (client/brands/); another templates folder |
TYDIG_URL, or set it to the address you use.systemctl --user status podman.socket, then just.iroh.cxn.center, use1-1.relay.n0.iroh.link).git@ URL, add the key the hub shows as a deploy key with write access.make.refs/notes/provenance).