diff --git a/bootstrap-haskell b/bootstrap-haskell
index 5106804c36671a220988aed533161a104a8f5a31..17500f7a69f9aaca3d6a05811d056bbd45425699 100755
--- a/bootstrap-haskell
+++ b/bootstrap-haskell
@@ -3,6 +3,8 @@
 # safety subshell to avoid executing anything in case this script is not downloaded properly
 (
 
+: "${GHCUP_INSTALL_BASE_PREFIX:=$HOME}"
+
 die() {
     (>&2 printf "\\033[0;31m%s\\033[0m\\n" "$1")
     exit 2
@@ -23,9 +25,9 @@ echo
 echo "It will add the 'cabal', 'ghc', and 'ghcup' executables to bin directory "
 echo "located at: "
 echo
-echo "  $HOME/.ghcup/bin"
+echo "  $GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin"
 echo
-echo "and create the environment file $HOME/.ghcup/env"
+echo "and create the environment file $GHCUP_INSTALL_BASE_PREFIX/.ghcup/env"
 echo "which you should source in your ~/.bashrc or similar to get the required"
 echo "PATH components."
 echo
@@ -40,21 +42,21 @@ if [ -z "${BOOTSTRAP_HASKELL_NONINTERACTIVE}" ] ; then
 	read -r answer </dev/tty
 fi
 
-edo mkdir -p "${HOME}"/.ghcup/bin
+edo mkdir -p "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin
 
 if command -V "ghcup" >/dev/null 2>&1 ; then
 	if [ -z "${BOOTSTRAP_HASKELL_NO_UPGRADE}" ] ; then
 		edo ghcup upgrade
 	fi
 else
-	edo curl https://raw.githubusercontent.com/haskell/ghcup/master/ghcup > "${HOME}"/.ghcup/bin/ghcup
-	edo chmod +x "${HOME}"/.ghcup/bin/ghcup
+	edo curl https://raw.githubusercontent.com/haskell/ghcup/master/ghcup > "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/ghcup
+	edo chmod +x "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/bin/ghcup
 
-	cat <<-EOF > "${HOME}"/.ghcup/env || die "Failed to create env file"
-		export PATH="\$HOME/.cabal/bin:\$HOME/.ghcup/bin:\$PATH"
+	cat <<-EOF > "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/env || die "Failed to create env file"
+		export PATH="\$HOME/.cabal/bin:\${GHCUP_INSTALL_BASE_PREFIX:=\$HOME}/.ghcup/bin:\$PATH"
 		EOF
 	# shellcheck disable=SC1090
-	edo . "${HOME}"/.ghcup/env
+	edo . "${GHCUP_INSTALL_BASE_PREFIX}"/.ghcup/env
 fi
 
 edo ghcup install
@@ -69,7 +71,7 @@ edo cabal new-install --symlink-bindir="$HOME/.cabal/bin" --jobs=1 cabal-install
 printf "\\033[0;35m%s\\033[0m\\n" ""
 printf "\\033[0;35m%s\\033[0m\\n" "Installation done!"
 printf "\\033[0;35m%s\\033[0m\\n" ""
-printf "\\033[0;35m%s\\033[0m\\n" "Don't forget to source $HOME/.ghcup/env in your ~/.bashrc or similar."
+printf "\\033[0;35m%s\\033[0m\\n" "Don't forget to source $GHCUP_INSTALL_BASE_PREFIX/.ghcup/env in your ~/.bashrc or similar."
 printf "\\033[0;35m%s\\033[0m\\n" ""