Document flake outputs and usage
- Describe exported packages, apps, and checks - Add build, run, and flake inspection examples
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user