Skip to content

Build the Nix package against non-interactive bash - #9

Merged
rpearce merged 1 commit into
mainfrom
nix-bash-noninteractive
Sep 26, 2026
Merged

rpearce merged 1 commit into
mainfrom
nix-bash-noninteractive

Conversation

@rpearce

@rpearce rpearce commented Sep 26, 2026

Copy link
Copy Markdown
Owner

On nixos-26.05, bash is the interactive build. Having it in buildInputs pulled readline, ncurses and libiconv into the package's closure and gave the script a bash-interactive shebang:

closure (aarch64-darwin) shebang
before (bash) 55.9 MiB bash-interactive-5.3p9
after (bashNonInteractive) 2.8 MiB bash-5.3p9

The script doesn't use any interactive-bash features, and this matches the nixpkgs 0.2.0 update (NixOS/nixpkgs#567054).

Since the dev shell takes the package's inputs, bash inside nix develop would have become the non-interactive build too, so the dev shell adds bashInteractive back.

make check and nix flake check pass locally.

🤖 Generated with Claude Code

On nixos-26.05, `bash` is the interactive build, which drags readline,
ncurses and libiconv into the package's closure (55.9 MiB instead of
2.8 MiB on aarch64-darwin). The script doesn't need any of that, so it
uses bashNonInteractive now, like the nixpkgs 0.2.0 update. The dev
shell adds bashInteractive back so `bash` there still has line editing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rpearce
rpearce merged commit fafd5be into main Sep 26, 2026
2 checks passed
@rpearce
rpearce deleted the nix-bash-noninteractive branch September 26, 2026 04:47
@rpearce
rpearce restored the nix-bash-noninteractive branch September 27, 2026 17:33
@rpearce
rpearce deleted the nix-bash-noninteractive branch September 27, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant