install: show macOS 10.15 message with --daemon

This commit is contained in:
Daiderd Jordan 2020-02-13 12:57:35 +01:00
parent 10202628b9
commit 083bb3bbfc
No known key found for this signature in database
GPG key ID: D02435D05B810C96
2 changed files with 20 additions and 16 deletions

View file

@ -1,8 +1,8 @@
#!/bin/sh #!/bin/sh
set -e set -e
root_disks() { root_disk() {
diskutil list -plist / diskutil info -plist /
} }
apfs_volumes_for() { apfs_volumes_for() {
@ -11,7 +11,7 @@ apfs_volumes_for() {
} }
disk_identifier() { disk_identifier() {
xpath "/plist/dict/key[text()='WholeDisks']/following-sibling::array[1]/string/text()" 2>/dev/null xpath "/plist/dict/key[text()='ParentWholeDisk']/following-sibling::string[1]/text()" 2>/dev/null
} }
volume_get() { volume_get() {
@ -81,7 +81,7 @@ main() {
sudo mkdir /nix sudo mkdir /nix
fi fi
disk=$(root_disks | disk_identifier) disk=$(root_disk | disk_identifier)
volume=$(find_nix_volume "$disk") volume=$(find_nix_volume "$disk")
if [ -z "$volume" ]; then if [ -z "$volume" ]; then
echo "Creating a Nix Store volume..." >&2 echo "Creating a Nix Store volume..." >&2

View file

@ -91,11 +91,24 @@ while [ $# -gt 0 ]; do
shift shift
done done
if [ "$(uname -s)" = "Darwin" ] && [ "$CREATE_DARWIN_VOLUME" = 1 ]; then if [ "$(uname -s)" = "Darwin" ]; then
if [ "$CREATE_DARWIN_VOLUME" = 1 ]; then
printf '\e[1;31mCreating volume and mountpoint /nix.\e[0m\n' printf '\e[1;31mCreating volume and mountpoint /nix.\e[0m\n'
"$self/create-darwin-volume.sh" "$self/create-darwin-volume.sh"
fi fi
info=$(diskutil info -plist / | xpath "/plist/dict/key[text()='Writable']/following-sibling::true[1]" 2> /dev/null)
if ! [ -e $dest ] && [ -n "$info" ]; then
(
echo ""
echo "Installing on macOS >=10.15 requires relocating the store to an apfs volume."
echo "Use --create-volume or run the preparation steps manually."
echo "See https://nixos.org/nix/manual/#sect-darwin-apfs-volume."
echo ""
) >&2
fi
fi
if [ "$INSTALL_MODE" = "daemon" ]; then if [ "$INSTALL_MODE" = "daemon" ]; then
printf '\e[1;31mSwitching to the Daemon-based Installer\e[0m\n' printf '\e[1;31mSwitching to the Daemon-based Installer\e[0m\n'
exec "$self/install-multi-user" exec "$self/install-multi-user"
@ -113,15 +126,6 @@ if ! [ -e $dest ]; then
echo "directory $dest does not exist; creating it by running '$cmd' using sudo" >&2 echo "directory $dest does not exist; creating it by running '$cmd' using sudo" >&2
if ! sudo sh -c "$cmd"; then if ! sudo sh -c "$cmd"; then
echo "$0: please manually run '$cmd' as root to create $dest" >&2 echo "$0: please manually run '$cmd' as root to create $dest" >&2
if [ "$(uname -s)" = "Darwin" ]; then
(
echo ""
echo "Installing on macOS >=10.15 requires relocating the store to an apfs volume."
echo "Use --create-volume or run the preparation steps manually."
echo "See https://nixos.org/nix/manual/#sect-darwin-apfs-volume."
echo ""
) >&2
fi
exit 1 exit 1
fi fi
fi fi