forked from lix-project/lix
Merge remote-tracking branch 'origin/master' into flakes
This commit is contained in:
commit
4fdec5f61d
|
@ -2465,7 +2465,7 @@ void DerivationGoal::initTmpDir() {
|
||||||
auto hash = hashString(htSHA256, i.first);
|
auto hash = hashString(htSHA256, i.first);
|
||||||
string fn = ".attr-" + hash.to_string(Base32, false);
|
string fn = ".attr-" + hash.to_string(Base32, false);
|
||||||
Path p = tmpDir + "/" + fn;
|
Path p = tmpDir + "/" + fn;
|
||||||
writeFile(p, i.second);
|
writeFile(p, rewriteStrings(i.second, inputRewrites));
|
||||||
chownToBuilder(p);
|
chownToBuilder(p);
|
||||||
env[i.first + "Path"] = tmpDirInSandbox + "/" + fn;
|
env[i.first + "Path"] = tmpDirInSandbox + "/" + fn;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
using namespace nix;
|
using namespace nix;
|
||||||
|
|
||||||
struct CmdBuild : MixDryRun, MixProfile, InstallablesCommand
|
struct CmdBuild : InstallablesCommand, MixDryRun, MixProfile
|
||||||
{
|
{
|
||||||
Path outLink = "result";
|
Path outLink = "result";
|
||||||
|
|
||||||
|
|
|
@ -171,7 +171,7 @@ std::set<StorePath> toDerivations(ref<Store> store,
|
||||||
filename:lineno. */
|
filename:lineno. */
|
||||||
Strings editorFor(const Pos & pos);
|
Strings editorFor(const Pos & pos);
|
||||||
|
|
||||||
struct MixProfile : virtual Args, virtual StoreCommand
|
struct MixProfile : virtual StoreCommand
|
||||||
{
|
{
|
||||||
std::optional<Path> profile;
|
std::optional<Path> profile;
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
#include "util.hh"
|
#include "util.hh"
|
||||||
#include "path.hh"
|
#include "path.hh"
|
||||||
#include "flake/eval-cache.hh"
|
|
||||||
#include "eval.hh"
|
#include "eval.hh"
|
||||||
|
#include "flake/eval-cache.hh"
|
||||||
|
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ StorePath getDerivationEnvironment(ref<Store> store, Derivation drv)
|
||||||
{
|
{
|
||||||
auto builder = baseNameOf(drv.builder);
|
auto builder = baseNameOf(drv.builder);
|
||||||
if (builder != "bash")
|
if (builder != "bash")
|
||||||
throw Error("'nix shell' only works on derivations that use 'bash' as their builder");
|
throw Error("'nix dev-shell' only works on derivations that use 'bash' as their builder");
|
||||||
|
|
||||||
drv.args = {
|
drv.args = {
|
||||||
"-c",
|
"-c",
|
||||||
|
@ -136,21 +136,6 @@ StorePath getDerivationEnvironment(ref<Store> store, Derivation drv)
|
||||||
|
|
||||||
struct Common : InstallableCommand, MixProfile
|
struct Common : InstallableCommand, MixProfile
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
std::set<string> keepVars{
|
|
||||||
"DISPLAY",
|
|
||||||
"HOME",
|
|
||||||
"IN_NIX_SHELL",
|
|
||||||
"LOGNAME",
|
|
||||||
"NIX_BUILD_SHELL",
|
|
||||||
"PAGER",
|
|
||||||
"PATH",
|
|
||||||
"TERM",
|
|
||||||
"TZ",
|
|
||||||
"USER",
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
std::set<string> ignoreVars{
|
std::set<string> ignoreVars{
|
||||||
"BASHOPTS",
|
"BASHOPTS",
|
||||||
"EUID",
|
"EUID",
|
||||||
|
@ -258,7 +243,7 @@ struct CmdDevShell : Common, MixEnvironment
|
||||||
return {
|
return {
|
||||||
Example{
|
Example{
|
||||||
"To get the build environment of GNU hello:",
|
"To get the build environment of GNU hello:",
|
||||||
"nix dev-shell nixpkgs:hello"
|
"nix dev-shell nixpkgs#hello"
|
||||||
},
|
},
|
||||||
Example{
|
Example{
|
||||||
"To get the build environment of the default package of flake in the current directory:",
|
"To get the build environment of the default package of flake in the current directory:",
|
||||||
|
@ -266,7 +251,7 @@ struct CmdDevShell : Common, MixEnvironment
|
||||||
},
|
},
|
||||||
Example{
|
Example{
|
||||||
"To store the build environment in a profile:",
|
"To store the build environment in a profile:",
|
||||||
"nix dev-shell --profile /tmp/my-shell nixpkgs:hello"
|
"nix dev-shell --profile /tmp/my-shell nixpkgs#hello"
|
||||||
},
|
},
|
||||||
Example{
|
Example{
|
||||||
"To use a build environment previously recorded in a profile:",
|
"To use a build environment previously recorded in a profile:",
|
||||||
|
@ -324,7 +309,7 @@ struct CmdPrintDevEnv : Common
|
||||||
return {
|
return {
|
||||||
Example{
|
Example{
|
||||||
"To apply the build environment of GNU hello to the current shell:",
|
"To apply the build environment of GNU hello to the current shell:",
|
||||||
". <(nix print-dev-env nixpkgs:hello)"
|
". <(nix print-dev-env nixpkgs#hello)"
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@ resolve-system-dependencies_DIR := $(d)
|
||||||
|
|
||||||
resolve-system-dependencies_INSTALL_DIR := $(libexecdir)/nix
|
resolve-system-dependencies_INSTALL_DIR := $(libexecdir)/nix
|
||||||
|
|
||||||
|
resolve-system-dependencies_CXXFLAGS += -I src/libutil -I src/libstore -I src/libmain
|
||||||
|
|
||||||
resolve-system-dependencies_LIBS := libstore libmain libutil libnixrust
|
resolve-system-dependencies_LIBS := libstore libmain libutil libnixrust
|
||||||
|
|
||||||
resolve-system-dependencies_SOURCES := $(d)/resolve-system-dependencies.cc
|
resolve-system-dependencies_SOURCES := $(d)/resolve-system-dependencies.cc
|
||||||
|
|
Loading…
Reference in a new issue