forked from lix-project/lix
Rename nix show-config
to nix config show
Part of #7672
My main motivation is to be able to use `nix.checkConfig`[1]. This
doesn't work with Lix currently since the module uses `nix show-config`
if the Nix version is <2.20pre and `nix config show` otherwise. I think
this is the only instance where nixpkgs checks for which Nix commands
exist that affects us now, so I figured we could just perform the rename
here as well[2] and still provide the current version number[3].
I don't have a strong opinion on whether to deprecate `nix show-config`,
the warning is added there automatically.
(cherry picked from commit f300e11b056dea414d7d77bbc6e5a7dc5d9ddd41)
[1] https://nixos.org/manual/nixos/stable/options.html#opt-nix.checkConfig
[2] I should add that I don't use the "official" ways of installing Lix
because using the flake directly and callPackaging it seemed to fit
better into my workflow: I already have a little mess to make
sure Hydra from the flake uses the correct pkgs.nix and I didn't
want to complicate it further while keeping a single package-set I
can build in CI. Don't get me wrong, I think such a module for a
quick-start is very important, just giving context on why I bother
in the first place :)
[3] When we go public, I think it's worth considering to add support in
nixpkgs itself for Lix.
Change-Id: I47b4239b05cbeda3c370d2fa56ea768b768768ac
This commit is contained in:
parent
6f0636a7ed
commit
8458d98b27
|
@ -29,7 +29,7 @@ man-pages += $(foreach subcommand, \
|
||||||
clean-files += $(d)/*.1 $(d)/*.5 $(d)/*.8
|
clean-files += $(d)/*.1 $(d)/*.5 $(d)/*.8
|
||||||
|
|
||||||
# Provide a dummy environment for nix, so that it will not access files outside the macOS sandbox.
|
# Provide a dummy environment for nix, so that it will not access files outside the macOS sandbox.
|
||||||
# Set cores to 0 because otherwise nix show-config resolves the cores based on the current machine
|
# Set cores to 0 because otherwise nix config show resolves the cores based on the current machine
|
||||||
dummy-env = env -i \
|
dummy-env = env -i \
|
||||||
HOME=/dummy \
|
HOME=/dummy \
|
||||||
NIX_CONF_DIR=/dummy \
|
NIX_CONF_DIR=/dummy \
|
||||||
|
@ -89,7 +89,7 @@ doc/manual/generated/in/nix.json: $(doc_nix)
|
||||||
|
|
||||||
doc/manual/generated/in/conf-file.json: $(doc_nix)
|
doc/manual/generated/in/conf-file.json: $(doc_nix)
|
||||||
@mkdir -p doc/manual/generated/in
|
@mkdir -p doc/manual/generated/in
|
||||||
$(trace-gen) $(dummy-env) $(doc_nix) show-config --json --experimental-features nix-command > $@.tmp
|
$(trace-gen) $(dummy-env) $(doc_nix) config show --json --experimental-features nix-command > $@.tmp
|
||||||
@mv $@.tmp $@
|
@mv $@.tmp $@
|
||||||
|
|
||||||
doc/manual/generated/in/contributing/experimental-feature-descriptions.md: doc/manual/generated/in/xp-features.json $(d)/utils.nix $(d)/generate-xp-features.nix $(doc_nix)
|
doc/manual/generated/in/contributing/experimental-feature-descriptions.md: doc/manual/generated/in/xp-features.json $(d)/utils.nix $(d)/generate-xp-features.nix $(doc_nix)
|
||||||
|
|
|
@ -197,6 +197,8 @@ endforeach
|
||||||
nix3_manpages = [
|
nix3_manpages = [
|
||||||
'nix3-build',
|
'nix3-build',
|
||||||
'nix3-bundle',
|
'nix3-bundle',
|
||||||
|
'nix3-config',
|
||||||
|
'nix3-config-show',
|
||||||
'nix3-copy',
|
'nix3-copy',
|
||||||
'nix3-daemon',
|
'nix3-daemon',
|
||||||
'nix3-derivation-add',
|
'nix3-derivation-add',
|
||||||
|
@ -258,7 +260,6 @@ nix3_manpages = [
|
||||||
'nix3-run',
|
'nix3-run',
|
||||||
'nix3-search',
|
'nix3-search',
|
||||||
'nix3-shell',
|
'nix3-shell',
|
||||||
'nix3-show-config',
|
|
||||||
'nix3-store-add-file',
|
'nix3-store-add-file',
|
||||||
'nix3-store-add-path',
|
'nix3-store-add-path',
|
||||||
'nix3-store-cat',
|
'nix3-store-cat',
|
||||||
|
|
7
doc/manual/rl-next/nix-config-show.md
Normal file
7
doc/manual/rl-next/nix-config-show.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
synopsis: rename 'nix show-config' to 'nix config show'
|
||||||
|
issues: 7672
|
||||||
|
prs: 9477
|
||||||
|
---
|
||||||
|
|
||||||
|
`nix show-config` was renamed to `nix config show` to be more consistent with the rest of the command-line interface.
|
|
@ -91,6 +91,8 @@
|
||||||
- [nix](command-ref/new-cli/nix.md)
|
- [nix](command-ref/new-cli/nix.md)
|
||||||
- [nix build](command-ref/new-cli/nix3-build.md)
|
- [nix build](command-ref/new-cli/nix3-build.md)
|
||||||
- [nix bundle](command-ref/new-cli/nix3-bundle.md)
|
- [nix bundle](command-ref/new-cli/nix3-bundle.md)
|
||||||
|
- [nix config](command-ref/new-cli/nix3-config.md)
|
||||||
|
- [nix config show](command-ref/new-cli/nix3-config-show.md)
|
||||||
- [nix copy](command-ref/new-cli/nix3-copy.md)
|
- [nix copy](command-ref/new-cli/nix3-copy.md)
|
||||||
- [nix daemon](command-ref/new-cli/nix3-daemon.md)
|
- [nix daemon](command-ref/new-cli/nix3-daemon.md)
|
||||||
- [nix derivation](command-ref/new-cli/nix3-derivation.md)
|
- [nix derivation](command-ref/new-cli/nix3-derivation.md)
|
||||||
|
|
1
doc/manual/src/command-ref/new-cli/nix3-config-show.md
Normal file
1
doc/manual/src/command-ref/new-cli/nix3-config-show.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{{#include @generated@/command-ref/new-cli/nix3-config-show.md}}
|
1
doc/manual/src/command-ref/new-cli/nix3-config.md
Normal file
1
doc/manual/src/command-ref/new-cli/nix3-config.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{{#include @generated@/command-ref/new-cli/nix3-config.md}}
|
|
@ -1 +0,0 @@
|
||||||
{{#include @generated@/command-ref/new-cli/nix3-show-config.md}}
|
|
|
@ -7,11 +7,31 @@
|
||||||
|
|
||||||
using namespace nix;
|
using namespace nix;
|
||||||
|
|
||||||
struct CmdShowConfig : Command, MixJSON
|
struct CmdConfig : virtual NixMultiCommand
|
||||||
|
{
|
||||||
|
CmdConfig() : MultiCommand(RegisterCommand::getCommandsFor({"config"}))
|
||||||
|
{ }
|
||||||
|
|
||||||
|
std::string description() override
|
||||||
|
{
|
||||||
|
return "manipulate the Nix configuration";
|
||||||
|
}
|
||||||
|
|
||||||
|
Category category() override { return catUtility; }
|
||||||
|
|
||||||
|
void run() override
|
||||||
|
{
|
||||||
|
if (!command)
|
||||||
|
throw UsageError("'nix config' requires a sub-command.");
|
||||||
|
command->second->run();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct CmdConfigShow : Command, MixJSON
|
||||||
{
|
{
|
||||||
std::optional<std::string> name;
|
std::optional<std::string> name;
|
||||||
|
|
||||||
CmdShowConfig() {
|
CmdConfigShow() {
|
||||||
expectArgs({
|
expectArgs({
|
||||||
.label = {"name"},
|
.label = {"name"},
|
||||||
.optional = true,
|
.optional = true,
|
||||||
|
@ -56,4 +76,5 @@ struct CmdShowConfig : Command, MixJSON
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static auto rShowConfig = registerCommand<CmdShowConfig>("show-config");
|
static auto rCmdConfig = registerCommand<CmdConfig>("config");
|
||||||
|
static auto rShowConfig = registerCommand2<CmdConfigShow>({"config", "show"});
|
|
@ -151,6 +151,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs, virtual RootArgs
|
||||||
{"ping-store", {"store", "ping"}},
|
{"ping-store", {"store", "ping"}},
|
||||||
{"sign-paths", {"store", "sign"}},
|
{"sign-paths", {"store", "sign"}},
|
||||||
{"show-derivation", {"derivation", "show"}},
|
{"show-derivation", {"derivation", "show"}},
|
||||||
|
{"show-config", {"config", "show"}},
|
||||||
{"to-base16", {"hash", "to-base16"}},
|
{"to-base16", {"hash", "to-base16"}},
|
||||||
{"to-base32", {"hash", "to-base32"}},
|
{"to-base32", {"hash", "to-base32"}},
|
||||||
{"to-base64", {"hash", "to-base64"}},
|
{"to-base64", {"hash", "to-base64"}},
|
||||||
|
|
|
@ -59,7 +59,7 @@ nix_sources = files(
|
||||||
'repl.cc',
|
'repl.cc',
|
||||||
'run.cc',
|
'run.cc',
|
||||||
'search.cc',
|
'search.cc',
|
||||||
'show-config.cc',
|
'config.cc',
|
||||||
'sigs.cc',
|
'sigs.cc',
|
||||||
'store-copy-log.cc',
|
'store-copy-log.cc',
|
||||||
'store-delete.cc',
|
'store-delete.cc',
|
||||||
|
|
|
@ -40,19 +40,19 @@ files=$(nix-build --verbose --version | grep "User config" | cut -d ':' -f2- | x
|
||||||
# Test that it's possible to load the config from a custom location
|
# Test that it's possible to load the config from a custom location
|
||||||
here=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
|
here=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
|
||||||
export NIX_USER_CONF_FILES=$here/config/nix-with-substituters.conf
|
export NIX_USER_CONF_FILES=$here/config/nix-with-substituters.conf
|
||||||
var=$(nix show-config | grep '^substituters =' | cut -d '=' -f 2 | xargs)
|
var=$(nix config show | grep '^substituters =' | cut -d '=' -f 2 | xargs)
|
||||||
[[ $var == https://example.com ]]
|
[[ $var == https://example.com ]]
|
||||||
|
|
||||||
# Test that it's possible to load config from the environment
|
# Test that it's possible to load config from the environment
|
||||||
prev=$(nix show-config | grep '^cores' | cut -d '=' -f 2 | xargs)
|
prev=$(nix config show | grep '^cores' | cut -d '=' -f 2 | xargs)
|
||||||
export NIX_CONFIG="cores = 4242"$'\n'"experimental-features = nix-command flakes"
|
export NIX_CONFIG="cores = 4242"$'\n'"experimental-features = nix-command flakes"
|
||||||
exp_cores=$(nix show-config | grep '^cores' | cut -d '=' -f 2 | xargs)
|
exp_cores=$(nix config show | grep '^cores' | cut -d '=' -f 2 | xargs)
|
||||||
exp_features=$(nix show-config | grep '^experimental-features' | cut -d '=' -f 2 | xargs)
|
exp_features=$(nix config show | grep '^experimental-features' | cut -d '=' -f 2 | xargs)
|
||||||
[[ $prev != $exp_cores ]]
|
[[ $prev != $exp_cores ]]
|
||||||
[[ $exp_cores == "4242" ]]
|
[[ $exp_cores == "4242" ]]
|
||||||
[[ $exp_features == "flakes nix-command" ]]
|
[[ $exp_features == "flakes nix-command" ]]
|
||||||
|
|
||||||
# Test that it's possible to retrieve a single setting's value
|
# Test that it's possible to retrieve a single setting's value
|
||||||
val=$(nix show-config | grep '^warn-dirty' | cut -d '=' -f 2 | xargs)
|
val=$(nix config show | grep '^warn-dirty' | cut -d '=' -f 2 | xargs)
|
||||||
val2=$(nix show-config warn-dirty)
|
val2=$(nix config show warn-dirty)
|
||||||
[[ $val == $val2 ]]
|
[[ $val == $val2 ]]
|
||||||
|
|
|
@ -31,7 +31,7 @@ source common.sh
|
||||||
NIX_CONFIG='
|
NIX_CONFIG='
|
||||||
experimental-features = nix-command
|
experimental-features = nix-command
|
||||||
accept-flake-config = true
|
accept-flake-config = true
|
||||||
' nix show-config accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
' nix config show accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
||||||
grepQuiet "false" $TEST_ROOT/stdout
|
grepQuiet "false" $TEST_ROOT/stdout
|
||||||
grepQuiet "Ignoring setting 'accept-flake-config' because experimental feature 'flakes' is not enabled" $TEST_ROOT/stderr
|
grepQuiet "Ignoring setting 'accept-flake-config' because experimental feature 'flakes' is not enabled" $TEST_ROOT/stderr
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ grepQuiet "Ignoring setting 'accept-flake-config' because experimental feature '
|
||||||
NIX_CONFIG='
|
NIX_CONFIG='
|
||||||
accept-flake-config = true
|
accept-flake-config = true
|
||||||
experimental-features = nix-command
|
experimental-features = nix-command
|
||||||
' nix show-config accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
' nix config show accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
||||||
grepQuiet "false" $TEST_ROOT/stdout
|
grepQuiet "false" $TEST_ROOT/stdout
|
||||||
grepQuiet "Ignoring setting 'accept-flake-config' because experimental feature 'flakes' is not enabled" $TEST_ROOT/stderr
|
grepQuiet "Ignoring setting 'accept-flake-config' because experimental feature 'flakes' is not enabled" $TEST_ROOT/stderr
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ grepQuiet "Ignoring setting 'accept-flake-config' because experimental feature '
|
||||||
NIX_CONFIG='
|
NIX_CONFIG='
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
accept-flake-config = true
|
accept-flake-config = true
|
||||||
' nix show-config accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
' nix config show accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
||||||
grepQuiet "true" $TEST_ROOT/stdout
|
grepQuiet "true" $TEST_ROOT/stdout
|
||||||
grepQuietInverse "Ignoring setting 'accept-flake-config'" $TEST_ROOT/stderr
|
grepQuietInverse "Ignoring setting 'accept-flake-config'" $TEST_ROOT/stderr
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ grepQuietInverse "Ignoring setting 'accept-flake-config'" $TEST_ROOT/stderr
|
||||||
NIX_CONFIG='
|
NIX_CONFIG='
|
||||||
accept-flake-config = true
|
accept-flake-config = true
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
' nix show-config accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
' nix config show accept-flake-config 1>$TEST_ROOT/stdout 2>$TEST_ROOT/stderr
|
||||||
grepQuiet "true" $TEST_ROOT/stdout
|
grepQuiet "true" $TEST_ROOT/stdout
|
||||||
grepQuietInverse "Ignoring setting 'accept-flake-config'" $TEST_ROOT/stderr
|
grepQuietInverse "Ignoring setting 'accept-flake-config'" $TEST_ROOT/stderr
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue