aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2021-11-19Apply some shellcheck suggestionsSandro Jäckel
2021-11-19Merge pull request #5607 from kmt-lnh/install-ergonomicsEelco Dolstra
curl usage in install script in sync with instructions
2021-11-19switch order of wget and curlKristof Molnar-Tatai
This change makes the script consistent with the installation instructions while keeping wget as an alternative.
2021-11-18Remove nix-reduce-build and nix-http-exportEelco Dolstra
These scripts are not installed and haven't been updated in many years.
2021-11-10installer: make rc replacement instructions explicitTravis A. Everett
2021-11-09installer: improve existing rc backup nagTravis A. Everett
2021-11-04darwin-install: fix already-mounted store volumesTravis A. Everett
This adds an explicit unmount of the store volume to avoid cases where the installer can hang in await_volume when: - the user already has a store volume - that volume is already mounted somewhere other than /nix - they do not take a path through the installer that results in an explicit unmount (as both removing and encrypting the volume would do)
2021-11-03Reword "we"s to "I"s for consistencyJan Van Bruggen
This script uses multiple forms of the first-person POV: 1. "We" to refer to the Nix team (https://github.com/NixOS/nix/blob/1e7c796e66a692cd097b155bd0a60fedf20d554f/scripts/install-multi-user.sh#L72) 2. "We" to refer to the combination of the installation script & the user/executor (https://github.com/NixOS/nix/blob/1e7c796e66a692cd097b155bd0a60fedf20d554f/scripts/install-multi-user.sh#L710) 3. "We" to refer to the installation script alone (https://github.com/NixOS/nix/blob/1e7c796e66a692cd097b155bd0a60fedf20d554f/scripts/install-multi-user.sh#L602) 4. "I" to refer to the installation script alone (https://github.com/NixOS/nix/blob/1e7c796e66a692cd097b155bd0a60fedf20d554f/scripts/install-multi-user.sh#L200) Since I prefer POV 4 to POV 3, this changes all instances of POV 3 to POV 4.
2021-11-02installer: Do not use echo -e in #!/bin/sh scriptAnders Kaseorg
ShellCheck correctly warns: In scripts/install-nix-from-closure.sh line 218: echo -e "\nif [ -e $p ]; then . $p; fi # added by Nix installer" >> "$fn" ^-- SC3037: In POSIX sh, echo flags are undefined. In scripts/install-nix-from-closure.sh line 229: echo -e "\nif [ -e $p ]; then . $p; fi # added by Nix installer" >> "$fn" ^-- SC3037: In POSIX sh, echo flags are undefined. Indeed, this actually breaks on Ubuntu where /bin/sh is dash. Fixes #5458. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-10-12darwin-install: fix incorrect fn nameTravis A. Everett
2021-09-21fix install on macOS montereyTravis A. Everett
2021-09-01install: fix addVolume perm issue for some usersTravis A. Everett
As reported in #5198, volume creation can fail with a permission error for some macOS users (probably secondary user accounts?) Sudo appears to be sufficient to avoid this. While I'm here, I also updated the sudo invocation added in 079bde2ae to use the _sudo explanation wrapper.
2021-08-30Merge pull request #5096 from AnatoleLucet/patch-1Eelco Dolstra
Remove curl deps in install script
2021-08-30Merge pull request #5179 from matthewbauer/use-zshrcEelco Dolstra
Revert "Use /etc/zshenv instead of /etc/zshrc for profile"
2021-08-25Revert "Use /etc/zshenv instead of /etc/zshrc for profile"Matthew Bauer
This reverts commit 909d8cb2934869c945ac1cc20dfb71df513042eb. This messes up PATH priority since /etc/profile gets sourced AFTER /etc/zshenv and it sets the system paths so $HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin is behind /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin. See discussion in https://github.com/NixOS/nix/issues/4169.
2021-08-24Try setting enableOwnership in macOS installMatthew Bauer
For external hard disks where ownership is not enabled by default.
2021-08-18Remove rsync usage in the installerDomen Kožar
It's not commonly installed on systems like debian, so avoid the bootstrapping problem by using cp and chmod.
2021-08-09Remove curl deps in install scriptAnatole Lucet
2021-07-23Merge pull request #5040 from SuperSandro2000/patch-1Domen Kožar
installer: fix --no-modify-profile help text
2021-07-23installer: update global nix.conf locationSandro
2021-07-23installer: fix --no-modify-profile help textSandro
2021-07-05Fix wrong hash var for aarch64-darwin binaryJarrett Keifer
2021-06-26Support cross-compiling binaryTarballMatthew Bauer
2021-06-01Include aarch64-darwin in installerFinn Behrens
Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
2021-05-27throw freenode down the memory holePatrick Hilhorst
2021-05-11install: Fix hash variable for Darwin.arm64 (#4769)Anders Kaseorg
When commit 233b61d3d6482544c35b9d340240bf3260acff13 (#4224) renamed @binaryTarball_${system}@ to @tarballHash_${system}@, it updated this reference for every platform except Darwin.arm64. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-04-29darwin: encrypt nix volume if filevault is enabledTravis A. Everett
2021-03-25Merge pull request #4532 from abathur/macos_nixbld_idsDomen Kožar
fix nixbld user name/uid for macOS/darwin
2021-03-23Added Debian-based OS's profilesNicolas Stig124 FORMICHELLA
2021-03-11fix nixbld user name/uid for macOSTravis A. Everett
2021-02-21fix installer scriptDomen Kožar
2021-02-21Generate installer script for each PR/pushDomen Kožar
This works by using Cachix feature of serving a file from a store path.
2021-01-22scripts/install-nix-from-closure: only show progress if a terminal is usedMaximilian Bosch
While the progress dots during the copying of the store work fine on a normal terminal, those look pretty off if the script is run inside a provisioning script of e.g. `vagrant` or `packer` where `stderr` and `stdout` are captured: default: . default: .. default: . default: . default: . To work around this, the script checks with `-t 0` if it's running on an actual terminal and doesn't show the progress if that's not the case.
2020-12-04Use com.apple.oahd.plist for rosetta 2 detectionMatthew Bauer
2020-12-02Call it aarch64-darwin instead of arm64-darwinMatthew Bauer
gnu-config standardized on aarch64 for machine name so host_cpu part of $system will always be aarch64. That means system will be aarch64-darwin too. uname however could report either “aarch64” (if gnu coreutils) or “arm64” (if apple’s uname). We should support both for compatiblity here.
2020-12-02Check for rosetta 2 support before installingMatthew Bauer
2020-11-21installer: simplify the per-build installationzimbatm
The goal is to allow the installation and testing of arbitrary Nix versions. Extend the base installer to accept a `--tarball-url-prefix <url>` to change where the Nix tarball is getting downloaded from. Once this is merged it should allow to: 1. Pick an evaluation at https://hydra.nixos.org/jobset/nix/master that looks healthy 2. Select the installedScript build and find the store path. Now equipped with all of this, use an instance of nar-serve to fetch the install script and release tarballs: curl -sfL https://nar-serve.numtide.com/nix/store/rkv4yh7pym941bhj0849zqdkg2546bdv-installer-script/install \ | sh --tarball-url-prefix https://nar-serve.numtide.com/nix/store Or with cachix, strip the /nix/store and derivation name and then: curl -sfL https://mycache.cachix.org/serve/rkv4yh7pym941bhj0849zqdkg2546bdv/install \ | sh --tarball-url-prefix https://mycache.cachix.org/serve Fixes #4047
2020-11-17Merge pull request #4171 from YorikSar/zsh-nix-profilesEelco Dolstra
Fix iterating over $NIX_PROFILES in Zsh
2020-11-10enable Darwin.arm64 to install x86_64 binaryTravis A. Everett
Throwing @thefloweringash under the bus if this doesn't work, but it sounds like Apple Silicon devices can use the x86_64 binary for now. Fixes #4058
2020-10-21Fix iterating over $NIX_PROFILES in ZshYuriy Taraday
NIX_PROFILES is space separated list of directories, and passing it into for as is is considered to be 1-element list with the whole string. With shwordsplit option Zsh emulates other shells in this regard ans implicitely splits unquoted strings into words. Fixes #4167.
2020-10-20Merge pull request #3996 from abathur/macos_big_sur_fixesDomen Kožar
Macos big sur installer fixes
2020-10-19discourage casual Big Sur installsTravis A. Everett
2020-10-19create missing profile files to fix zsh envvarsTravis A. Everett
Env vars for ZSH were moved from /etc/zshrc to /etc/zshenv in #3608 to address an issue with zshrc getting clobbered by OS updates, but /etc/zshenv doesn't exist by default--so *nothing* would get set up for zsh users unless they already happened to have /etc/zshenv. Creating these files if they don't exist. Also cut separate creation of profile.d/nix.sh, which isn't needed now.
2020-10-19fix skipped multi-user install steps on macOSTravis A. Everett
Some of the changes in #3788 to support non-systemd Nix installs don't appear to be aware that the darwin installer exists, which resulted in some skipped steps and inappropriate instructions.
2020-10-19adapt to apfs.util flag diff in catalina/big surTravis A. Everett
Fixes #3957. Just runs both forms to minimize moving parts.
2020-10-19replace xpath with xmllint --xpath; simplifyTravis A. Everett
As mentioned in previous commit, Big Sur changes the syntax for the xpath command slightly. In the process of testing out replacements for these, I noticed a few small simplification wins.
2020-10-19fix xpath and conditional bugs; xpath -> xmllintTravis A. Everett
- xpath -> xmllint: xpath's cli interface changed in Big Sur rather than add conditional logic for picking the correct syntax for xpath, I'm changing to xmllint --xpath, which appears to be consistent across versions I've tested... - /plist/dict/key[text()='Writable']/following-sibling::true[1] doesn't do quite what's expected. It was written to try to select a <true /> node paired with the Writable key, but it will also select the *next* <true /> node that appears even if it was paired with another key. - I think there's also a logic bug in the conditionals here. I'm not sure anyone ever actuall saw it, thanks to the xpath bug, though. With the xpath fix, this conditional passes if /nix does not exist, / IS writable, and the version is Catalina+. I think it meant to test for /nix does not exist, / is NOT writable, and the version is Catalina+. I reworked this lightly to make it a little clearer at the code level.
2020-10-19update macOS version handling for Big SurTravis A. Everett
Keeping this commit narrow for reviewability, but some of these conditionals will change in subsequent commits in this PR. Fixes #3852.
2020-09-30Installer: Set a known umaskEelco Dolstra
Fixes #1560, #2377.
2020-07-31Merge pull request #3788 from crinklywrappr/masterEelco Dolstra
Add a script to install nix on non-systemd systems.