aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2016-11-03installation: allow profile modification to be skipped (#1072)Manav Rathi
The current behaviour modifies the first writeable file from amongst .bash_profile, .bash_login and .profile. So .bash_profile (if it is writable) would be modified even if a user has already sourced nix.sh in, say, .profile. This commit introduces a new environment variable, NIX_INSTALLER_NO_MODIFY_PROFILE. If this is set during installation, then the modifications are unconditionally skipped. This is useful for users who have a manually curated set of dotfiles that they are porting to a new machine. In such scenarios, nix.sh is already sourced at a place where the user prefers. Without this change, the nix installer would insist on modifying .bash_profile if it exists. This commit also add documentations for both the current behaviour and the new override.
2016-10-13SSL_CERT_FILE -> NIX_SSL_CERT_FILEEelco Dolstra
This prevents collisions with the "native" OpenSSL, in particular on OS X. Fixes #921.
2016-08-31Merge branch 'nix-build-c++'Shea Levy
2016-08-31Merge branch 'nix-channel-c++'Shea Levy
2016-08-13remove old traces of resolve-system-dependenciesJude Taylor
2016-08-11nix-channel: implement in c++Shea Levy
2016-08-10Nuke nix-push.Shea Levy
Rarely used, nix copy replaces it.
2016-08-10Remove download-from-binary-cache.pl.in.Shea Levy
We have BinaryCacheStore now
2016-08-10Remove scripts/show-duplication.plShea Levy
Was added in 2006 to "measure the cost of the Nix approach". Given that it uses /usr/bin/perl, I think this is safe to remove.
2016-08-10Remove nix-install-package.Shea Levy
Refs #831
2016-08-09nix-build: Port to c++Shea Levy
This was a dumb line-for-line rewrite, because nix build/nix run/etc. will replace it.
2016-07-29Set $MANPATH (#1005)Alexey Shmalko
Currently, man has issues finding man pages for Nix-installed application (also, `nix-env --help` doesn't work). The issue is caused by custom `$MANPATH` set by my system. That makes man use it instead of searching in default location. Either of next lines workaround the issue: ```sh unset MANPATH export MANPATH=$HOME/.nix-profile/share/man:$MANPATH ``` This patch adds the later line to the `nix-profile.sh` if user has `MANPATH` set. (Not clearing `MANPATH` as that would be disrespect of user's preferences.) As a side-effect, host's man might find man pages installed by Nix.
2016-07-24Merge branch 'find-runtime-roots-c++'Shea Levy
2016-07-21resolve-system-dependencies.pl: Only install on darwinShea Levy
2016-07-21find-runtime-roots: fold into gc.ccShea Levy
2016-06-02LocalStore: Allow the physical and logical store directories to differEelco Dolstra
This is primarily to subsume the functionality of the copy-from-other-stores substituter. For example, in the NixOS installer, we can now do (assuming we're in the target chroot, and the Nix store of the installation CD is bind-mounted on /tmp/nix): $ nix-build ... --option substituters 'local?state=/tmp/nix/var&real=/tmp/nix/store' However, unlike copy-from-other-stores, this also allows write access to such a store. One application might be fetching substitutes for /nix/store in a situation where the user doesn't have sufficient privileges to create /nix, e.g.: $ NIX_REMOTE="local?state=/home/alice/nix/var&real=/home/alice/nix/store" nix-build ...
2016-05-31Fix reference to $NIX_LINKEelco Dolstra
2016-05-31nix-profile.sh: Don't pollute the environmentEelco Dolstra
2016-05-31nix-copy-closure / build-remote.pl: Disable signature checkingEelco Dolstra
This restores the Nix 1.11 behaviour.
2016-05-18Fix `??` in Nix warning messageGabriel Gonzalez
Nix sometimes outputs a warning message like this: ``` directory /nix does not exist; creating it by running ‘?? using sudo ``` ... when it really meant to output something that looked like this: ``` directory /nix does not exist; creating it by running 'mkdir -m 0755 /nix && chown gabriel /nix' using sudo ``` The reason why is due to some bizarre behavior in Bash where it will translate anything of the form `$x’` to `??`, leading to the incorrect warning message. I don't know what is the origin of this Bash behavior, but the easiest fix is to just use ASCII quotes instead of unicode quotes.
2016-05-04Remove OpenSSL-based signingEelco Dolstra
2016-05-03Merge pull request #883 from sheenobu/bugfix/ruby_shebangEelco Dolstra
Workaround to support ruby as an interpreter
2016-04-29Eliminate the substituter mechanismEelco Dolstra
Substitution is now simply a Store -> Store copy operation, most typically from BinaryCacheStore to LocalStore.
2016-04-25Remove --print-build-traceEelco Dolstra
This was added to support Hydra, but Hydra no longer uses it.
2016-04-25Improved logging abstractionEelco Dolstra
This also gets rid of --log-type, since the nested log type isn't useful in a multi-threaded situation, and nobody cares about the "pretty" log type.
2016-04-18Workaround to support ruby as an interpreterSheena Artrip
2016-04-14install-nix-from-closure: Don't run nix-store --verifyEelco Dolstra
Verification is slow. Also, we really shouldn't advise users to nuke their store.
2016-04-12Merge branch 'patch-2' of git://github.com/wmertens/nixShea Levy
install-nix-from-closure improvments
2016-04-11Remove manifest supportEelco Dolstra
Manifests have been superseded by binary caches for years. This also gets rid of nix-pull, nix-generate-patches and bsdiff/bspatch.
2016-04-10Bring nix-profile.sh in line with NixOSWout Mertens
Use the same logic as NixOS' profile and environment setup. Closes #414
2016-04-10Remove information about nix-store --optimiseWout Mertens
2016-04-10Always verify nix store on installwmertens
Just wasted a couple hours chasing shadows because the nix store got corrupted and there was no indication of that anywhere. Since an install is one-time only, might as well verify. Optimization showed that the copied files aren't read-only; fixed that as well. Also, use /bin/sh since there's a good chance that this script will be run on systems without /bin/bash
2016-02-19Merge branch 'master' of git://github.com/stepcut/nixShea Levy
2016-02-16Add C++ functions for .narinfo processing / signingEelco Dolstra
This is currently only used by the Hydra queue runner rework, but like eff5021eaa6dc69f65ea1a8abe8f3ab11ef5eb0a it presumably will be useful for the C++ rewrite of nix-push and download-from-binary-cache. (@shlevy)
2016-02-16nix-profile.sh.in: find ca-bundle.pem on openSUSE Tumbleweed machinesPeter Simons
2016-02-12nix-profile.sh.in: quote use of $HOME in shell argumentsPeter Simons
All other places in the script do this already, so let's be consistent.
2016-02-10Check shell profile is writeable before modifyingAlex Cruice
The `set -e` at the top of the script causes the installation to fail to complete if the shell profile is not writeable. Checking file existence only is not enough.
2016-01-20Fix broken call to shellwordsBrian McKenna
nix-shell shebangs were broken by 9018deab
2016-01-05Verify TLS certificate before downloading binariesPhilip Potter
The --insecure flag to curl tells curl not to bother checking if the TLS certificate presented by the server actually matches the hostname requested, and actually is issued by a trusted CA chain. This almost entirely negates any benefit from using TLS in the first place. This removes the --insecure flag to ensure we actually have a secure connection to the intended hostname before downloading binaries. Manually tested locally within a dev-shell; was able to download binaries from https://cache.nixos.org without issue. [Note: --insecure was only used for fetching NARs, whose integrity is verified by Nix anyway using the hash from the .narinfo. But if we can fetch the .narinfo without --insecure, we can also fetch the .nar, so there is not much point to using --insecure. --Eelco]
2016-01-05propagate NIX_BUILD_SHELL also in pure builds document NIX_BUILD_SHELL in ↵Fabian Schmitthenner
the nix-shell command documentation
2015-12-07Use shellwords for nix-shell shebangBrian McKenna
Previously we can't have quoted arguments. This now allows us to use things like `ghcWithPackages`
2015-12-06Clarify installation error message that is shown when /nix/store exists but ↵Jeremy Shaw
is not writable by the user
2015-11-25Set default binary-caches-parallel-connections to 25Eelco Dolstra
Some benchmarking suggested this as a good value. Running $ benchmark -f ... -t 25 -- sh -c 'rm -f /nix/var/nix/binary-cache*; nix-store -r /nix/store/x5z8a2yvz8h6ccmhwrwrp9igg03575jg-nixos-15.09.git.5fd87e1M.drv --dry-run --option binary-caches-parallel-connections <N>' gave the following mean elapsed times for these values of N: N=10: 3.3541 N=20: 2.9320 N=25: 2.6690 N=30: 2.9417 N=50: 3.2021 N=100: 3.5718 N=150: 4.2079 Memory usage is also reduced (N=150 used 186 MB, N=25 only 68 MB). Closes #708.
2015-11-21reintroduce host deps in tandem with sandbox profilesJude Taylor
2015-11-10Fix bad characters in "copying 7 missing paths from ..."Eelco Dolstra
2015-10-21resolve-system-dependencies.pl: Simplify union implShea Levy
Patch by @pikajude
2015-10-21appropriately handle lock acquisition failures in resolve-system-dependencies.plJude Taylor
2015-10-21Add resolve-system-dependencies.plJude Taylor
2015-10-01nix-prefetch-url: Rewrite in C++Eelco Dolstra
2015-09-25Also set CURLOPT_SSL_VERIFYHOST=0 when "verify-https-binary-caches" is falseUtku Demir
This makes that option even more insecure, by also not checking the SSL host. But without this parameter, one can still get SSL errors even when "verify-https-binary-caches" is false, which is unexpected IMO.