docs: remove obsolete nix package doc
This commit is contained in:
parent
530c14e4b8
commit
5783503f74
75
docs/nix.md
75
docs/nix.md
|
|
@ -1,75 +0,0 @@
|
||||||
# Nix package
|
|
||||||
|
|
||||||
INSOMNIA provides a flake package for installing the user-facing `insomnia` command without relying on a source checkout at runtime. The Pod runtime still runs as a separate process through `insomnia pod ...`; the installed package does not expose a separate `insomnia-pod` command.
|
|
||||||
|
|
||||||
## Build
|
|
||||||
|
|
||||||
From the repository root:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
nix build .#
|
|
||||||
```
|
|
||||||
|
|
||||||
The default package is implemented by `package.nix` and builds the Cargo package `tui` as the installed binary `insomnia`. The `pod` crate remains a library dependency that provides the Pod runtime entrypoint used by `insomnia pod ...`. The derivation uses the checked-in `Cargo.lock`, so Cargo dependencies are fetched by the normal Nix Rust packaging path instead of by network access during the build.
|
|
||||||
|
|
||||||
The package output contains:
|
|
||||||
|
|
||||||
- `bin/insomnia` — terminal UI and `insomnia pod ...` runtime entrypoint.
|
|
||||||
- `share/doc/insomnia/nix.md` — this document.
|
|
||||||
- `share/doc/insomnia/environment.md` — environment-variable policy and supported variables.
|
|
||||||
|
|
||||||
## Run
|
|
||||||
|
|
||||||
After `nix build`:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./result/bin/insomnia pod --help
|
|
||||||
./result/bin/insomnia
|
|
||||||
```
|
|
||||||
|
|
||||||
With flakes:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
nix run .#insomnia
|
|
||||||
nix run .#insomnia -- pod --help
|
|
||||||
```
|
|
||||||
|
|
||||||
`nix run .#` defaults to the TUI.
|
|
||||||
|
|
||||||
## Configuration discovery
|
|
||||||
|
|
||||||
The Nix package does not put user configuration, sessions, sockets, or other mutable state in the Nix store. The installed binary keeps the same path semantics as non-Nix builds:
|
|
||||||
|
|
||||||
| Purpose | Override | `INSOMNIA_HOME` fallback | XDG / default fallback |
|
|
||||||
| --- | --- | --- | --- |
|
|
||||||
| User config (`profiles.toml`, prompt overrides, model/provider overrides) | `INSOMNIA_CONFIG_DIR` | `$INSOMNIA_HOME/config` | `$XDG_CONFIG_HOME/insomnia`, then `$HOME/.config/insomnia` |
|
|
||||||
| Persistent data (`sessions/`, Pod metadata) | `INSOMNIA_DATA_DIR` | `$INSOMNIA_HOME` | `$HOME/.insomnia` |
|
|
||||||
| Runtime state (sockets, lock files, live registry) | `INSOMNIA_RUNTIME_DIR` | `$INSOMNIA_HOME/run` | `$XDG_RUNTIME_DIR/insomnia`, then `$HOME/.insomnia/run` |
|
|
||||||
|
|
||||||
Normal fresh startup is profile-based. The package includes the builtin default profile in the binary, user/project `profiles.toml` files may select or define profiles, and `insomnia pod --manifest <PATH>` remains a one-file compatibility/debug input. `INSOMNIA_USER_MANIFEST` and ambient `.insomnia/manifest.toml` discovery are not part of normal Pod/TUI startup. See [`environment.md`](environment.md) for the environment-variable policy; new configuration should prefer profiles/manifests/config files over additional environment variables.
|
|
||||||
|
|
||||||
## Validation
|
|
||||||
|
|
||||||
The package derivation has a credential-free install check that verifies:
|
|
||||||
|
|
||||||
- `insomnia pod --help` starts successfully.
|
|
||||||
- `insomnia` is installed and reaches argument parsing.
|
|
||||||
- `bin/insomnia-pod` is not installed.
|
|
||||||
- embedded builtin profiles do not require `share/insomnia/resources` at runtime.
|
|
||||||
- this Nix usage document is present in the output.
|
|
||||||
|
|
||||||
For full validation before handing changes to review, run:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
nix build .#
|
|
||||||
nix flake check
|
|
||||||
cargo fmt --check
|
|
||||||
cargo check -p tui -p pod -p client
|
|
||||||
```
|
|
||||||
|
|
||||||
These checks do not require provider credentials.
|
|
||||||
|
|
||||||
## Known limitations
|
|
||||||
|
|
||||||
- The package currently installs only the `insomnia` command; development-only wrappers from `devshell.nix` are not part of the installable package.
|
|
||||||
- The TUI does not currently expose a conventional `--help` / `--version` CLI path, so the package smoke check uses an argument-parse failure path for the TUI rather than launching an interactive session.
|
|
||||||
|
|
@ -92,7 +92,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -Dm644 docs/nix.md "$out/share/doc/insomnia/nix.md"
|
|
||||||
install -Dm644 docs/environment.md "$out/share/doc/insomnia/environment.md"
|
install -Dm644 docs/environment.md "$out/share/doc/insomnia/environment.md"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
@ -110,7 +109,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
fi
|
fi
|
||||||
grep -q "invalid --session UUID" insomnia.err
|
grep -q "invalid --session UUID" insomnia.err
|
||||||
|
|
||||||
test -f "$out/share/doc/insomnia/nix.md"
|
|
||||||
test -f "$out/share/doc/insomnia/environment.md"
|
test -f "$out/share/doc/insomnia/environment.md"
|
||||||
|
|
||||||
runHook postInstallCheck
|
runHook postInstallCheck
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user