aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2021-12-01darwin-install: nail down diskutilTravis A. Everett
Same purpose as de9efa3b79af7886fcf2a67b6ce97d4f96a57421 For some unclear reason, we get occasional reports from people who do not have /usr/sbin on their PATH that the installer fails. It's a standard part of the PATH, so I have no clue what they're doing to remove it--but it's also fairly cheap to avoid.
2021-11-30Add a github cron to check the hydra statusregnat
Add a regular github action that will check the status of the latest hydra evaluation. Things aren’t ideal right now because this job will only notify “the user who last modified the cron syntax in the workflow file” (so myself atm). But at least that’ll give a notification for failing hydra jobs
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.