forked from lix-project/lix
repl: update docs with installables
This commit is contained in:
parent
5640b52834
commit
1ca3f6035d
|
@ -24,3 +24,8 @@
|
||||||
|
|
||||||
Selecting derivation outputs using the attribute selection syntax
|
Selecting derivation outputs using the attribute selection syntax
|
||||||
(e.g. `nixpkgs#glibc.dev`) no longer works.
|
(e.g. `nixpkgs#glibc.dev`) no longer works.
|
||||||
|
|
||||||
|
* `nix repl` now takes installables on the command line, unifying the usage
|
||||||
|
with other commands that use `--file` and `--expr`. Primary breaking change
|
||||||
|
is for the common usage of `nix repl '<nixpkgs>'` which can be recovered with
|
||||||
|
`nix repl nixpkgs` or `nix repl --expr 'import <nixpkgs>{}'`
|
||||||
|
|
|
@ -73,7 +73,6 @@ struct NixRepl
|
||||||
StorePath getDerivationPath(Value & v);
|
StorePath getDerivationPath(Value & v);
|
||||||
bool processLine(std::string line);
|
bool processLine(std::string line);
|
||||||
|
|
||||||
void loadInstallable(Installable & installable);
|
|
||||||
void loadFile(const Path & path);
|
void loadFile(const Path & path);
|
||||||
void loadFlake(const std::string & flakeRef);
|
void loadFlake(const std::string & flakeRef);
|
||||||
void initEnv();
|
void initEnv();
|
||||||
|
@ -634,12 +633,6 @@ bool NixRepl::processLine(std::string line)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NixRepl::loadInstallable(Installable & installable)
|
|
||||||
{
|
|
||||||
auto [val, pos] = installable.toValue(*state);
|
|
||||||
addAttrsToScope(*val);
|
|
||||||
}
|
|
||||||
|
|
||||||
void NixRepl::loadFile(const Path & path)
|
void NixRepl::loadFile(const Path & path)
|
||||||
{
|
{
|
||||||
loadedFiles.remove(path);
|
loadedFiles.remove(path);
|
||||||
|
@ -899,6 +892,9 @@ std::ostream & NixRepl::printValue(std::ostream & str, Value & v, unsigned int m
|
||||||
|
|
||||||
struct CmdRepl : InstallablesCommand
|
struct CmdRepl : InstallablesCommand
|
||||||
{
|
{
|
||||||
|
CmdRepl(){
|
||||||
|
evalSettings.pureEval = false;
|
||||||
|
}
|
||||||
std::vector<std::string> files;
|
std::vector<std::string> files;
|
||||||
Strings getDefaultFlakeAttrPaths()
|
Strings getDefaultFlakeAttrPaths()
|
||||||
override {
|
override {
|
||||||
|
@ -908,10 +904,6 @@ struct CmdRepl : InstallablesCommand
|
||||||
return file.has_value() or expr.has_value();
|
return file.has_value() or expr.has_value();
|
||||||
}
|
}
|
||||||
|
|
||||||
CmdRepl()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string description() override
|
std::string description() override
|
||||||
{
|
{
|
||||||
return "start an interactive environment for evaluating Nix expressions";
|
return "start an interactive environment for evaluating Nix expressions";
|
||||||
|
@ -926,8 +918,6 @@ struct CmdRepl : InstallablesCommand
|
||||||
|
|
||||||
void run(ref<Store> store) override
|
void run(ref<Store> store) override
|
||||||
{
|
{
|
||||||
|
|
||||||
evalSettings.pureEval = false;
|
|
||||||
auto state = getEvalState();
|
auto state = getEvalState();
|
||||||
auto repl = std::make_unique<NixRepl>(searchPath, openStore(),state
|
auto repl = std::make_unique<NixRepl>(searchPath, openStore(),state
|
||||||
,[&]()->NixRepl::AnnotatedValues{
|
,[&]()->NixRepl::AnnotatedValues{
|
||||||
|
|
|
@ -48,7 +48,7 @@ R""(
|
||||||
|
|
||||||
nix-repl> :q
|
nix-repl> :q
|
||||||
|
|
||||||
# nix repl --expr 'import <nixpkgs>{}' --impure
|
# nix repl --expr 'import <nixpkgs>{}'
|
||||||
|
|
||||||
Loading Installable ''...
|
Loading Installable ''...
|
||||||
Added 12439 variables.
|
Added 12439 variables.
|
||||||
|
|
Loading…
Reference in a new issue