diff --git a/home/claude/memory/MEMORY.md b/home/claude/memory/MEMORY.md index 3210df4..aae31cf 100644 --- a/home/claude/memory/MEMORY.md +++ b/home/claude/memory/MEMORY.md @@ -9,3 +9,4 @@ - [Review and comments workflow](workflow_review_and_comments.md) — show PR body and non-trivial Jira comments before posting; terse IaC code comments; PR body content rules - [Sandbox prompts](feedback_sandbox_prompts.md) — don't prompt for sandbox-disable or routine read-only shell ops; broaden permissions instead - [Dev clusters disposable](dev_clusters_disposable.md) — Lyra's dev clusters are recreatable; mutate/break freely, no confirmation needed +- [Nix shell tooling](nix_shell_tooling.md) — any nixpkgs tool runs ad hoc via `nix run`/`nix shell nixpkgs#`; a missing command is never a dead end diff --git a/home/claude/memory/nix_shell_tooling.md b/home/claude/memory/nix_shell_tooling.md new file mode 100644 index 0000000..132e4e8 --- /dev/null +++ b/home/claude/memory/nix_shell_tooling.md @@ -0,0 +1,23 @@ +--- +name: nix-shell-tooling +description: "Any nixpkgs tool can be run ad hoc via nix run / nix shell — a missing command is never a dead end during development" +metadata: + node_type: memory + type: feedback + originSessionId: dfb56b58-518b-4daf-b531-7119bb4a9534 +--- + +Any tool in nixpkgs can be run without installing it into the environment. If a +command is missing during development, pull it from nixpkgs on the fly instead +of working around its absence or reporting the tool as unavailable. + +**Why:** Lyra runs NixOS; the ambient PATH is deliberately minimal, but the full +nixpkgs set is always one command away. "command not found" is not a blocker. + +**How to apply:** + +- One-off run: `nix run nixpkgs# -- ` (e.g. `nix run nixpkgs#jq -- .`). +- Tools on PATH for a session: `nix shell nixpkgs# [nixpkgs# ...]`, + then run commands normally. +- Legacy form also works: `nix-shell -p --run ''`. +- Prefer this over hand-rolling a substitute for a tool that exists in nixpkgs.