Point template and docs at the git input
2 files changed,  +19, -17
M README.md
+17, -14
 1@@ -24,7 +24,7 @@ inputs:
 2   secrets:
 3     url: git+https://git.kilimanjaro.io/secrets
 4   devkit:
 5-    url: path:../devkit        # sibling-repo layout, or a git+https URL
 6+    url: git+https://git.kilimanjaro.io/devkit
 7     flake: false
 8 imports:
 9   - devkit
10@@ -34,16 +34,21 @@ That's the whole wiring. A project's own `devenv.nix` only needs its
11 project-specific packages/env; devkit's `enterShell` is concatenated with the
12 project's.
13 
14-## Live updates (why `path:`)
15+Each tool is added only when its input is declared. Disable one with, e.g.,
16+`devkit.bug.enable = false;` in `devenv.nix` (used by a project that ships its
17+own wrapper, like sovrn).
18 
19-With a `path:` input, edits to `devenv.nix` take effect on the **next**
20-`devenv shell` — no `devenv update`. (Verified on devenv 2.4.0.)
21+## Updating
22 
23-## Promoting to a shared git input
24+Changes are pinned per project in `devenv.lock`:
25 
26-When the module stabilizes, push it to `git+https://git.kilimanjaro.io/devenv-base`
27-and switch each project's `devkit.url` to that. Then changes are pulled with
28-`devenv update devkit` per project (pinned in `devenv.lock`, reproducible).
29+```sh
30+devenv update devkit
31+```
32+
33+For live, unpinned edits while iterating on devkit, temporarily point `devkit.url`
34+at a sibling clone (`url: path:../devkit`); edits then take effect on the next
35+`devenv shell` with no update.
36 
37 ## New project scaffold
38 
39@@ -52,16 +57,14 @@ affects `devenv shell`/`test`/`build`. Use the Nix flake template instead:
40 
41 ```sh
42 mkdir ~/projects/newthing && cd ~/projects/newthing
43-nix flake init -t path:/home/btburke/projects/devkit   # copies devenv.nix + devenv.yaml (+ .envrc)
44+nix flake init -t git+https://git.kilimanjaro.io/devkit
45 ```
46 
47-(Once pushed: `nix flake init -t git+https://git.kilimanjaro.io/devenv-base`.)
48-
49-The scaffold's `devenv.yaml` uses `path:../devkit`, so the new project must be
50-a sibling of devkit under `~/projects` — adjust otherwise.
51+(Local clone: `nix flake init -t path:/home/btburke/projects/devkit`.)
52 
53 ## Gotchas
54 
55 - Not for the tool repos themselves (`bug`, `secrets`, `local-code-review`):
56   importing devkit there would be circular.
57-- devkit's own `devenv.yaml` is only for standalone use in this directory.
58+- devkit's own `devenv.yaml` is only for standalone use in this directory; it is
59+  ignored when devkit is imported (devenv#2205).
M template/devenv.yaml
+2, -3
 1@@ -1,6 +1,5 @@
 2-# New-project scaffold. Copy alongside devenv.nix.
 3+# New-project scaffold. Copied by `nix flake init -t git+https://git.kilimanjaro.io/devkit`.
 4 #
 5-# `path:../devkit` assumes the project is a sibling of devkit under ~/projects.
 6 # devenv#2205: the three tool inputs must be declared here (devkit's own
 7 # devenv.yaml is not evaluated when imported).
 8 inputs:
 9@@ -13,7 +12,7 @@ inputs:
10   secrets:
11     url: git+https://git.kilimanjaro.io/secrets
12   devkit:
13-    url: path:../devkit
14+    url: git+https://git.kilimanjaro.io/devkit
15     flake: false
16 imports:
17   - devkit