Document flake outputs and usage

- Describe exported packages, apps, and checks
- Add build, run, and flake inspection examples
This commit is contained in:
2026-04-24 20:25:33 +03:00
parent 23177e107e
commit bdc7d14c6d
+76
View File
@@ -0,0 +1,76 @@
# t3code-flake
Standalone Nix packaging for [`pingdotgg/t3code`](https://github.com/pingdotgg/t3code).
This repository does not rely on upstream Nix packaging. It fetches the upstream source as a non-flake input and builds local package expressions around that source tree.
## What It Exports
For each supported system, the flake exports:
- `packages.<system>.t3code-server`
- `packages.<system>.t3code-desktop`
- `packages.<system>.default`
- `apps.<system>.t3code-server`
- `apps.<system>.t3code-desktop`
- `apps.<system>.default`
- `checks.<system>.t3code-server`
- `checks.<system>.t3code-desktop`
Current `default` points to the desktop package/app.
## Usage
Build the server package:
```bash
nix build .#t3code-server
```
Build the desktop package:
```bash
nix build .#t3code-desktop
```
Run the server app:
```bash
nix run .#t3code-server
```
Run the desktop app:
```bash
nix run .#t3code-desktop
```
Inspect the flake surface:
```bash
nix flake show --all-systems
```
## Layout
```text
.
├── flake.nix
├── flake.lock
├── README.md
└── packages
├── common.nix
├── desktop
│ ├── build-nix-desktop-package.mjs
│ ├── default.nix
│ └── desktop-nix-autoupdate.patch
└── server
└── default.nix
```
## Notes
- `packages/common.nix` contains the shared Bun workspace and `node-pty` setup used by both packages.
- `packages/desktop/build-nix-desktop-package.mjs` is local packaging glue carried by this repo.
- `packages/desktop/desktop-nix-autoupdate.patch` is a downstream patch for desktop auto-update messaging in package-managed installs.
- Upstream source is pinned in `flake.lock` via the `t3code` input.