aboutsummaryrefslogtreecommitdiff
path: root/src/libcmd/installables.cc
AgeCommit message (Collapse)Author
2023-01-10Clean up toDerivedPaths() logicEelco Dolstra
2023-01-10Apply suggestions from code reviewEelco Dolstra
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2023-01-10Show string in error messageEelco Dolstra
2023-01-10ExtraInfo -> ExtraPathInfoEelco Dolstra
2023-01-10Merge remote-tracking branch 'origin/master' into fix-7417Eelco Dolstra
2023-01-05Merge pull request #7539 from tweag/fix-nix-why-depends--derivationEelco Dolstra
Fix `nix why-depends --derivation`
2023-01-02Merge remote-tracking branch 'origin/master' into coerce-stringEelco Dolstra
2023-01-02Fix why-depends for CA derivations (again)Théophane Hufschmitt
This has the same goal as b13fd4c58e81b2b2b0d72caa5ce80de861622610,but achieves it in a different way in order to not break `nix why-depends --derivation`.
2022-12-21link "store derivation" to glossary definitionValentin Gagarin
2022-12-20InstallableFlake::toDerivedPaths(): Support paths and store pathsEelco Dolstra
This makes 'nix build' work on paths (which will be copied to the store) and store paths (returned as is). E.g. the following flake output attributes can be built using 'nix build .#foo': foo = ./src; foo = self.outPath; foo = builtins.fetchTarball { ... }; foo = (builtins.fetchTree { .. }).outPath; foo = builtins.fetchTree { .. } + "/README.md"; foo = builtins.storePath /nix/store/...; Note that this is potentially risky, e.g. foo = /.; will cause Nix to try to copy the entire file system to the store. What doesn't work yet: foo = self; foo = builtins.fetchTree { .. }; because we don't handle attrsets with an outPath attribute in it yet, and foo = builtins.storePath /nix/store/.../README.md; since result symlinks have to point to a store path currently (rather than a file inside a store path). Fixes #7417.
2022-12-20Merge toDerivations() into toDerivedPaths()Eelco Dolstra
toDerivedPaths() now returns DerivedPathWithInfo, which is DerivedPath with some attributes needed by 'nix profile' etc. Preparation for #7417.
2022-12-12Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputsJohn Ericson
2022-12-12Merge branch 'master' into indexed-store-path-outputsJohn Ericson
2022-12-07Trivial changes from the lazy-trees branchEelco Dolstra
2022-11-25Merge branch 'master' into indexed-store-path-outputsJohn Ericson
2022-11-21nix build --json: Include build statisticsEelco Dolstra
Example: # nix build -L --extra-experimental-features cgroups --impure --expr 'with import <nixpkgs> {}; runCommand "foo" {} "dd if=/dev/urandom bs=1M count=1024 | md5sum; mkdir $out"' --json [ { "cpuSystem": 1.911431, "cpuUser": 1.214249, "drvPath": "/nix/store/xzdqz67xba18hljhycp0hwfigzrs2z69-foo.drv", "outputs": { "out": "/nix/store/rh9mc9l2gkpq8kn2sgzndr6ll7ffjh6l-foo" }, "startTime": 1669024076, "stopTime": 1669024079 } ]
2022-11-21Merge remote-tracking branch 'origin/master' into auto-uid-allocationEelco Dolstra
2022-11-21nix build --json: Include build statisticsEelco Dolstra
Example: # nix build -L --extra-experimental-features cgroups --impure --expr 'with import <nixpkgs> {}; runCommand "foo" {} "dd if=/dev/urandom bs=1M count=1024 | md5sum; mkdir $out"' --json [ { "cpuSystem": 1.911431, "cpuUser": 1.214249, "drvPath": "/nix/store/xzdqz67xba18hljhycp0hwfigzrs2z69-foo.drv", "outputs": { "out": "/nix/store/rh9mc9l2gkpq8kn2sgzndr6ll7ffjh6l-foo" }, "startTime": 1669024076, "stopTime": 1669024079 } ]
2022-11-18IndentationEelco Dolstra
2022-11-16Swallow the error in a more idiomatic wayThéophane Hufschmitt
2022-11-03SourceExprCommand: swallow EvalError, add tests for thisYorick van Pelt
Completing things that would error would print an ugly error in the middle of your command line. Avoid printing this error.
2022-10-28Merge branch 'master' into indexed-store-path-outputsJohn Ericson
2022-09-07WIP: broken merge but need a git checkpointGuillaume Maudoux
2022-08-17Show when we're evaluating a flakeEelco Dolstra
2022-07-15Remove `computed-derivations` experimental featureJohn Ericson
We don't need it yet.
2022-07-14Combine `InstallableStorePath` with `InstallableIndexedStorePath`John Ericson
No behavior should be changed, the `isDerivation` logic is moved from the methods to the constructor.
2022-07-14Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputsJohn Ericson
2022-07-12Merge pull request #6693 from ncfavier/complete-flake-inputsThéophane Hufschmitt
Improve shell completion of flake inputs
2022-07-11Fix flake input completion for `InstallablesCommand`sNaïm Favier
Defers completion of flake inputs until the whole command line is parsed so that we know what flakes we need to complete the inputs of. Previously, `nix build flake --update-input <Tab>` always behaved like `nix build . --update-input <Tab>`.
2022-06-29Merge pull request #6233 from flox/nix-repl-flakesThéophane Hufschmitt
Nix repl flakes
2022-06-20Complete flake inputs for all given flakesNaïm Favier
Allow `nix build flake1 flake2 --update-input <Tab>` to complete the inputs of both flakes. Also do tilde expansion so that `nix build ~/flake --update-input <Tab>` works.
2022-06-16Merge pull request #6620 from maralorn/fix-print-missingThéophane Hufschmitt
respect print-missing variable in new-style build command
2022-06-15Merge branch 'master' into nix-repl-flakesTom Bereknyei
2022-06-10Mention that -f implies --impure for eval in docsYuriy Taraday
Right now this is not mentioned anywhere and it is unexpected.
2022-06-06respect print-missing variable in new-style build commandMalte Brandy
Currently nix-build prints the "printMissing" information by default, nix build doesn’t. People generally don‘t notice this because the standard log-format of nix build would not display the printMissing output long enough to perceive the information. This addresses https://github.com/NixOS/nix/issues/6561
2022-06-02Merge branch 'master' into nix-repl-flakesTom Bereknyei
2022-06-02Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputsJohn Ericson
2022-05-30Respect the outputSpecified attributeEelco Dolstra
E.g. 'nix build nixpkgs#libxml2.dev' will build the 'dev' output.
2022-05-18repl: use installablesTom Bereknyei
2022-05-18repl: allow loading installables from CLITom Bereknyei
repl: search installable with findAlongAttrPath repl: refactor handling of args repl: temp
2022-05-16resolve redundant priority passing, wrap NixInt in eval-cache variantEli Kogan-Wang
2022-05-13Integrate review changesEli Kogan-Wang
2022-05-12Use `^` not `!` in indexed store derivations installable syntaxJohn Ericson
Match the other syntax that was recently added
2022-05-12Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputsJohn Ericson
2022-05-04Get rid of most `.at` calls (#6393)Alain Zscheile
Use one of `get` or `getOr` instead which will either return a null-pointer (with a nicer error message) or a default value when the key is missing.
2022-05-03Allow selecting derivation outputs using 'installable!outputs'Eelco Dolstra
E.g. 'nixpkgs#glibc^dev,static' or 'nixpkgs#glibc^*'.
2022-04-29Merge remote-tracking branch 'origin/master' into coerce-stringGuillaume Maudoux
2022-04-28fix errors case and wordingGuillaume Maudoux
2022-04-26nix: Respect meta.outputsToInstall, and use all outputs by defaultEelco Dolstra
'nix profile install' will now install all outputs listed in the package's meta.outputsToInstall attribute, or all outputs if that attribute doesn't exist. This makes it behave consistently with nix-env. Fixes #6385. Furthermore, for consistency, all other 'nix' commands do this as well. E.g. 'nix build' will build and symlink the outputs in meta.outputsToInstall, defaulting to all outputs. Previously, it only built/symlinked the first output. Note that this means that selecting a specific output using attrpath selection (e.g. 'nix build nixpkgs#libxml2.dev') no longer works. A subsequent PR will add a way to specify the desired outputs explicitly.
2022-04-26EvalCache: Revert to using symbols in getAttr()Eelco Dolstra