summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorTravis A. Everett <travis.a.everett@gmail.com>2020-09-07 23:53:31 -0500
committerTravis A. Everett <travis.a.everett@gmail.com>2020-10-19 12:22:30 -0500
commit9c3dc9d7ca11555fbafe77e9ca8ed9fc214ab2f8 (patch)
tree5c1322910fd5560386ed4651b0bdc088580d0dc7 /scripts
parent77d4758cf2f45a6e999646e292ae563d6f987716 (diff)
update macOS version handling for Big Sur
Keeping this commit narrow for reviewability, but some of these conditionals will change in subsequent commits in this PR. Fixes #3852.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/install-nix-from-closure.sh12
1 files changed, 7 insertions, 5 deletions
diff --git a/scripts/install-nix-from-closure.sh b/scripts/install-nix-from-closure.sh
index 6efd8af18..e7e063007 100644
--- a/scripts/install-nix-from-closure.sh
+++ b/scripts/install-nix-from-closure.sh
@@ -24,9 +24,11 @@ fi
# macOS support for 10.12.6 or higher
if [ "$(uname -s)" = "Darwin" ]; then
- macos_major=$(sw_vers -productVersion | cut -d '.' -f 2)
- macos_minor=$(sw_vers -productVersion | cut -d '.' -f 3)
- if [ "$macos_major" -lt 12 ] || { [ "$macos_major" -eq 12 ] && [ "$macos_minor" -lt 6 ]; }; then
+ IFS='.' read macos_major macos_minor macos_patch << EOF
+$(sw_vers -productVersion)
+EOF
+ if [ "$macos_major" -lt 10 ] || { [ "$macos_major" -eq 10 ] && [ "$macos_minor" -lt 12 ]; } || { [ "$macos_minor" -eq 12 ] && [ "$macos_patch" -lt 6 ]; }; then
+ # patch may not be present; command substitution for simplicity
echo "$0: macOS $(sw_vers -productVersion) is not supported, upgrade to 10.12.6 or higher"
exit 1
fi
@@ -88,7 +90,7 @@ while [ $# -gt 0 ]; do
) >&2
# darwin and Catalina+
- if [ "$(uname -s)" = "Darwin" ] && [ "$macos_major" -gt 14 ]; then
+ if [ "$(uname -s)" = "Darwin" ] && { [ "$macos_major" -gt 10 ] || { [ "$macos_major" -eq 10 ] && [ "$macos_minor" -gt 14 ]; }; }; then
(
echo " --darwin-use-unencrypted-nix-store-volume: Create an APFS volume for the Nix"
echo " store and mount it at /nix. This is the recommended way to create"
@@ -109,7 +111,7 @@ if [ "$(uname -s)" = "Darwin" ]; then
fi
info=$(diskutil info -plist / | xpath "/plist/dict/key[text()='Writable']/following-sibling::true[1]" 2> /dev/null)
- if ! [ -e $dest ] && [ -n "$info" ] && [ "$macos_major" -gt 14 ]; then
+ if ! [ -e $dest ] && [ -n "$info" ] && { [ "$macos_major" -gt 10 ] || { [ "$macos_major" -eq 10 ] && [ "$macos_minor" -gt 14 ]; }; }; then
(
echo ""
echo "Installing on macOS >=10.15 requires relocating the store to an apfs volume."