about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-04-25 Restructure installables handling in the "nix" commandEelco Dolstra9-124/+257
2017-04-24 Remove debug statementEelco Dolstra1-1/+0
2017-04-24 Factor out --jsonEelco Dolstra3-8/+14
2017-04-24 nix-shell -p: Use runCommandCCEelco Dolstra1-1/+1
This restores pre-17.03 behaviour by making gcc available.
2017-04-21 add helper function to set 'interruptThrown'David McFarland3-3/+8
this fixes a linker failure on cygwin 64 due to some bad interaction between tls and shared libraries. see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64697
2017-04-20 Detect lsofEelco Dolstra2-4/+10
Also, don't use lsof on Linux since it's not needed. Fixes #1328.
2017-04-20 Improve nix show-config --jsonEelco Dolstra6-40/+68
In particular, show descriptions. This could be used for manpage generation etc.
2017-04-20 Setting: Remove "Tag" template argumentEelco Dolstra5-74/+90
2017-04-20 Read per-user settings from ~/.config/nix/nix.confEelco Dolstra7-16/+42
2017-04-20 binary-caches-parallel-connections -> http-connectionsEelco Dolstra1-2/+3
2017-04-20 Reimplement trusted-substituters (aka trusted-binary-caches)Eelco Dolstra2-6/+46
2017-04-19 Reimplement connect-timeoutEelco Dolstra2-0/+5
Fixes #1339.
2017-04-19 getDerivations(): Filter out packages with bad derivation namesEelco Dolstra1-0/+6
In particular, this disallows attribute names containing dots or starting with dots. Hydra already disallowed these. This affects the following packages in Nixpkgs master: 2048-in-terminal 2bwm 389-ds-base 90secondportraits lispPackages.3bmd lispPackages.hu.dwim.asdf lispPackages.hu.dwim.def Closes #1342.
2017-04-18 Merge pull request #1321 from shlevy/channel-direct-tarball-errorEelco Dolstra1-6/+3
nix-channel: error out if direct tarball unpack fails.
2017-04-14 Shut up some warningsEelco Dolstra5-11/+16
2017-04-14 DohEelco Dolstra1-1/+1
2017-04-14 Fix 32-bit buildEelco Dolstra1-1/+3
http://hydra.nixos.org/build/51569816
2017-04-14 Minor cleanupEelco Dolstra2-3/+3
2017-04-14 nix-daemon: Don't set untrusted-* settingsEelco Dolstra1-3/+1
These are no longer used anywhere.
2017-04-14 nix-daemon: Don't die if the user sends an unknown settingEelco Dolstra1-4/+8
2017-04-13 Add "nix show-config" commandEelco Dolstra1-0/+43
This dumps the entire Nix configuration, including all options that have default values.
2017-04-13 Convert Settings to the new config systemEelco Dolstra15-504/+323
This makes all config options self-documenting. Unknown or unparseable config settings and --option flags now cause a warning.
2017-04-13 Support arbitrary numeric types for settingsEelco Dolstra1-4/+17
2017-04-13 Validate Boolean settings betterEelco Dolstra1-1/+6
2017-04-13 Merge branch 'rework-options' of https://github.com/copumpkin/nixEelco Dolstra11-92/+221
2017-04-13 Add a Config class to simplify adding configuration settingsEelco Dolstra16-40/+334
The typical use is to inherit Config and add Setting<T> members: class MyClass : private Config { Setting<int> foo{this, 123, "foo", "the number of foos to use"}; Setting<std::string> bar{this, "blabla", "bar", "the name of the bar"}; MyClass() : Config(readConfigFile("/etc/my-app.conf")) { std::cout << foo << "\n"; // will print 123 unless overriden } }; Currently, this is used by Store and its subclasses for store parameters. You now get a warning if you specify a non-existant store parameter in a store URI.
2017-04-13 canonPath(): Check against empty pathsEelco Dolstra1-0/+2
2017-04-13 Add warn functionEelco Dolstra2-1/+16
2017-04-13 Initialise loggerEelco Dolstra2-3/+1
2017-04-12 Merge pull request #1302 from dtzWill/fix/nix-optionsEelco Dolstra1-0/+1
Process nix.conf options in "new" commands, add test
2017-04-10 nix-channel: error out if direct tarball unpack fails.Shea Levy1-6/+3
It's very unlikely a path ending in .tar.gz is a directory Fixes #1318
2017-04-10 Merge pull request #1316 from copumpkin/nix-retries-defaultEelco Dolstra1-1/+1
Default to 5 download retries
2017-04-10 Add CURLE_WRITE_ERROR as a transient error conditionDan Peebles1-0/+5
We've observed it failing downloads in the wild and retrying the same URL a few moments later seemed to fix it.
2017-04-10 Default to 5 download retriesDan Peebles1-1/+1
This should help certain downloaders that don't request anything special for the number of retries, like nix-channel.
2017-04-10 Minor cleanupEelco Dolstra3-15/+5
Also, possible fix for #1310 on 32-bit systems.
2017-04-10 Allow "auto" as a store URIEelco Dolstra1-1/+1
Using the empty string is likely to be ambiguous in some contexts.
2017-04-08 Process nix.conf options in "new" nix commands, add test.Will Dietz1-0/+1
Without this (minor) change, the options set using "--option" or read from nix.conf were parsed but not used.
2017-04-06 Retry downloads on transient SSL errors tooDan Peebles1-0/+2
2017-04-06 Implement RemoteStore::queryMissing()Eelco Dolstra5-3/+44
This provides a significant speedup, e.g. 64 s -> 12 s for nix-build --dry-run -I nixpkgs=channel:nixos-16.03 '<nixpkgs/nixos/tests/misc.nix>' -A test on a cold local and CloudFront cache. The alternative is to use lots of concurrent daemon connections but that seems wasteful.
2017-04-06 Fix bogus "unexpected Nix daemon error: interrupted by the user"Eelco Dolstra1-2/+2
2017-04-06 Add a method to allow hydra-queue-runner to flush the path info cacheEelco Dolstra1-5/+7
2017-04-06 nix-daemon: Disable path info cacheEelco Dolstra5-5/+17
This is useless because the client also caches path info, and can cause problems for long-running clients like hydra-queue-runner (i.e. it may return cached info about paths that have been garbage-collected).
2017-04-04 Allow default sandbox paths to be overridenEelco Dolstra1-1/+1
E.g. you can now redirect /etc/resolv.conf to a different file.
2017-04-04 Make /var/run/nscd/socket optionalEelco Dolstra1-1/+2
Not every distribution uses nscd.
2017-03-31 Sandbox: Fix /dev/ptmx on recent kernelsEelco Dolstra1-8/+1
This fixes "No such file or directory" when opening /dev/ptmx (e.g. http://hydra.nixos.org/build/51094249). The reason appears to be some changes to /dev/ptmx / /dev/pts handling between Linux 4.4 and 4.9. See https://patchwork.kernel.org/patch/7832531/. The fix is to go back to mounting a proper /dev/pts instance inside the sandbox. Happily, this now works inside user namespaces, even for unprivileged users. So NIX_REMOTE=local?root=/tmp/nix nix-build \ '<nixpkgs/nixos/tests/misc.nix>' -A test works for non-root users. The downside is that the fix breaks sandbox builds on older kernels (probably pre-4.6), since mounting a devpts fails inside user namespaces for some reason I've never been able to figure out. Builds on those systems will fail with error: while setting up the build environment: mounting /dev/pts: Invalid argument Ah well.
2017-03-31 builtins.exec: Make the argument just a listShea Levy1-22/+9
2017-03-31 Merge branch 'builtins.exec'Shea Levy3-5/+59
2017-03-31 Retry curl error 16Eelco Dolstra1-0/+1
2017-03-31 Merge branch 'remove-perl' of https://github.com/shlevy/nixEelco Dolstra1-1/+1
2017-03-30 Add exec primop behind allow-unsafe-native-code-during-evaluation.Shea Levy3-5/+59
Execute a given program with the (optional) given arguments as the user running the evaluation, parsing stdout as an expression to be evaluated. There are many use cases for nix that would benefit from being able to run arbitrary code during evaluation, including but not limited to: * Automatic git fetching to get a sha256 from a git revision * git rev-parse HEAD * Automatic extraction of information from build specifications from other tools, particularly language-specific package managers like cabal or npm * Secrets decryption (e.g. with nixops) * Private repository fetching Ideally, we would add this functionality in a more principled way to nix, but in the mean time 'builtins.exec' can be used to get these tasks done. The primop is only available when the 'allow-unsafe-native-code-during-evaluation' nix option is true. That flag also enables the 'importNative' primop, which is strictly more powerful but less convenient (since it requires compiling a plugin against the running version of nix).