- nix/package.nix: two-phase build with fixed-output derivation for deps - nix/nixos-module.nix: systemd service with systant.enable and systant.configFile - flake.nix: expose nixosModules.default and overlays.default Usage in NixOS config: systant.enable = true; systant.configFile = ./systant.toml; When deps change, update hash: nix build .#systant 2>&1 | grep 'got:' Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
29 lines
630 B
Markdown
29 lines
630 B
Markdown
# /build
|
|
|
|
Build the systant CLI binary.
|
|
|
|
## Instructions
|
|
|
|
1. Run type checking first: `bunx tsc --noEmit`
|
|
2. If types pass, build the binary: `bun build index.ts --compile --outfile dist/systant`
|
|
3. Report the binary size and location
|
|
4. If there are errors, show them clearly and suggest fixes
|
|
|
|
## Nix Build
|
|
|
|
For NixOS deployment, the binary is built by Nix using:
|
|
```bash
|
|
nix build .#systant
|
|
```
|
|
|
|
If you update dependencies (bun.lock), update the hash in `nix/package.nix`:
|
|
```bash
|
|
nix build .#systant 2>&1 | grep 'got:'
|
|
```
|
|
|
|
## Success Criteria
|
|
|
|
- No TypeScript errors
|
|
- Binary created at `dist/systant`
|
|
- Binary is executable
|