aboutsummaryrefslogtreecommitdiff
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
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.
-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."