@@ -117,6 +117,8 @@
117117 # The terminfo database (+ tput/clear/reset) so TUIs find the
118118 # entry for whatever TERM `c` passes in and render correctly.
119119 pkgsLinux.ncurses
120+ # The session `c start` always launches.
121+ pkgsLinux.zellij
120122 ];
121123 # Link all of /etc so the above files (nsswitch.conf, protocols,
122124 # services, passwd, group, ssl certs) are present.
@@ -160,7 +162,7 @@
160162
161163 # `nix run . -- init|start` runs the bundled `c` manager script. Its
162164 # `init` builds the image from the project's `container.nix` (via
163− # `lib.copyWith`); the script finds the flake from its own (store)
165+ # `lib.copyWithShell`); the script finds the flake from its own (store)
164166 # location, so this works from a checkout or straight from
165167 # `nix run github:…/nix-container`.
166168 cApp = pkgsHost.writeShellScriptBin "c" ''
@@ -173,15 +175,15 @@
173175 default = flake-utils.lib.mkApp { drv = cApp; };
174176 };
175177
176− # Build helpers. `c init` uses `copyWith` to honour a per-project
177− # `container.nix`:
178+ # Build helpers honour a per-project `container.nix`. `c init` uses
179+ # `copyWithShell` (host shell baked in); `copyWith` is the generic form:
178180 # (builtins.getFlake "github:…/nix-container")
179181 # .lib.<system>.copyWith (import ./container.nix)
180182 lib = {
181183 inherit mkImage;
182− # skopeo copy app (`skopeo copy nix:<image> "$@"`) for an image built
183− # from a `{ pkgs, nur }: [ ... ]` function. Defaults the shell (cmd +
184− # $SHELL) to bash; use `copyWithShell` to pick another.
184+ # Build the image's `copyTo` script (a skopeo-copy wrapper) from a
185+ # `{ pkgs, nur }: [ ... ]` function. Defaults the shell (cmd + $SHELL)
186+ # to bash; use `copyWithShell` to pick another.
185187 copyWith = packages: (mkImage "bash" packages).copyTo;
186188 # Like `copyWith`, but for the named shell — `c init` passes the host
187189 # login shell, which is added to the image and used as cmd + $SHELL