aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-02-01Merge pull request #7726 from hercules-ci/flake-show-when-empty-hideEelco Dolstra
nix flake show: Ignore empty attrsets
2023-02-01Merge pull request #7203 from graham33/feature/cpp20Eelco Dolstra
Proposal: Use C++20
2023-01-31nix flake show: Ignore empty attrsetsRobert Hensing
For frameworks it's important that structures are as lazy as possible to prevent infinite recursions, performance issues and errors that aren't related to the thing to evaluate. As a consequence, they have to emit more attributes than strictly (sic) necessary. However, these attributes with empty values are not useful to the user so we omit them.
2023-01-30Merge pull request #7713 from obsidiansystems/more-rapid-checkRobert Hensing
Add more property tests
2023-01-30Make per-variant Arbitrary impls tooJohn Ericson
This is a nice idea that @roberth requested. If we could factor our a generic `std::variant` impl as a follow-up it would be even better!
2023-01-30Avoid some `StorePath` <-> `Path` round tripsJohn Ericson
Avoid needless work and throwing away invariants. These conversions date back to when `StorePath` was in Rust and there were issues with it missing utility methods.
2023-01-30Merge pull request #5226 from NixOS/client-side-profilesEelco Dolstra
Move the default profiles to the user’s home
2023-01-30Merge pull request #6988 from max-privatevoid/pr-flake-show-foreignThéophane Hufschmitt
nix flake show: don't evaluate derivations for foreign systems by default
2023-01-30Merge pull request #7087 from ncfavier/referenceablePathsThéophane Hufschmitt
Self-contained outputs
2023-01-30Merge pull request #7645 from ↵Théophane Hufschmitt
typetetris/fix-url-parsing-file-as-application-scheme Fix url parsing for urls using `file+`
2023-01-30Merge branch 'master' into referenceablePathsThéophane Hufschmitt
2023-01-30Merge pull request #7689 from ncfavier/nix-path-restrict-evalThéophane Hufschmitt
getDefaultNixPath: actually respect `{restrict,pure}-eval`
2023-01-29More property testsJohn Ericson
Also put proper comparison methods on `DerivedPath` and `NixStringContextElem`, which is needed for the tests but good in general.
2023-01-29Allow unit test infra to be reused across libs' testsJohn Ericson
This allows using Arbitrary "instances" defined in libstore-tests in libexpr-tests, something we will leverage in a moment.
2023-01-27apply showAllSystems to legacyPackages as wellMax
2023-01-27Document default `nix-path` valueNaïm Favier
2023-01-27getDefaultNixPath: actually respect `{restrict,pure}-eval`Naïm Favier
Previously, getDefaultNixPath was called too early: at initialisation time, before CLI and config have been processed, when `restrictEval` and `pureEval` both have their default value `false`. Call it when initialising the EvalState instead, and use `setDefault`.
2023-01-27Merge remote-tracking branch 'nixos/master' into pr-flake-show-foreignThéophane Hufschmitt
2023-01-26improve documentation about substituters and trusted usersSolène Rapenne
Co-authored-by: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
2023-01-26Update src/libstore/daemon.ccSolène Rapenne
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-01-26warnings: enhance the case of untrusted substituter for untrusted userSolène Rapenne
2023-01-24Fix 'destructor called on non-final ...' warningGuillaume Maudoux
clangStdenv compiles with a single warning: ``` warning: destructor called on non-final 'nix::PosAdapter' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] ``` This fixes the warning by making the destructor of PosAdapter virtual, deffering to the correct destructor from the concrete child classes. This has no impact in the end, as none of these classes have specific destructors. Technicaly, it may be faster not to have this indirection, but as per the warning, there is only one place where we have to delete abstract PosAdapter values. Not worth bikesheding I guess.
2023-01-23Merge pull request #7595 from cole-h/show-setting-valueEelco Dolstra
nix/show-config: allow getting the value of a specific setting
2023-01-23Merge pull request #7447 from aakropotkin/read-file-typeRobert Hensing
Read file type
2023-01-23Merge pull request #7657 from obsidiansystems/fix-7655Robert Hensing
Fix #7655
2023-01-23Test store paths, with property testsJohn Ericson
The property test in fact found a bug: we were excluding numbers!
2023-01-23Better-scope `Store` forward declarationsJohn Ericson
2023-01-23Add `rapidcheck` dependency for testingJohn Ericson
Property tests are great! Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2023-01-22primop: add readFileType, optimize readDirAlex Ameen
Allows checking directory entry type of a single file/directory. This was added to optimize the use of `builtins.readDir` on some filesystems and operating systems which cannot detect this information using POSIX's `readdir`. Previously `builtins.readDir` would eagerly use system calls to lookup these filetypes using other interfaces; this change makes these operations lazy in the attribute values for each file with application of `builtins.readFileType`.
2023-01-21Fix #7655John Ericson
We had some local variables left over from the older (more complicated) implementation of this function. They should all be unused, but one wasn't by mistake. Delete them all, and replace the one that was still in use as intended.
2023-01-20Use complete '__toString' attribute nameGuillaume Maudoux
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-01-20Fix unreachable error messageGuillaume Maudoux
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-01-20Fix url parsing for urls using `file+`Eric Wolf
`file+https://example.org/test.mp4` should not be rejected with `unexpected authority`.
2023-01-19Always display addErrorContext messages in (expanded) tracesGuillaume Maudoux
2023-01-19Discuss re-entrant errors and designGuillaume Maudoux
2023-01-19Add tests for error traces, and fixesGuillaume Maudoux
2023-01-19Revert "Revert "Merge pull request #6204 from layus/coerce-string""Guillaume Maudoux
This reverts commit 9b33ef3879a764bed4cc2404a08344c3a697a646.
2023-01-18Merge pull request #7631 from edolstra/output-namesEelco Dolstra
OutputSpec: Allow all valid output names
2023-01-18Add test for OutputsSpec::NamesEelco Dolstra
From @Ericson2314.
2023-01-18OutputSpec: Allow all valid output namesEelco Dolstra
Fixes #7624.
2023-01-18Restore support for channel: URLs in fetchTarballEelco Dolstra
Fixes #7625.
2023-01-18Revert "Merge pull request #6204 from layus/coerce-string"Robert Hensing
This reverts commit a75b7ba30f1e4f8b15e810fd18e63ee9552e0815, reversing changes made to 9af16c5f742300e831a2cc400e43df1e22f87f31.
2023-01-17Try again to fix aarch64-linux build failureJohn Ericson
f419ab48e6394838097f158265ac3cc531ee7958 was on the right track, but there are a few more missing `raw()` calls to fix.
2023-01-17Keep the default profile the sameThéophane Hufschmitt
It's used as the “system” profile in a bunch of places, so better not touch it. Besides, it doesn't hurt to keep it since it's owned by root any way, so it doesn't have the `chown` problem that the user profiles had and that led to wanting to move them on the client-side.
2023-01-17Don't try to migrate existing profilesThéophane Hufschmitt
Doing so would be more dangerous than useful, better leave them as-is if they already exist
2023-01-17Migrate the old profiles to the new locationThéophane Hufschmitt
Make sure that we don’t just create the new profiles directory, but that we also migrate every existing profile to it.
2023-01-17Move the default profiles to the user’s homeThéophane Hufschmitt
Rather than using `/nix/var/nix/{profiles,gcroots}/per-user/`, put the user profiles and gcroots under `$XDG_DATA_DIR/nix/{profiles,gcroots}`. This means that the daemon no longer needs to manage these paths itself (they are fully handled client-side). In particular, it doesn’t have to `chown` them anymore (removing one need for root). This does change the layout of the gc-roots created by nix-env, and is likely to break some stuff, so I’m not sure how to properly handle that.
2023-01-17Merge pull request #7606 from hercules-ci/recognize-some-flake-attributesEelco Dolstra
flake check: Recognize well known community attributes
2023-01-16flake check: Recognize well known community attributesRobert Hensing
This avoids warning fatigue, making `nix flake check` more effective.
2023-01-16Merge pull request #7585 from NixOS/macos-disconnectEelco Dolstra
MonitorFdHup: Make it work on macOS again