aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorTravis A. Everett <travis.a.everett@gmail.com>2021-09-21 13:38:29 -0500
committerTravis A. Everett <travis.a.everett@gmail.com>2021-09-21 13:38:29 -0500
commit033081aec29e33428b338cbe081e1df86337a3cd (patch)
treea1a67433817aacb2768b3d0bd76d350c5cdf4706 /scripts
parentc81f9761ccb40865edc497321752503abc0da858 (diff)
fix install on macOS monterey
Diffstat (limited to 'scripts')
-rw-r--r--scripts/install-darwin-multi-user.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/scripts/install-darwin-multi-user.sh b/scripts/install-darwin-multi-user.sh
index a5166de64..32a12f2ee 100644
--- a/scripts/install-darwin-multi-user.sh
+++ b/scripts/install-darwin-multi-user.sh
@@ -13,11 +13,22 @@ NIX_BUILD_USER_NAME_TEMPLATE="_nixbld%d"
read_only_root() {
# this touch command ~should~ always produce an error
# as of this change I confirmed /usr/bin/touch emits:
+ # "touch: /: Operation not permitted" Monterey
# "touch: /: Read-only file system" Catalina+ and Big Sur
# "touch: /: Permission denied" Mojave
# (not matching prefix for compat w/ coreutils touch in case using
# an explicit path causes problems; its prefix differs)
- [[ "$(/usr/bin/touch / 2>&1)" = *"Read-only file system" ]]
+ case "$(/usr/bin/touch / 2>&1)" in
+ *"Read-only file system") # Catalina, Big Sur
+ return 0
+ ;;
+ *"Operation not permitted") # Monterey
+ return 0
+ ;;
+ *)
+ return 1
+ ;;
+ esac
# Avoiding the slow semantic way to get this information (~330ms vs ~8ms)
# unless using touch causes problems. Just in case, that approach is: