Files
lix/doc/manual/rl-next/arg-identifier.md
T
Maximilian Bosch 3a6414760e libcmd: error if first argument for --arg/--argstr isn't an a valid identifier
Step two for #496.

The idea is to allow `nix-build --arg config.allowUnfree true` do the
right thing in the future. However, that's a breaking change since
people might be relying on the ability to set `"config.allowUnfree"` as
attribute-name when auto-calling a Nix-expression.

As a first step, a warning got introduced in 2.92, the next step is now
to reject this usage in 2.94 and await feedback if any so that we can do
the change in a future Lix release.

Change-Id: I6e38fafe26e234204f5bba2a3a4c1da10f80e5f2
2025-06-20 22:40:14 +02:00

687 B

synopsis, issues, category, credits
synopsis issues category credits
First argument to `--arg`/`--argstr` must be a valid Nix identifier
fj#496
Breaking Changes
ma27

The first argument to --arg/--argstr must be a valid Nix identifier, i.e. nix-build --arg config.allowUnfree true is now rejected.

This is because that invocation is a false friend since it doesn't set { config = { allowUnfree = true; }; }, but { "config.allowUnfree" = true; }.

The idea is to change the behavior to the latter in the long-term. For that, non-identifiers started giving a warning since 2.92 and are now rejected to give people who depend on that a chance to notice and potentially weigh in on the discussion.