aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-23Merge pull request #6673 from asymmetric/warnThéophane Hufschmitt
libstore: improve warning message on missing sig
2022-06-23Embed the sandbox shell into the statically linked 'nix' binaryEelco Dolstra
With this, Nix will write a copy of the sandbox shell to /bin/sh in the sandbox rather than bind-mounting it from the host filesystem. This makes /bin/sh work out of the box with nix-static, i.e. you no longer get /nix/store/qa36xhc5gpf42l3z1a8m1lysi40l9p7s-bootstrap-stage4-stdenv-linux/setup: ./configure: /bin/sh: bad interpreter: No such file or directory
2022-06-23Merge pull request #6709 from edolstra/fix-static-build-hookEelco Dolstra
Fix build-remote in nix-static
2022-06-23getSelfExe(): Support macOSEelco Dolstra
2022-06-23Remove NIX_LIBEXEC_DIREelco Dolstra
2022-06-23Fix build-remote in nix-staticEelco Dolstra
'build-remote' is now executed via /proc/self/exe so it always works.
2022-06-23nix develop: save XDG_DATA_DIRS for loadable completionNaïm Favier
2022-06-23Merge pull request #6708 from edolstra/run-static-testsEelco Dolstra
Enable tests for nix-static
2022-06-22Merge pull request #6707 from edolstra/fix-incremental-staticEelco Dolstra
Fix incremental static builds
2022-06-22Enable/fix tests in nix-staticEelco Dolstra
pkgsStatic is apparently considered a cross environment, so checkPhase and installCheckPhase are disabled even when we ask for them.
2022-06-22tests/nix-shell: more meaningful testcaseMaximilian Bosch
2022-06-22Fix incremental static buildsEelco Dolstra
$? refers to the object files that are newer, so the resulting file would lack all the older object files.
2022-06-22nar-info-disk-cache: refresh nix-cache-info weeklyLinus Heckemann
This allows changes to nix-cache-info to be picked up by existing clients. Previously, the only way for this to happen would be for clients to delete binary-cache-v6.sqlite, which is quite awkward for users. On the other hand, updates to nix-cache-info should be pretty rare, hence the choice of a fairly long TTL. Configurability is probably not useful enough to warrant implementing it.
2022-06-22StyleEelco Dolstra
2022-06-21 #6542 Apply flake templates partially on conflictsManu [tennox]
Will still exit with non-zero exit code and clearly prompt which files to merge: ``` nixx flake init -t github:numtide/devshell wrote: /home/manu/dev/stuff/gopassbridge/.envrc refusing to overwrite existing file '/home/manu/dev/stuff/gopassbridge/.gitignore' -> merge manually with '/nix/store/ksmwhyghjwb4d9dw6hcpbvng1msdvjim-source/template/.gitignore' wrote: /home/manu/dev/stuff/gopassbridge/devshell.toml wrote: /home/manu/dev/stuff/gopassbridge/flake.nix error: Encountered 1 conflicts - please merge manually ```
2022-06-21Merge pull request #6695 from afishhh/search-fix-excludeEelco Dolstra
Fix arity of `--exclude` flag in `nix search`
2022-06-21Forbid the tilde expansion in pure eval modeThéophane Hufschmitt
Fix #6684
2022-06-20Merge pull request #6676 from ↵Théophane Hufschmitt
virusdave/dnicponski/scratch/swap_homedir_check_master Verify this if `$HOME` exists, it is owned by current user in `getHome()`
2022-06-20Add another test for `--exclude` in `nix search`Fishhh
2022-06-20Fix arity of `--exclude` flag in `nix search`Fishhh
Due to incorrectly using the Handler(vector<string>*) constructor the `--exclude` flag would swallow all proceeding arguments instead of just one.
2022-06-17Verify `$HOME` is owned by current user in `getHome()`, if it exists.Dave Nicponski
Useful because a default `sudo` on darwin doesn't clear `$HOME`, so things like `sudo nix-channel --list` will surprisingly return the USER'S channels, rather than `root`'s. Other counterintuitive outcomes can be seen in this PR description: https://github.com/NixOS/nix/pull/6622
2022-06-16Merge pull request #6620 from maralorn/fix-print-missingThéophane Hufschmitt
respect print-missing variable in new-style build command
2022-06-15libstore: improve warning message on missing sigLorenzo Manacorda
Clarifies that the substitute will be ignored/skipped.
2022-06-15Merge branch 'master' into nix-repl-flakesTom Bereknyei
2022-06-15Apply suggestions from code reviewtomberek
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-06-15Merge pull request #6615 from WhyNotHugo/man-improvementsThéophane Hufschmitt
Add disambiguation to man page
2022-06-14Merge pull request #6662 from tweag/stiky-non-flake-overridesEelco Dolstra
flake.cc: Make non-flake overrides sticky
2022-06-14Add disambiguation to man pageHugo Osvaldo Barrera
This should help future lost newcomers like myself understand where to find the docs for both of these commands and how they differ.
2022-06-13nix-shell: restore backwards-compat with old nixpkgsMaximilian Bosch
Basically an attempt to resume fixing #5543 for a breakage introduced earlier[1]. Basically, when evaluating an older `nixpkgs` with `nix-shell` the following error occurs: λ ma27 [~] → nix-shell -I nixpkgs=channel:nixos-18.03 -p nix error: anonymous function at /nix/store/zakqwc529rb6xcj8pwixjsxscvlx9fbi-source/pkgs/top-level/default.nix:20:1 called with unexpected argument 'inNixShell' at /nix/store/zakqwc529rb6xcj8pwixjsxscvlx9fbi-source/pkgs/top-level/impure.nix:82:1: 81| 82| import ./. (builtins.removeAttrs args [ "system" "platform" ] // { | ^ 83| inherit config overlays crossSystem; This is a problem because one of the main selling points of Nix is that you can evaluate any old Nix expression and still get the same result (which also means that it *still evaluates*). In fact we're deprecating, but not removing a lot of stuff for that reason such as unquoted URLs[2] or `builtins.toPath`. However this property was essentially thrown away here. The change is rather simple: check if `inNixShell` is specified in the formals of an auto-called function. This means that { inNixShell ? false }: builtins.trace inNixShell (with import <nixpkgs> { }; makeShell { name = "foo"; }) will show `trace: true` while args@{ ... }: builtins.trace args.inNixShell (with import <nixpkgs> { }; makeShell { name = "foo"; }) will throw the following error: error: attribute 'inNixShell' missing This is explicitly needed because the function in `pkgs/top-level/impure.nix` of e.g. NixOS 18.03 has an ellipsis[3], but passes the attribute-set on to another lambda with formals that doesn't have an ellipsis anymore (hence the error from above). This was perhaps a mistake, but we can't fix it anymore. This also means that there's AFAICS no proper way to check if the attr-set that's passed to the Nix code via `EvalState::autoCallFunction` is eventually passed to a lambda with formals where `inNixShell` is missing. However, this fix comes with a certain price. Essentially every `shell.nix` that assumes `inNixShell` to be passed to the formals even without explicitly specifying it would break with this[4]. However I think that this is ugly, but preferable: * Nix 2.3 was declared stable by NixOS up until recently (well, it still is as long as 21.11 is alive), so most people might not have even noticed that feature. * We're talking about a way shorter time-span with this change being in the wild, so the fallout should be smaller IMHO. [1] https://github.com/NixOS/nix/commit/9d612c393abc3a73590650d24bcfe2ee57792872 [2] https://github.com/NixOS/rfcs/pull/45#issuecomment-488232537 [3] https://github.com/NixOS/nixpkgs/blob/release-18.03/pkgs/top-level/impure.nix#L75 [4] See e.g. the second expression in this commit-message or the changes for `tests/ca/nix-shell.sh`.
2022-06-13flake.cc: Make non-flake overrides stickyAlexander Bantyev
Overrides for inputs with flake=false were non-sticky, since they changed the `original` in `flake.lock`. This fixes it, by using the same locked original for both flake and non-flake inputs.
2022-06-13Merge pull request #6619 from Jonpez2/patch-1Eelco Dolstra
Add security.csm to ignored-acls
2022-06-13Merge pull request #6027 from Ma27/pure-replEelco Dolstra
repl: `--option pure-eval true` actually enables pure eval mode
2022-06-13Merge pull request #6634 from lovesegfault/fix-getgrouplistEelco Dolstra
fix(libstore/lock): support users that belong to more than 10 groups
2022-06-13Merge pull request #6639 from Artturin/checkseEelco Dolstra
install-multi-user: check if selinux is enabled and if it is then abort
2022-06-13Merge pull request #6648 from andersk/missing-rethrowEelco Dolstra
Add missing rethrows in conditional exception handlers
2022-06-13Merge pull request #6651 from ncfavier/nix-build-stop-loggerThéophane Hufschmitt
nix-build: stop logger when appropriate
2022-06-13Merge pull request #6653 from Misterio77/readd-sourcehut-regex-matchingThéophane Hufschmitt
fix sourcehut brach/tag resolving regression
2022-06-11fix sourcehut brach/tag resolving regressionGabriel Fontes
nixos/nix#6290 introduced a regex pattern to account for tags when resolving sourcehut refs. nixos/nix#4638 reafactored the code, accidentally treating the pattern as a regular string, causing all non-HEAD ref resolving to break. This fixes the regression and adds more test cases to avoid future breakage.
2022-06-11nix-build: stop logger when appropriateNaïm Favier
Reverts b944b588fa280b0555b8269c0f6d097352f8716f in `nix-build.cc`.
2022-06-11Merge pull request #6646 from YorikSar/file-impure-docThéophane Hufschmitt
Mention that -f implies --impure for eval in docs
2022-06-10Add missing rethrows in conditional exception handlersAnders Kaseorg
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-06-10Mention that -f implies --impure for eval in docsYuriy Taraday
Right now this is not mentioned anywhere and it is unexpected.
2022-06-10Merge pull request #6643 from ncfavier/fix-git-againThéophane Hufschmitt
libfetchers/git: add missing `--git-dir` flags
2022-06-10Merge pull request #6641 from NixOS/fix-docker-ci-jobThéophane Hufschmitt
Correctly get the nix version in the docker job
2022-06-10libfetchers/git: add missing `--git-dir` flagsNaïm Favier
2022-06-10Correctly get the nix version in the docker jobThéophane Hufschmitt
`defaultPackage` doesn't exist anymore, so we can't use it. Instead just use the new CLI which should be more robust to these changes Fix #6640
2022-06-10Merge pull request #6637 from sidkshatriya/small-move-optimization-2Théophane Hufschmitt
nix-env: A small std::move() optimization
2022-06-10Update docker.nixJonpez2
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-06-10install-multi-user: check if selinux is enabled and if it is then abortArtturin
2022-06-09nix-env: A small std::move() optimizationSidharth Kshatriya
Avoids doing a O(n) copy of Strings i.e. std::list<std::string>