aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-15Merge pull request #7601 from obsidiansystems/string-installablesRobert Hensing
Make more string values work as installables
2023-05-15Make more string values work as installablesJohn Ericson
As discussed in #7417, it would be good to make more string values work as installables. That is to say, if an installable refers to a value, and the value is a string, it used to not work at all, since #7484, it works somewhat, and this PR make it work some more. The new cases that are added for `BuiltPath` contexts: - Fixed input- or content-addressed derivation: ``` nix-repl> hello.out.outPath "/nix/store/jppfl2bp1zhx8sgs2mgifmsx6dv16mv2-hello-2.12" nix-repl> :p builtins.getContext hello.out.outPath { "/nix/store/c7jrxqjhdda93lhbkanqfs07x2bzazbm-hello-2.12.drv" = { outputs = [ "out" ]; }; } The string matches the specified single output of that derivation, so it should also be valid. - Floating content-addressed derivation: ``` nix-repl> (hello.overrideAttrs (_: { __contentAddressed = true; })).out.outPath "/1a08j26xqc0zm8agps8anxpjji410yvsx4pcgyn4bfan1ddkx2g0" nix-repl> :p builtins.getContext (hello.overrideAttrs (_: { __contentAddressed = true; })).out.outPath { "/nix/store/qc645pyf9wl37c6qvqzaqkwsm1gp48al-hello-2.12.drv" = { outputs = [ "out" ]; }; } ``` The string is not a path but a placeholder, however it also matches the context, and because it is a CA derivation we have no better option. This should also be valid. We may also want to think about richer attrset based values (also discussed in that issue and #6507), but this change "completes" our string-based building blocks, from which the others can be desugared into or at least described/document/taught in terms of. Progress towards #7417 Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-05-15Create `EvalState::coerceToDerivedPath`John Ericson
This gives us some round trips to test. `EvalState::coerceToDerivedPathUnchecked` is a factored out helper just for unit testing.
2023-05-15Expose `mkOutputString` as method of `EvalState`John Ericson
2023-05-15Split `mkOutputString` in twoJohn Ericson
This well help us with some unit testing
2023-05-15Remove unneeded argument for `mkOutputString`John Ericson
2023-05-15Merge pull request #8141 from tweag/user-files-docJohn Ericson
Document user files of nix
2023-05-15Merge pull request #8334 from l0b0/patch-1Valentin Gagarin
2023-05-15refactor: Join commands to remove filesVictor Engmark
2023-05-15docs: Mention more files referenced by the installerVictor Engmark
`/etc/bash.bashrc` is backed up as `/etc/bash.bashrc.backup-before-nix`, but since other changes might have been introduced in the meantime we can't just tell the user to revert.
2023-05-15docs: Remove references to non-existing filesVictor Engmark
At least on Ubuntu 22.04, these files are not created as part of a multi- user installation.
2023-05-15docs: Sort files by nameVictor Engmark
2023-05-15docs: Remove Nix profile content from correct directoryVictor Engmark
At least on Ubuntu 22.04, the Nix installer creates `/etc/profile.d/nix.sh`, not `/etc/profile/nix.sh`.
2023-05-15docs: Remove redundant uninstall commandVictor Engmark
`sudo systemctl disable nix-daemon.socket nix-daemon.service` removes these files already.
2023-05-14Merge pull request #8328 from urbas/max-substitution-jobsValentin Gagarin
2023-05-14`max-substitution-jobs` release note entryMatej Urbas
2023-05-13Merge pull request #8326 from Hoverbear/describe-or-slightly-moreValentin Gagarin
2023-05-12Describe the or operation on attribute sets slightly moreAna Hobden
2023-05-12Update doc/manual/src/SUMMARY.md.inAlexander Bantyev
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-05-12Merge pull request #8319 from fricklerhandwerk/doc-builtins-prefixThéophane Hufschmitt
reword introduction to built-in functions
2023-05-12Merge pull request #8314 from fricklerhandwerk/doc-builtinsThéophane Hufschmitt
reword documentation on `builtins`
2023-05-12Merge pull request #8299 from urbas/max-substitution-jobsEelco Dolstra
`max-substitution-jobs` setting
2023-05-11reword introduction to built-in functionsValentin Gagarin
add anchor to `builtins.derivation` and list some built-in functions that are exposed in the global scope. I decided not to list everything, because we probably don't want to encourage people using them that way.
2023-05-11reword documentation on `builtins`Valentin Gagarin
- add anchor to `builtins` - add type information - reword description of `builtins` to offer more information concisely
2023-05-11do not indent markdown listValentin Gagarin
2023-05-10Merge pull request #8310 from obsidiansystems/fix-8141Théophane Hufschmitt
Fix `nix print-dev-env` & `nix develop` with drv paths
2023-05-10Fix `nix print-dev-env` & `nix develop` with drv pathsJohn Ericson
Fixes #8309 This regression was because both `CmdDevelop` and `CmdPrintDevEnv` were switched to be `InstallableValueCommand` subclasses, but actually neither should have been. The `nixpkgsFlakeRef` method should indeed not be on the base installable class, because "flake refs" and "nixpkgs" are not installable-wide notions, but that doesn't mean these commands should only accept installable values.
2023-05-10Merge pull request #3959 from obsidiansystems/ca-drv-exoticJohn Ericson
Derivations can output "text-hashed" data
2023-05-10Merge pull request #7721 from yorickvP/post-build-hookThéophane Hufschmitt
Also pass unwanted outputs to post-build-hook
2023-05-09Improve error message for self reference with text hashingJohn Ericson
The `ContentAddressWithReferences` method is made total, with error handling now squarely the caller's job. This is better.
2023-05-09Add name to some error messagesJohn Ericson
2023-05-09Cleanups to content address typesJohn Ericson
2023-05-09Apply suggestions from code review John Ericson
Thanks! Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-05-09Fix bug, `newInfo` -> `newInfo0`John Ericson
It appears we were checking a variable in the process of definining it.
2023-05-09Fix spurious changeJohn Ericson
Didn't mean to use the private name that shouldn't be exposed.
2023-05-09Merge pull request #8110 from aakropotkin/quote-reservedJohn Ericson
Quote reserved keywords when printing expressions
2023-05-09quote subshell expansion in tests/eval.shAlex Ameen
2023-05-09prevent double quotationAlex Ameen
2023-05-09libexpr: quote reserved keys when printingAlex Ameen
This fixes a bug in commands like `nix eval' which would emit invalid attribute sets if they contained reserved keywords such as "assert", "let", etc. These keywords will not be quoted when printed, making them valid expressions. All keywords recognized by the lexer are quoted except "or", which does not require quotation.
2023-05-08introduces `Goal::jobCategory`Matej Urbas
2023-05-08removes MaxSubstitutionJobsSettingMatej Urbas
2023-05-08Merge pull request #8296 from fricklerhandwerk/contributing-idea-approvedRobert Hensing
highlight 'idea approved' issues in contributing guide
2023-05-08Merge pull request #3921 from obsidiansystems/trustless-remote-builder-simpleJohn Ericson
Trustless remote building for input-addressed drvs
2023-05-08Split comment, match with each variableJohn Ericson
2023-05-08Apply suggestions from code reviewJohn Ericson
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-05-08Rename a few things in new testsJohn Ericson
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-05-08tests/post-hook: remove TODO and --derivation uploadYorick van Pelt
2023-05-08tests: copying only the out paths is not enough information for CAYorick van Pelt
2023-05-08CA: rewrite hashes for all outputs, not just the wanted onesYorick van Pelt
2023-05-08libstore: also pass unwanted outputs to the post-build-hookYorick van Pelt