about summary refs log tree commit diff
path: root/src/nix
AgeCommit message (Collapse)AuthorFilesLines
2018-10-29 repl: complete if all matches share prefixWill Dietz1-0/+18
2018-10-29 editline: wipWill Dietz2-33/+59
2018-10-29 nix doctor: return nonzero exitcode if a check failsDaiderd Jordan1-6/+20
This makes it easier to use this when testing the installer or when running the checks with other automated tooling.
2018-10-27 Fix signedness warningEelco Dolstra1-1/+1
2018-10-27 Merge branch 'nix-doctor' of https://github.com/LnL7/nixEelco Dolstra1-0/+110
2018-10-26 src/nix/local.mk: fix typos in names of symlinksWill Dietz1-1/+1
2018-10-26 Merge all nix-* binaries into nixEelco Dolstra2-6/+21
These are all symlinks to 'nix' now, reducing the installed size by about ~1.7 MiB.
2018-10-08 Merge pull request #2452 from ElvishJerricco/verify-sigs-overflowEelco Dolstra1-1/+1
Fix overflow when verifying signatures of content addressable paths
2018-09-27 Don't talk about a "current folder build output"Eelco Dolstra1-4/+4
Presumably this refers to ./default.nix but the support for that in 'nix' is tenuous. Also folders are a Mac thing.
2018-09-26 nix doctor: reimplement profile warning without gcroot checkDaiderd Jordan1-20/+19
Calculating roots seems significantly slower on darwin compared to linux. Checking for /profile/ links could show some false positives but should still catch most issues.
2018-09-25 Fix overflow when verifying signatures of content addressable pathsWill Fancher1-1/+1
2018-09-24 Merge pull request #2312 from ↵Eelco Dolstra1-1/+3
dtzWill/fix/matched-names-should-still-print-version search: include version for matches too!
2018-09-10 auto args on replDing Xiang Fei1-2/+3
2018-09-02 nix doctor: only perform path/profile checks with a daemon/local storeDaiderd Jordan1-3/+6
Not all store types LegacySSHStore support these operations and it doesn't really make sense to check those.
2018-09-02 nix doctor: add check for profile rootsDaiderd Jordan1-0/+35
In most cases profiles that are in PATH should have a gcroot.
2018-09-02 nix doctor: add warning for multiple versionsDaiderd Jordan1-0/+17
It's pretty easy to unintentionally install a second version of nix into the user profile when using a daemon install. In this case it looks like nix was upgraded while the nix-daemon is probably still unning an older version.
2018-09-02 nix doctor: handle serve protocolDaiderd Jordan1-4/+9
The serve protocol used by LegacySSHStore has a different major and shouldn't be compared to PROTOCOL_VERSION.
2018-09-02 nix doctor: add warning if client/daemon protocol mismatchesDaiderd Jordan1-1/+26
A protocol mismatch can sometimes cause problems when using specific features with an older daemon. For example: Nix 2.0 changed the way files are compied to the store. The daemon is backwards compatible and can still handle older clients, however a 1.11 nix-daemon isn't forwards compatible.
2018-09-02 nix doctor: add commandDaiderd Jordan1-0/+26
Inspired by the homebrew command, shows a combination of debugging information and warnings with potential issues with a nix installation.
2018-09-01 nix path-info: Remove trailing spacesEelco Dolstra1-1/+4
Fixes #2390.
2018-08-31 Really fix the buildEelco Dolstra1-0/+1
2018-08-31 nix path-info: Hopefully fix macOS build failureEelco Dolstra1-2/+2
https://hydra.nixos.org/build/80480356
2018-08-30 nix upgrade-nix: Handle .nix-profile being a link to .../profiles/per-user/...Eelco Dolstra1-12/+22
Also some cosmetic improvements.
2018-08-30 nix upgrade-nix: Improve error message if 'nix' is not in a profileEelco Dolstra1-1/+1
E.g. $ nix upgrade-nix error: directory '/home/eelco/Dev/nix/inst/bin' does not appear to be part of a Nix profile instead of $ nix upgrade-nix error: '/home/eelco/Dev/nix/inst' is not a symlink
2018-08-30 Merge branch 'nix-upgrade-profile' of https://github.com/LnL7/nixEelco Dolstra1-11/+23
2018-08-30 Add simple test for nix upgrade-nixEelco Dolstra1-1/+8
2018-08-30 printSize() fixesEelco Dolstra1-7/+5
Fix a 32-bit overflow that resulted in negative numbers being printed; use fmt() instead of boost::format(); change -H to -h for consistency with 'ls' and 'du'; make the columns narrower (since they can't be bigger than 1024.0).
2018-08-30 Avoid overflow and use boost::formatBenjamin Hipple1-6/+7
If the user has an object greater than 1024 yottabytes, it'll just display it as N yottabytes instead of overflowing. Swaps to use boost::format strings instead of std::setw and std::setprecision.
2018-08-30 Add human readable closure sizes to nix path-infoBenjamin Hipple1-2/+27
Unfortunately, -h is already taken as a short option by --help, so we have to use a different letter or the capitalized version. Resolves #2363
2018-08-30 nix: Remove the -h flagEelco Dolstra1-1/+0
2018-08-29 Merge pull request #2336 from ivan/repl-trailing-spacesEelco Dolstra1-1/+6
repl: don't add trailing spaces to history lines
2018-08-25 upgrade-nix: resolve profile symlinksDaiderd Jordan1-3/+10
The profile present in PATH is not necessarily the actual profile location. User profiles are generally added as $HOME/.nix-profile in which case the indirect profile link needs to be resolved first. /home/user/.nix-profile -> /nix/var/nix/profiles/per-user/user/profile /nix/var/nix/profiles/per-user/user/profile -> profile-15-link /nix/var/nix/profiles/per-user/user/profile-14-link -> /nix/store/hyi4kkjh3bwi2z3wfljrkfymz9904h62-user-environment /nix/var/nix/profiles/per-user/user/profile-15-link -> /nix/store/6njpl3qvihz46vj911pwx7hfcvwhifl9-user-environment To upgrade nix here we want /nix/var/nix/profiles/per-user/user/profile-16-link instead of /home/user/.nix-profile-1-link. The latter is not a gcroot and would be garbage collected, resulting in a broken profile. Fixes #2175
2018-08-25 upgrade-nix: add --dry-runDaiderd Jordan1-8/+13
2018-08-19 nix run: Restore CPU affinityEelco Dolstra1-0/+3
Fixes #2359.
2018-08-10 Slightly questionable workaround for #2342Eelco Dolstra1-1/+1
2018-08-09 nix run: Respect propagated-user-env-packagesEelco Dolstra1-2/+21
Also, add $path/bin to $PATH even if it doesn't exist. This makes 'man' work properly (since it looks for ../share/man relative to $PATH entries).
2018-08-07 repl: don't add trailing spaces to history linesIvan Kozik1-1/+6
2018-08-06 Merge pull request #2334 from dtzWill/fix/revert-progress-bar-refresh-for-nowEelco Dolstra1-3/+2
Revert "progress-bar: re-draw last update if nothing new for 1sec."
2018-08-02 s3 binary cache: support specifying an endpointGraham Christensen1-0/+4
Works for uploading and not downloading.
2018-07-27 search: include versionWill Dietz1-1/+3
2018-07-19 Revert "progress-bar: re-draw last update if nothing new for 1sec."Will Dietz1-3/+2
Not ready for this yet, causes the prompt to disappear in nix repl and more generally can overwrite non-progress-bar messages. This reverts commit 44de71a39624d86d6744062ee36f57170024c9a0.
2018-07-06 Merge pull request #2250 from dtzWill/feature/repl-progress-bar-buildsEelco Dolstra1-1/+1
repl: use `nix build` for building instead of `nix-store -r`
2018-07-03 nix why-depends: render output into $PAGERMaximilian Bosch1-0/+2
2018-07-02 Merge pull request #2158 from Ma27/improve-search-uxEelco Dolstra1-10/+20
search.cc: improve UX for `nix search`
2018-07-02 search.cc: improve UX for `nix search`Maximilian Bosch1-10/+20
As proposed in #1634 the `nix search` command could use some improvements. Initially 0413aeb35d6ee869a98b6565781c1cf47dc80080 added some basic sorting behavior using `std::map`, a next step would be an improvement of the output. This patch includes the following changes: * Use `$PAGER` for outputs with `RunPager` from `shared.hh`: The same behavior is defined for `nix-env --query`, furthermore it makes searching huge results way easier. * Simplified result blocks: The new output is heavily inspired by the output from `nox`, the first line shows the attribute path and the derivaiton name (`attribute path (derivation name)`) and the description in the second line.
2018-06-23 repl: use `nix build` for building instead of `nix-store -r`Will Dietz1-1/+1
progress bar!
2018-06-18 progress-bar: re-draw last update if nothing new for 1sec.Will Dietz1-2/+3
Slightly nicer behavior when updates are somewhat far apart (during a long linking step, perhaps) ensuring things don't appear unresponsive. If we wait the maximum amount for the update, don't bother waiting another 50ms (for rate-limiting purposes) and just check if we should quit. This also ensures we'll notice the request to quit within 1s if quit is signalled but there is not an udpate. (I'm not sure if this happens or not)
2018-06-13 nix: Remove special handling of .drv filesEelco Dolstra1-22/+2
This makes 'nix copy' and 'nix path-info' work on .drv store paths. Removing special treatment of .drv files seems the most future-proof approach given the possible removal of .drv files in the future. Note that 'nix build' will still build (rather than substitute) .drv paths due to the unfortunate overloading in Store::buildPaths().
2018-06-12 Move EvalState from the stack to the heapEelco Dolstra2-8/+8
EvalState contains a few counters (e.g. nrValues) that increase quickly enough that they end up being interpreted as pointers by the garbage collector. Moving it to the heap makes them invisible to the garbage collector. This reduces the max RSS doing 100 evaluations of nixos.tests.firefox.x86_64-linux.drvPath from 455 MiB to 292 MiB. Note: ideally, allocations would be much further up in the 64-bit address space to reduce the odds of an integer being misinterpreted as a pointer. Maybe we can use some linker magic to move the .bss segment to a higher address.
2018-05-30 Move evaluator-specific settings out of libstoreEelco Dolstra1-1/+1