aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-27Allow to sign path as unprivileged userJean-François Roche
User can now sign path as unprivileged/allowed user refs #1708
2023-06-27Merge pull request #8330 from NixOS/doc-auto-builtin-constantsJohn Ericson
Automatically document builtin constants
2023-06-27Automatically document builtin constantsJohn Ericson
This is done in roughly the same way builtin functions are documented. Also auto-link experimental features for primops, subsuming PR #8371. Co-authored-by: Eelco Dolstra <edolstra@gmail.com> Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-27Don't say this when we still pollute the global scopeJohn Ericson
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-27Switch example to a primop this is less ill-advisedJohn Ericson
Any primop will do for this, so might as well use one that isn't impure. Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-27Generialize `showType`John Ericson
2023-06-27nix flake check: improve error message if overlay is not a lambda (#8582)Maximilian Bosch
* nix flake check: improve error message if overlay is not a lambda Suppose you have an overlay like this { inputs = { /* ... */ }; outputs = { flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: { overlays.default = final: prev: { }; }); } then `nix flake check` (correctly) fails because `overlays` are supposed to have the structure `overlays.<name> = final: prev: exp`. However, the error-message is a little bit counter-intuitive: error: overlay does not take an argument named 'final' While one might guess where the error actually comes from because the trace above says `… while checking the overlay 'overlays.x86_64-linux'` this is still pretty confusing because it complains about an argument not being named `final` even though that's evidently the case. With this change, the error-message actually makes it clear what's wrong: [ma27@carsten:~/Projects/nix/tmp]$ nix flake check --extra-experimental-features 'nix-command flakes' path:$(pwd) error: … while checking flake output 'overlays' at /nix/store/clgblnxx003hyrq8qkz5ab6kgqkck6qc-source/flake.nix:4:5: 3| outputs = { ... }: { 4| overlays.x86_64-linux.snens = final: prev: { | ^ 5| kek = throw "snens"; … while checking the overlay 'overlays.x86_64-linux' at /nix/store/clgblnxx003hyrq8qkz5ab6kgqkck6qc-source/flake.nix:4:5: 3| outputs = { ... }: { 4| overlays.x86_64-linux.snens = final: prev: { | ^ 5| kek = throw "snens"; error: overlay is not a lambda, but a set instead
2023-06-26Merge pull request #8576 from obsidiansystems/findPath-cleanupEelco Dolstra
Use a struct not `std::pair` for `SearchPathElem`
2023-06-24Merge pull request #5385 from Enzime/add/dirty-revThéophane Hufschmitt
Add `dirtyRev` and `dirtyShortRev` to `fetchGit`
2023-06-24Add `dirtyRev` and `dirtyShortRev` to `fetchGit`Michael Hoang
Fixes #4682
2023-06-23Use a struct not `std::pair` for `SearchPathElem`John Ericson
I got very confused trying to keep all the `first` and `second` straight reading the code, *especially* as there is also another `(boolean, string)` pair type also being used. Named fields is much better. There are other cleanups that we can do (for example, the existing TODO), but we can do them later. Doing them now would just make this harder to review.
2023-06-23Merge pull request #8519 from fricklerhandwerk/reword-trusted-usersRobert Hensing
reword documentation on trusted users and substituters
2023-06-23Merge pull request #8574 from inclyc/nixd/remove-unused-tokenEelco Dolstra
libexpr: remove unused token `ATTRPATH` in token declaration
2023-06-23libexpr: remove unused token `ATTRPATH` in token declarationYingchi Long
2023-06-22Merge pull request #8572 from obsidiansystems/document-exit-codesJohn Ericson
Better document build failure exit codes
2023-06-22Better document build failure exit codesJohn Ericson
- Improved API docs from comment - Exit codes are for `nix-build`, not just `nix-store --release` - Make note in tests so the magic numbers are not surprising Picking up where #8387 left off.
2023-06-22Merge pull request #8387 from layus/fix-testsJohn Ericson
Check exact error codes in linux-sandbox.sh
2023-06-22Merge pull request #8565 from obsidiansystems/profile-delete-docsJohn Ericson
Clarify docs on deleting generations, including fixing a mistake
2023-06-22Merge pull request #8556 from fricklerhandwerk/hacking-headingsValentin Gagarin
hacking guide: use more self-descriptive section headings
2023-06-22libexpr: extend `Value::print` to allow limited depthYingchi Long
2023-06-22libexpr: add tests for `nix::Value::print`Yingchi Long
2023-06-21Clarify docs on deleting generations, including fixing a mistakeJohn Ericson
Deleting store info corrected (there is a foot-gun in Nix with `--delete-generations old`!) Also a few things are cleaned up based on feedback. Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io> Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2023-06-21Merge pull request #8374 from obsidiansystems/improve-path-settingJohn Ericson
Split `OptionalPathSetting` from `PathSetting`
2023-06-21do not use "target", as it's a loaded term in the domain of compilersValentin Gagarin
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-21add redirects to changed anchorsValentin Gagarin
2023-06-21fix anchor linkValentin Gagarin
2023-06-20Update tests/linux-sandbox.shGuillaume Maudoux
Co-authored-by: John Ericson <git@JohnEricson.me>
2023-06-20use more self-descriptive section headingsValentin Gagarin
2023-06-20Merge pull request #8532 from fricklerhandwerk/nix.conf-sectionsValentin Gagarin
split nix.conf man page into sections
2023-06-20be more serious about security risks with trusted usersValentin Gagarin
2023-06-20clarify setting options on the command lineValentin Gagarin
2023-06-20clarify read order for configuration settingsValentin Gagarin
2023-06-20Merge pull request #8552 from edolstra/fix-eagainEelco Dolstra
GC server: Clear O_NONBLOCK on the right file descriptor
2023-06-20split configuration file page into sectionsfricklerhandwerk
this makes it easier to scan for specific information, such as the format of command line flags
2023-06-20add links to environment variables documentationfricklerhandwerk
2023-06-20Merge pull request #8548 from abathur/fix_uninstall_redirectsEelco Dolstra
redirect old platform uninstall instruction links
2023-06-20Support opening local store with database on read-only filesystem (#8356)Ben Radford
Previously it was not possible to open a local store when its database is on a read-only filesystem. Obviously a store on a read-only filesystem cannot be modified, but it would still be useful to be able to query it. This change adds a new read-only setting to LocalStore. When set to true, Nix will skip operations that fail when the database is on a read-only filesystem (acquiring big-lock, schema migration, etc), and the store database will be opened in immutable mode. Co-authored-by: Ben Radford <benradf@users.noreply.github.com> Co-authored-by: cidkidnix <cidkidnix@protonmail.com> Co-authored-by: Dylan Green <67574902+cidkidnix@users.noreply.github.com> Co-authored-by: John Ericson <git@JohnEricson.me> Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-06-20GC server: Clear O_NONBLOCK on the right file descriptorEelco Dolstra
The bug fix in 6d30f9e6fea7d451033653f8f167aef58f7f5347 erroneously cleared O_NONBLOCK on the server rather than client FD (leaving both in an incorrect state). Fixes #8551.
2023-06-19redirect old platform uninstall instruction linksTravis A. Everett
Uninstall instructions were moved to their own page in #8267. The overall section link was redirected in #8286, but platform-specific links (which I give out frequently when I triage installer trouble) weren't included.
2023-06-19Add more links in nix-build documentation (#8545)Silvan Mosberger
* Add more links in nix-build documentation Co-authored-by: John Ericson <git@JohnEricson.me>
2023-06-19Merge pull request #8547 from obsidiansystems/proto-cleanup-prepRobert Hensing
Make a few changes in prepartion for deeper cleanup of the remote protocols
2023-06-19Remove unused `#include` from `local-derivation-goal.cc`John Ericson
These were never needed for this file, and date back to before this was split from `derivation-goal.cc`.
2023-06-19Create `worker_proto::{Read,Write}Conn`John Ericson
Pass this around instead of `Source &` and `Sink &` directly. This will give us something to put the protocol version on once the time comes. To do this ergonomically, we need to expose `RemoteStore::Connection`, so do that too. Give it some more API docs while we are at it.
2023-06-19Likewise namespace and `enum struct`-ify `ServeCommand`John Ericson
The motivation is exactly the same as for the last commit. In addition, this anticipates us formally defining separate serialisers for the serve protocol.
2023-06-19Put worker protocol items inside a `WorkerProto` structJohn Ericson
See API docs on that struct for why. The pasing as as template argument doesn't yet happen in that commit, but will instead happen in later commit. Also make `WorkerOp` (now `Op`) and enum struct. This led us to catch that two operations were not handled! Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-06-19Split out worker protocol template definitions from declarationsJohn Ericson
This is generally a fine practice: Putting implementations in headers makes them harder to read and slows compilation. Unfortunately it is necessary for templates, but we can ameliorate that by putting them in a separate header. Only files which need to instantiate those templates will need to include the header with the implementation; the rest can just include the declaration. This is now documenting in the contributing guide. Also, it just happens that these polymorphic serializers are the protocol agnostic ones. (Worker and serve protocol have the same logic for these container types.) This means by doing this general template cleanup, we are also getting a head start on better indicating which code is protocol-specific and which code is shared between protocols.
2023-06-19Merge pull request #8483 from edolstra/save-rootEelco Dolstra
restoreMountNamespace(): Restore the original root directory
2023-06-19Merge pull request #8542 from NixOS/maintainers-draft-prsEelco Dolstra
maintainers: add note on marking PRs as draft
2023-06-19Merge pull request #8541 from NixOS/contributing-good-first-issuesEelco Dolstra
CONTRIBUTING.md: add link to "good first issues"
2023-06-19maintainers: add note on marking PRs as draftValentin Gagarin
as discussed with maintainers team