aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-24Merge pull request #6308 from NixOS/consisten-use-of-url-uri-5872Eelco Dolstra
Fix flake profile use of originalUrl vs. originalUri
2022-03-24Merge pull request #6307 from edolstra/cp-symlinksEelco Dolstra
install-multi-user.sh: Preserve symlinks
2022-03-24install-multi-user.sh: Preserve symlinksEelco Dolstra
We need to pass -P to ensure that symlinks are copied correctly. Fixes #6303.
2022-03-24Fix flake profile use of originalUrl vs. originalUriRok Garbas
Fixes #5872
2022-03-24Merge pull request #6306 from trofi/add-lexer-locationsEelco Dolstra
lexer: add error location to lexer errors
2022-03-24lexer: add error location to lexer errorsSergei Trofimovich
Before the change lexter errors did not report the location: $ nix build -f. mc error: path has a trailing slash (use '--show-trace' to show detailed location information) Note that it's not clear what file generates the error. After the change location is reported: $ src/nix/nix --extra-experimental-features nix-command build -f ~/nm mc error: path has a trailing slash at .../pkgs/development/libraries/glib/default.nix:54:18: 53| }; 54| src = /tmp/foo/; | ^ 55| (use '--show-trace' to show detailed location information) Here we see both problematic file and the string itself.
2022-03-23Merge pull request #6144 from toonn/doc-macos-uninstallDomen Kožar
doc: Add detailed uninstall section for macOS
2022-03-22Merge pull request #6298 from kayhide/nix-edit-support-kakouneEelco Dolstra
nix edit: support kakoune
2022-03-22nix edit: support kakouneHideaki Kawai
2022-03-22Merge pull request #6296 from edolstra/fix-profile-manifestEelco Dolstra
Don't hide repeated values while generating manifest.nix
2022-03-22Don't hide repeated values while generating manifest.nixEelco Dolstra
Fixes #6243.
2022-03-22printValue(): <REPEAT> -> «repeated»Eelco Dolstra
This ensures that it doesn't get parsed as a valid Nix expression.
2022-03-22Merge pull request #6294 from edolstra/filter-manifestEelco Dolstra
buildProfile(): Ignore manifest.{nix,json}
2022-03-22buildProfile(): Ignore manifest.{nix,json}Eelco Dolstra
If a package installs a file named manifest.json, it caused nix-env to consider the profile a new-style profile created by 'nix profile'. Fixes #6032.
2022-03-22Merge pull request #6237 from obsidiansystems/store-path-string-contextEelco Dolstra
Decode string context straight to using StorePaths
2022-03-21Merge pull request #6290 from Misterio77/fix-sourcehut-tags-refsEelco Dolstra
Fix sourcehut tags refs resolving
2022-03-19Fix sourcehut integration testGabriel Fontes
The new implementation relies on tab separting the hash and ref (this is how sourcehut does it). This fixes the integration test to use a tab instead of a space.
2022-03-19Don't partial match sourcehut refsGabriel Fontes
2022-03-19Fix sourcehut tag ref resolvingGabriel Fontes
2022-03-18Merge pull request #6284 from obsidiansystems/generlized-derivation-typeThéophane Hufschmitt
Generalize DerivationType in preparation for impure derivations
2022-03-18Decode string context straight to using `StorePath`sJohn Ericson
I gather decoding happens on demand, so I hope don't think this should have any perf implications one way or the other.
2022-03-18Generalize `DerivationType` in preparation for impure derivationsJohn Ericson
2022-03-18Avoid some pointless copying of drvsJohn Ericson
2022-03-18Use Deferred when building an input-addressed drvJohn Ericson
Easier than using dummy path with input addressed.
2022-03-18Merge pull request #6283 from obsidiansystems/outputs-less-nestingThéophane Hufschmitt
Clean up `DerivationOutput`, and headers
2022-03-17Clean up `DerivationOutput`, and headersJohn Ericson
1. `DerivationOutput` now as the `std::variant` as a base class. And the variants are given hierarchical names under `DerivationOutput`. In 8e0d0689be797f9e42f9b43b06f50c1af7f20b4a @matthewbauer and I didn't know a better idiom, and so we made it a field. But this sort of "newtype" is anoying for literals downstream. Since then we leaned the base class, inherit the constructors trick, e.g. used in `DerivedPath`. Switching to use that makes this more ergonomic, and consistent. 2. `store-api.hh` and `derivations.hh` are now independent. In bcde5456cc3295061a0726881c3e441444dd6680 I swapped the dependency, but I now know it is better to just keep on using incomplete types as much as possible for faster compilation and good separation of concerns.
2022-03-17Merge pull request #6277 from thufschmitt/ca/nix-build-dry-runEelco Dolstra
Fix `nix build --dry-run` with CA derivations
2022-03-17Merge branch 'avoid-quadratic-gc' of https://github.com/trofi/nixEelco Dolstra
2022-03-17gc: don't visit implicit referrers on garbage collectionSergei Trofimovich
Before the change garbage collector was not considering `.drv` and outputs as alive even if configuration says otherwise. As a result `nix store gc --dry-run` could visit (and parse) `.drv` files multiple times (worst case it's quadratic). It happens because `alive` set was populating only runtime closure without regard for actual configuration. The change fixes it. Benchmark: my system has about 139MB, 40K `.drv` files. Performance before the change: $ time nix store gc --dry-run real 4m22,148s Performance after the change: $ time nix store gc --dry-run real 0m14,178s
2022-03-17Merge pull request #6270 from Artturin/stdinevalThéophane Hufschmitt
nix: allow using --file - to read from stdin
2022-03-17Fix `nix build --dry-run` with CA derivationsThéophane Hufschmitt
Don’t try and assume that we know the output paths when we’ve just built with `--dry-run`. Instead make `--dry-run` follow a different code path that won’t assume the knowledge of the output paths at all. Fix #6275
2022-03-17Merge pull request #6242 from ncfavier/print-output-namesThéophane Hufschmitt
nix-env: always print output names in JSON and XML
2022-03-16Add some tests for `nix-env -q --json`Théophane Hufschmitt
2022-03-16nix-env: print a final newline after JSONNaïm Favier
2022-03-16nix-env: always print output names in JSON and XMLNaïm Favier
The current `--out-path` flag has two disadvantages when one is only concerned with querying the names of outputs: - it requires evaluating every output's `outPath`, which takes significantly more resources and runs into more failures - it destroys the information of the order of outputs so we can't tell which one is the main output This patch makes the output names always present (replacing paths with `null` in JSON if `--out-path` isn't given), and adds an `outputName` field.
2022-03-16Merge pull request #6267 from nomeata/patch-1Théophane Hufschmitt
distributed-builds.md: fixing typo of the most minor sort
2022-03-16add tests for nix eval and nix-instantiateArtturin
2022-03-16nix: allow using --file - to read from stdinArtturin
2022-03-16distributed-builds.md: fixing typo of the most minor sortJoachim Breitner
2022-03-16Merge pull request #6245 from trofi/fix-nix-store-gc-limit-auto-optimise-storeEelco Dolstra
nix store gc: account for auto-optimised store
2022-03-16Merge pull request #6264 from thufschmitt/fix-32bits-testsEelco Dolstra
Fix the tests on 32bits machines
2022-03-16Fix the date in the comment of fetchPath’s testThéophane Hufschmitt
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2022-03-15Merge pull request #6229 from obsidiansystems/refactor-hash-moduloThéophane Hufschmitt
Overhaul derivation hash modulo somewhat
2022-03-15Fix the tests on 32bits machinesregnat
year 2222 is too much for a 32 bit timestamp. So replace it by something smaller
2022-03-15Merge pull request #6119 from Ma27/path-mtimeThéophane Hufschmitt
libfetchers/path: set `lastModified` to path's mtime
2022-03-15Implement simple test for `path`-fetcher setting a correct `lastModifiedDate`Maximilian Bosch
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-03-15libfetchers: remove obsolete filesystem #includeMaximilian Bosch
2022-03-15libfetchers/path: set `lastModified` to path's mtimeMaximilian Bosch
When importing e.g. a local `nixpkgs` in a flake to test a change like { inputs.nixpkgs.url = path:/home/ma27/Projects/nixpkgs; outputs = /* ... */ } then the input is missing a `lastModified`-field that's e.g. used in `nixpkgs.lib.nixosSystem`. Due to the missing `lastMoified`-field, the mtime is set to 19700101: result -> /nix/store/b7dg1lmmsill2rsgyv2w7b6cnmixkvc1-nixos-system-nixos-22.05.19700101.dirty With this change, the `path`-fetcher now sets a `lastModified` attribute to the `mtime` just like it's the case in the `tarball`-fetcher already. When building NixOS systems with `nixpkgs` being a `path`-input and this patch, the output-path now looks like this: result -> /nix/store/ld2qf9c1s98dxmiwcaq5vn9k5ylzrm1s-nixos-system-nixos-22.05.20220217.dirty
2022-03-14Merge pull request #6244 from Artturin/nixenvbettermessageEelco Dolstra
nix-env: Add a suggestion for when there's a name collision in channels
2022-03-14Merge pull request #6220 from obsidiansystems/log-storeThéophane Hufschmitt
Factor out a `LogStore` interface