aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-02-25ExprAttrs::show(): Show attrs in sorted orderEelco Dolstra
Issue #6160.
2022-02-24Merge pull request #6089 from edolstra/dot-defaultEelco Dolstra
Replace defaultBla.$system with bla.$system.default
2022-02-24libfetchers: Rename immutable -> lockedEelco Dolstra
This is more consistent with flake terminology.
2022-02-24Merge pull request #5342 from Misterio77/add-sourcehutThéophane Hufschmitt
Add support for sourcehut input scheme
2022-02-22Update docsEelco Dolstra
2022-02-22nix flake check: Warn about deprecated flake outputsEelco Dolstra
2022-02-22Replace defaultBla.$system with bla.$system.defaultEelco Dolstra
This also simplifies some InstallableFlake logic and fixes 'nix bundle' parsing its installable twice. Fixes #5532.
2022-02-21Merge pull request #6136 from matthewbauer/profile-upgrade-verbosityEelco Dolstra
Add verbosity to nix profile upgrade
2022-02-21Fix macOS buildEelco Dolstra
2022-02-21Apply suggestions from code reviewMatthew Bauer
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-02-21Remove std::string aliasEelco Dolstra
2022-02-21Remove std::vector aliasEelco Dolstra
2022-02-21Remove std::set aliasEelco Dolstra
2022-02-21Remove std::list aliasEelco Dolstra
2022-02-21Merge pull request #6052 from ↵Eelco Dolstra
hercules-ci/issue-3294-fix-interruptCallback-deadlock Fix deadlocked nix-daemon zombies on darwin #3294
2022-02-21triggerInterrupt: Refactor to use breakRobert Hensing
2022-02-20Add verbosity to nix profile upgradeMatthew Bauer
Followup of https://github.com/NixOS/nix/pull/6086. This time adding a warning if no packages are upgraded.
2022-02-19path-info: use full store paths when we have themLinus Heckemann
Fixes #5645
2022-02-17Merge pull request #6103 from Radvendii/welcomeTextEelco Dolstra
add descriptive output when creating templates
2022-02-17make flake template welcomeText markdownTaeer Bar-Yam
2022-02-16InputScheme::fetch(): Return a StorePath instead of a TreeEelco Dolstra
2022-02-16addToStoreFromDump(): Take std::string_viewEelco Dolstra
2022-02-15add descriptive output when creating templatesTaeer Bar-Yam
this includes a `welcomeText` attribute which can be set in the template, as well as outputing which files were created.
2022-02-14add sourcehut input schemeGabriel Fontes
2022-02-14InstallableFlake: Default attr paths cleanupEelco Dolstra
This removes some duplicated logic, and fixes "nix bundle" parsing its installable twice.
2022-02-12Fix using sandbox without user namespacesSebastian Ullrich
2022-02-11Merge pull request #6085 from edolstra/fix-flake-defaultsEelco Dolstra
parseInstallables(): Don't try the flake attr path prefixes when no fragment is specified
2022-02-11profile: add verbosityTom Bereknyei
warn if there are no matches and give notice of removing packages as they are found
2022-02-11parseInstallables(): Don't try the flake attr path prefixes when no fragment ↵Eelco Dolstra
is specified Fixes #5880.
2022-02-10nix/why-depends: fix output when not using `--precise`Maximilian Bosch
On Nix 2.6 the output of `nix why-depends --all` seems to be somewhat off: $ nix why-depends /nix/store/kn47hayxab8gc01jhr98dwyywbx561aq-nixos-system-roflmayr-21.11.20220207.6c202a9.drv /nix/store/srn5jbs1q30jpybdmxqrwskyny659qgc-nix-2.6.drv --derivation --extra-experimental-features nix-command --all /nix/store/kn47hayxab8gc01jhr98dwyywbx561aq-nixos-system-roflmayr-21.11.20220207.6c202a9.drv └───/nix/store/g8bpgfjhh5vxrdq0w6r6s64f9kkm9z6c-etc.drv │ └───/nix/store/hm0jmhp8shbf3cl846a685nv4f5cp3fy-nspawn-inst.drv | [...] └───/nix/store/2d6q3ygiim9ijl5d4h0qqx6vnjgxywyr-system-units.drv └───/nix/store/dil014y1b8qyjhhhf5fpaah5fzdf0bzs-unit-systemd-nspawn-hydra.service.drv └───/nix/store/a9r72wwx8qrxyp7hjydyg0gsrwnn26zb-activate.drv └───/nix/store/99hlc7i4gl77wq087lbhag4hkf3kvssj-nixos-system-hydra-21.11pre-git.drv Please note that `[...]-system-units.drv` is supposed to be a direct child of `[...]-etc.drv`. The reason for that is that each new level printed by `printNode` is four spaces off in comparison to `nix why-depends --precise` because the recursive `printNode()` only prints the path and not the `tree*`-chars in the case of `--precise` and in this format the path is four spaces further indented, i.e. on a newline, but on the same level as the path's children, i.e. /nix/store/kn47hayxab8gc01jhr98dwyywbx561aq-nixos-system-roflmayr-21.11.20220207.6c202a9.drv └───/: …1-p8.drv",["out"]),("/nix/store/g8bpgfjhh5vxrdq0w6r6s64f9kkm9z6c-etc.drv",["out"]),("/nix/store/… → /nix/store/g8bpgfjhh5vxrdq0w6r6s64f9kkm9z6c-etc.drv As you can see `[...]-etc.drv` is a direct child of the root, but four spaces indented. This logic was directly applied to the code-path with `precise=false` which resulted in `tree*` being printed four spaces too deep. In case of no `--precise`, `hits[hash]` is empty and the path itself should be printed rather than hits using the same logic as for `hits[hash]`. With this fix, the output looks correct now: /nix/store/kn47hayxab8gc01jhr98dwyywbx561aq-nixos-system-roflmayr-21.11.20220207.6c202a9.drv └───/nix/store/g8bpgfjhh5vxrdq0w6r6s64f9kkm9z6c-etc.drv ├───/nix/store/hm0jmhp8shbf3cl846a685nv4f5cp3fy-nspawn-inst.drv | [...] └───/nix/store/2d6q3ygiim9ijl5d4h0qqx6vnjgxywyr-system-units.drv └───/nix/store/dil014y1b8qyjhhhf5fpaah5fzdf0bzs-unit-systemd-nspawn-hydra.service.drv └───/nix/store/a9r72wwx8qrxyp7hjydyg0gsrwnn26zb-activate.drv └───/nix/store/99hlc7i4gl77wq087lbhag4hkf3kvssj-nixos-system-hydra-21.11pre-git.drv
2022-02-07Merge pull request #6054 from lincolnauster/lf-reporterrEelco Dolstra
repl/load-flake: throw error if path isn't specified
2022-02-07Make sure no exceptions leave ignoreException()Sergei Trofimovich
I noticed that occasional Ctrl-C leaves *.lock files around. `nix-daemon`'s journal logs contained crashes like: nix-daemon[30416]: terminate called after throwing an instance of 'nix::SysError' nix-daemon[30416]: what(): error: writing to file: Broken pipe And core dump backtraces pointed at `teriminate()` call from destructors: ... _Unwind_Resume () nix::ignoreException() () nix::LocalDerivationGoal::~LocalDerivationGoal() ... void ignoreException() { try { throw; } catch (std::exception & e) { printError("error (ignored): %1%", e.what()); } } The crashes happen when client side closes early and printError() throws an IO error. The change wraps `ignoreException()` into blanket `try { ... } catch (...) {}`. Closes: https://github.com/NixOS/nix/issues/6046
2022-02-07fix markuplincoln auster
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-02-07Fix 'basic_string::_M_construct null not valid' in interrupted downloadEelco Dolstra
Fixes #5985.
2022-02-06repl/load-flake: throw error if path isn't specifiedlincoln auster [they/them]
2022-02-06Don't hold interruptCallbacks lock during interrupt handlingRobert Hensing
This changes the representation of the interrupt callback list to be safe to use during interrupt handling. Holding a lock while executing arbitrary functions is something to avoid in general, because of the risk of deadlock. Such a deadlock occurs in https://github.com/NixOS/nix/issues/3294 where ~CurlDownloader tries to deregister its interrupt callback. This happens during what seems to be a triggerInterrupt() by the daemon connection's MonitorFdHup thread. This bit I can not confirm based on the stack trace though; it's based on reading the code, so no absolute certainty, but a smoking gun nonetheless.
2022-02-06Merge pull request #6040 from matthewbauer/allow-missing-override-inputEelco Dolstra
Allow missing flake.nix for --override-input target
2022-02-06Merge pull request #6047 from SuperSandro2000/nix-shell-BASHEelco Dolstra
nix-shell: set BASH variable to correct shell
2022-02-06Merge pull request #6042 from pennae/fix-repl-aEelco Dolstra
fix nix repl not overriding existing bindings in :a
2022-02-05nix-shell: set BASH variable to correct shellSandro Jäckel
2022-02-04fix nix repl not overriding existing bindings in :apennae
previously :a would override old bindings of a name with new values if the added set contained names that were already bound. in nix 2.6 this doesn't happen any more, which is potentially confusing. fixes #6041
2022-02-03Allow missing flake.nix for --override-input targetMatthew Bauer
At this point, we don’t know if the input is a flake or not. So, we should allow the user to override the input with a directory without a flake.nix. Ideally, we could figure whether the input was originally a flake or not, but that would require instantiating the whole flake. So just allow it to be missing here, and rely on checks later on to verify the input for us.
2022-02-04Make most calls to determinePos() lazyEelco Dolstra
2022-02-04Merge branch 'issue-3505' of https://github.com/kamadorueda/nixEelco Dolstra
2022-02-03Merge branch 'master' into bundler_drvtomberek
2022-02-02Merge pull request #6036 from tweag/balsoft/and-yet-another-follows-bugfixEelco Dolstra
Flake follows: resolve all follows to absolute
2022-02-02Flake follows: resolve all follows to absoluteAlexander Bantyev
It's not possible in general to know in computeLocks, relative to which path the follows was intended to be. So, we always resolve follows to their absolute states when we encounter them (which can either be in parseFlakeInput or computeLocks' fake input population). Fixes https://github.com/NixOS/nix/issues/6013 Fixes https://github.com/NixOS/nix/issues/5609 Fixes https://github.com/NixOS/nix/issues/5697 (again)
2022-02-02Merge branch 'parser-improvements' of https://github.com/pennae/nixEelco Dolstra
2022-02-02Merge branch 'more-stringviews' of https://github.com/pennae/nixEelco Dolstra
2022-01-31Merge pull request #6022 from thkoch2001/fix-lowdown_libsEelco Dolstra
use LOWDOWN_LIBS variable