install-multi-user: abstract is_root, is_os_linux, is_os_darwin
This commit is contained in:
parent
6cb41288ac
commit
64c3adbe1a
1 changed files with 29 additions and 4 deletions
|
@ -59,6 +59,30 @@ headless() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_root() {
|
||||||
|
if [ "$EUID" -eq 0 ]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
is_os_linux() {
|
||||||
|
if [ "$(uname -s)" = "Linux" ]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
is_os_darwin() {
|
||||||
|
if [ "$(uname -s)" = "Darwin" ]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
contact_us() {
|
contact_us() {
|
||||||
echo "You can open an issue at https://github.com/nixos/nix/issues"
|
echo "You can open an issue at https://github.com/nixos/nix/issues"
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -423,7 +447,7 @@ EOF
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$(uname -s)" = "Linux" ] && [ ! -e /run/systemd/system ]; then
|
if is_os_linux && [ ! -e /run/systemd/system ]; then
|
||||||
warning <<EOF
|
warning <<EOF
|
||||||
We did not detect systemd on your system. With a multi-user install
|
We did not detect systemd on your system. With a multi-user install
|
||||||
without systemd you will have to manually configure your init system to
|
without systemd you will have to manually configure your init system to
|
||||||
|
@ -865,12 +889,13 @@ EOF
|
||||||
install -m 0664 "$SCRATCH/nix.conf" /etc/nix/nix.conf
|
install -m 0664 "$SCRATCH/nix.conf" /etc/nix/nix.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
# TODO: I've moved this out of validate_starting_assumptions so we
|
# TODO: I've moved this out of validate_starting_assumptions so we
|
||||||
# can fail faster in this case. Sourcing install-darwin... now runs
|
# can fail faster in this case. Sourcing install-darwin... now runs
|
||||||
# `touch /` to detect Read-only root, but it could update times on
|
# `touch /` to detect Read-only root, but it could update times on
|
||||||
# pre-Catalina macOS if run as root user.
|
# pre-Catalina macOS if run as root user.
|
||||||
if [ "$EUID" -eq 0 ]; then
|
if is_root; then
|
||||||
failure <<EOF
|
failure <<EOF
|
||||||
Please do not run this script with root privileges. I will call sudo
|
Please do not run this script with root privileges. I will call sudo
|
||||||
when I need to.
|
when I need to.
|
||||||
|
@ -879,10 +904,10 @@ EOF
|
||||||
|
|
||||||
check_selinux
|
check_selinux
|
||||||
|
|
||||||
if [ "$(uname -s)" = "Darwin" ]; then
|
if is_os_darwin; then
|
||||||
# shellcheck source=./install-darwin-multi-user.sh
|
# shellcheck source=./install-darwin-multi-user.sh
|
||||||
. "$EXTRACTED_NIX_PATH/install-darwin-multi-user.sh"
|
. "$EXTRACTED_NIX_PATH/install-darwin-multi-user.sh"
|
||||||
elif [ "$(uname -s)" = "Linux" ]; then
|
elif is_os_linux; then
|
||||||
# shellcheck source=./install-systemd-multi-user.sh
|
# shellcheck source=./install-systemd-multi-user.sh
|
||||||
. "$EXTRACTED_NIX_PATH/install-systemd-multi-user.sh" # most of this works on non-systemd distros also
|
. "$EXTRACTED_NIX_PATH/install-systemd-multi-user.sh" # most of this works on non-systemd distros also
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue