mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-25 23:36:16 +02:00
parent
f0180487a0
commit
f300e11b05
6 changed files with 45 additions and 15 deletions
|
@ -24,7 +24,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 \
|
||||||
|
@ -111,7 +111,7 @@ $(d)/nix.json: $(bindir)/nix
|
||||||
@mv $@.tmp $@
|
@mv $@.tmp $@
|
||||||
|
|
||||||
$(d)/conf-file.json: $(bindir)/nix
|
$(d)/conf-file.json: $(bindir)/nix
|
||||||
$(trace-gen) $(dummy-env) $(bindir)/nix show-config --json --experimental-features nix-command > $@.tmp
|
$(trace-gen) $(dummy-env) $(bindir)/nix config show --json --experimental-features nix-command > $@.tmp
|
||||||
@mv $@.tmp $@
|
@mv $@.tmp $@
|
||||||
|
|
||||||
$(d)/src/contributing/experimental-feature-descriptions.md: $(d)/xp-features.json $(d)/utils.nix $(d)/generate-xp-features.nix $(bindir)/nix
|
$(d)/src/contributing/experimental-feature-descriptions.md: $(d)/xp-features.json $(d)/utils.nix $(d)/generate-xp-features.nix $(bindir)/nix
|
||||||
|
|
8
doc/manual/rl-next/nix-config-show.md
Normal file
8
doc/manual/rl-next/nix-config-show.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
synopsis: `nix config show`
|
||||||
|
issues: #7672
|
||||||
|
prs: #9477
|
||||||
|
description: {
|
||||||
|
|
||||||
|
`nix show-config` was renamed to `nix config show` to be more consistent with the rest of the command-line interface.
|
||||||
|
|
||||||
|
}
|
|
@ -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"});
|
|
@ -134,6 +134,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"}},
|
||||||
|
|
|
@ -40,20 +40,20 @@ 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" ]]
|
||||||
# flakes implies fetch-tree
|
# flakes implies fetch-tree
|
||||||
[[ $exp_features == "fetch-tree flakes nix-command" ]]
|
[[ $exp_features == "fetch-tree 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