diff options
author | Graham Christensen <graham@grahamc.com> | 2017-07-13T21·22-0400 |
---|---|---|
committer | Graham Christensen <graham@grahamc.com> | 2017-07-14T16·11-0400 |
commit | 1c7ce2a018a081dd90dfefee6d1ca7e0c9fd66d9 (patch) | |
tree | a053fc84ac08e1763b153196905946b7dfee3f8f | |
parent | 73a57a2f22668394740e1f642573b67a1316dee7 (diff) |
Assume yes if we have no TTY
Starve the TTY of input to ensure this works, but provide yes to the current installer to handle the current broken case.
-rw-r--r-- | scripts/install-darwin-multi-user.sh | 11 | ||||
-rwxr-xr-x | tests/install-darwin.sh | 5 |
2 files changed, 14 insertions, 2 deletions
diff --git a/scripts/install-darwin-multi-user.sh b/scripts/install-darwin-multi-user.sh index 01a0e4ffb4e1..368d9957e110 100644 --- a/scripts/install-darwin-multi-user.sh +++ b/scripts/install-darwin-multi-user.sh @@ -43,6 +43,12 @@ readonly EXTRACTED_NIX_PATH="$(dirname "$0")" readonly ROOT_HOME="/var/root" +if [ -t 0 ]; then + readonly IS_HEADLESS='no' +else + readonly IS_HEADLESS='yes' +fi + contactme() { echo "We'd love to help if you need it." echo "" @@ -173,6 +179,11 @@ failure() { ui_confirm() { _textout "$GREEN$GREEN_UL" "$1" + if [ "$IS_HEADLESS" = "yes" ]; then + echo "No TTY, assuming you would say yes :)" + return 0 + fi + local prompt="[y/n] " echo -n "$prompt" while read -r y; do diff --git a/tests/install-darwin.sh b/tests/install-darwin.sh index d2a7ab456ea1..b7f87467287c 100755 --- a/tests/install-darwin.sh +++ b/tests/install-darwin.sh @@ -53,7 +53,8 @@ trap finish EXIT # First setup Nix cleanup -curl https://nixos.org/nix/install | bash +curl -o install https://nixos.org/nix/install +yes | bash ./install verify @@ -82,7 +83,7 @@ verify cleanup - yes | ./install + echo -n "" | ./install verify cleanup |