aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-02-21Merge pull request #7874 from obsidiansystems/fix-no-gc-buildThéophane Hufschmitt
Fix the build without GC
2023-02-21Merge pull request #7755 from obsidiansystems/mix-read-only-modeThéophane Hufschmitt
Make `--read-only` a separate mixin
2023-02-21Fix the build without GCJohn Ericson
I had given it an improper trailing comma in 1bd03ad100e8813751b6c08b0c21ae8cf5a9c21d.
2023-02-21Merge pull request #7856 from yorickvP/fix-nsswitchThéophane Hufschmitt
Wait with making /etc unwritable until after build env setup
2023-02-20`Derivation::toJSON`: fix bug!John Ericson
When I moved this code from the binary to libnixstore #7863, I forgot to display the environment variables!
2023-02-20Merge pull request #7863 from obsidiansystems/test-derivation-to-jsonRobert Hensing
Move Derivation JSON printing logic to lib and test it
2023-02-20Make `--read-only` a separate mixinJohn Ericson
It is independent of SourceExprCommand, which is about parsing installables, except for the fact that parsing installables is one of the many things influenced by read-only mode.
2023-02-20Split out `CmdRepl` and `editorFor`John Ericson
The REPL itself and the `nix repl` CLI are conceptually different things, and thus deserve to be in different files.
2023-02-20Slight cleanup of `InstallablesCommand::load`John Ericson
2023-02-20Split out `InstallableFlake` and `InstallableAttrPath`John Ericson
2023-02-19Merge pull request #7158 from sternenseemann/foldl-strict-accumulation-valueValentin Gagarin
2023-02-19Test `toJSON` of `DerivationOutput` and `Derivation`John Ericson
2023-02-19Move `Derivation` toJSON logic to libnixstoreJohn Ericson
2023-02-17Wait with making /etc unwritable until after build env setupYorick van Pelt
This fixes /etc/nsswitch.conf
2023-02-16Merge pull request #7811 from Et7f3/fix_memory_leaksRobert Hensing
Reduce memory leaks
2023-02-16ExprOpHasAttr,ExprSelect,stripIndentation,binds,formals: delete losts objectsEt7f3
We are looking for *$ because it indicate that it was constructed with a new but not release. De-referencing shallow copy so deleting as whole might create dangling pointer that's why we move it so we delete a empty containers + the nice perf boost.
2023-02-14Make /etc writability conditional on uid-range featureYorick van Pelt
2023-02-14Don't allow writing to /etcYorick van Pelt
2023-02-13Merge pull request #7744 from obsidiansystems/split-installable-store-pathtomberek
Factor out `InstallableStorePath` to its own file, dedup
2023-02-13Merge pull request #7616 from hercules-ci/fix-3898Eelco Dolstra
Fix foreign key error inserting into NARs #3898
2023-02-13Merge pull request #7804 from PJungkamp/fix-completionsEelco Dolstra
Infer short completion descriptions for commandline flags
2023-02-12ExprString: Avoid copy of stringEt7f3
2023-02-12parser: use implicit ruleEt7f3
2023-02-10Completions::add use libutil trim()Philipp Jungkamp
2023-02-10Merge pull request #7805 from edolstra/c++2aEelco Dolstra
Fix building with GCC 9
2023-02-10Merge pull request #7802 from edolstra/fix-7783Eelco Dolstra
Fix PID namespace support check
2023-02-10Fix building with GCC 9Eelco Dolstra
Nixpkgs on aarch64-linux is currently stuck on GCC 9 (https://github.com/NixOS/nixpkgs/issues/208412) and using gcc11Stdenv doesn't work either. So use c++2a instead of c++20 for now. Unfortunately this means we can't use some C++20 features for now (like std::span).
2023-02-10Merge pull request #5588 from tweag/balsoft/xdgThéophane Hufschmitt
Follow XDG Base Directory standard
2023-02-10Infer short completion descriptions for commandline flagsPhilipp Jungkamp
Descriptions for commandline flags may not include newlines and should be rather short for display in a shell. Truncate the description string of a flag on '\n' or '.' to and add an ellipsis if needed.
2023-02-10A setting to follow XDG Base Directory standardAlexander Bantyev
XDG Base Directory is a standard for locations for storing various files. Nix has a few files which seem to fit in the standard, but currently use a custom location directly in the user's ~, polluting it: - ~/.nix-profile - ~/.nix-defexpr - ~/.nix-channels This commit adds a config option (use-xdg-base-directories) to follow the XDG spec and instead use the following locations: - $XDG_STATE_HOME/nix/profile - $XDG_STATE_HOME/nix/defexpr - $XDG_STATE_HOME/nix/channels If $XDG_STATE_HOME is not set, it is assumed to be ~/.local/state. Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com> Co-authored-by: Tim Fenney <kodekata@gmail.com> Co-authored-by: pasqui23 <pasqui23@users.noreply.github.com> Co-authored-by: Artturin <Artturin@artturin.com> Co-authored-by: John Ericson <Ericson2314@Yahoo.com>
2023-02-10Fix macOS buildEelco Dolstra
2023-02-10LocalDerivationGoal::startBuilder(): Use startProcess() to cloneEelco Dolstra
2023-02-10daemon.cc: Rename UserSettings -> AuthorizationSettingsRobert Hensing
This is a bit more accurate. It's a private name, but before you know it, someone might make it public!
2023-02-10Simplify the PID namespace check: just try to mount /procEelco Dolstra
Fixes #7783.
2023-02-09Merge pull request #7754 from obsidiansystems/narrower-scope-derivation-flagThéophane Hufschmitt
Scope down `--derivation` to just the commands that use it
2023-02-09Merge pull request #7774 from edolstra/submodule-fixesEelco Dolstra
Git submodule fixes
2023-02-09Merge pull request #7712 from Mic92/advertise-compressionsEelco Dolstra
advertise transport encoding in http transfers to
2023-02-09Improve commentEelco Dolstra
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-02-09Fix activity messageEelco Dolstra
Co-authored-by: Josef Kemetmüller <josef.kemetmueller@gmail.com>
2023-02-08Documentation: builtins.fetchGit when used on a local path (#7706)Joachim Breitner
* Documentation: builtins.fetchGit when used on a local path Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-02-07NarInfoDiskCache: Also test id consistency with updated fieldsRobert Hensing
And clarify test
2023-02-07NarInfoDiskCache: Keep BinaryCache.id stable and improve testRobert Hensing
Fixes #3898 The entire `BinaryCaches` row used to get replaced after it became stale according to the `timestamp` column. In a concurrent scenario, this leads to foreign key conflicts as different instances of the in-process `state.caches` cache now differ, with the consequence that the older process still tries to use the `id` number of the old record. Furthermore, this phenomenon appears to have caused the cache for actual narinfos to be erased about every week, while the default ttl for narinfos was supposed to be 30 days.
2023-02-07NarInfoDiskCache: Prepare reproducer for #3898Robert Hensing
2023-02-07NarInfoDiskCacheImpl: Make dbPath a parameterRobert Hensing
This allows testing with a clean database.
2023-02-07NarInfoDiskCache: Rename cacheExists -> upToDateCacheExistsRobert Hensing
This is slightly more accurate considering that an outdated record may exist in the persistent cache. Possibly-outdated records are quite relevant as they may be foreign keys to more recent information that we want to keep, but we will not return them here.
2023-02-07sqlite.cc: Add SQL tracingRobert Hensing
Set environment variable NIX_DEBUG_SQLITE_TRACES=1 to log all sql statements.
2023-02-07Print debug message if a namespace test failsEelco Dolstra
2023-02-07Mention --no-sandbox if sandboxing is unsupportedEelco Dolstra
2023-02-07More #ifdefEelco Dolstra
2023-02-07Fix macOS buildEelco Dolstra