1
This commit is contained in:
@@ -20,6 +20,24 @@ BASH_BASHRC="/etc/bash.bashrc"
|
||||
MARKER_START="# >>> dotfiles (managed) >>>"
|
||||
MARKER_END="# <<< dotfiles (managed) <<<"
|
||||
|
||||
# Select install mode (PS1, banner, or both)
|
||||
install_ps1=1
|
||||
install_banner=1
|
||||
if [[ -t 0 ]]; then
|
||||
echo "Installer valg:"
|
||||
echo " 1) Kun PS1"
|
||||
echo " 2) Kun banner"
|
||||
echo " 3) Begge (PS1 + banner)"
|
||||
read -r -p "Velg [3]: " install_choice
|
||||
case "${install_choice}" in
|
||||
1) install_ps1=1; install_banner=0 ;;
|
||||
2) install_ps1=0; install_banner=1 ;;
|
||||
""|3) install_ps1=1; install_banner=1 ;;
|
||||
*) echo "Ugyldig valg, bruker begge."; install_ps1=1; install_banner=1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [[ "$install_banner" -eq 1 ]]; then
|
||||
# Ensure required packages are installed (no prompt)
|
||||
missing_pkgs=()
|
||||
if ! command -v figlet >/dev/null 2>&1; then
|
||||
@@ -70,13 +88,18 @@ else
|
||||
printf '%s\n' "${current_punchline}" > /etc/ps1-punchline
|
||||
fi
|
||||
chmod 0644 /etc/ps1-punchline
|
||||
fi
|
||||
|
||||
# Copy modules
|
||||
if [[ "$install_ps1" -eq 1 ]]; then
|
||||
cp -f "$SRC_PS1" "$DST_PS1"
|
||||
chmod 0644 "$DST_PS1"
|
||||
fi
|
||||
|
||||
if [[ "$install_banner" -eq 1 ]]; then
|
||||
cp -f "$SRC_BANNER" "$DST_BANNER"
|
||||
chmod 0644 "$DST_BANNER"
|
||||
fi
|
||||
|
||||
# Ensure /etc/bash.bashrc sources both (idempotent)
|
||||
tmp="$(mktemp)"
|
||||
@@ -93,12 +116,18 @@ cat >> "$tmp" <<EOF
|
||||
|
||||
$MARKER_START
|
||||
# Load PS1 + Banner (managed)
|
||||
if [ -r "$DST_PS1" ]; then
|
||||
. "$DST_PS1"
|
||||
$(if [[ "$install_ps1" -eq 1 ]]; then cat <<'INNER'
|
||||
if [ -r "/etc/profile.d/ps1.sh" ]; then
|
||||
. "/etc/profile.d/ps1.sh"
|
||||
fi
|
||||
if [ -r "$DST_BANNER" ]; then
|
||||
. "$DST_BANNER"
|
||||
INNER
|
||||
fi)
|
||||
$(if [[ "$install_banner" -eq 1 ]]; then cat <<'INNER'
|
||||
if [ -r "/etc/profile.d/banner.sh" ]; then
|
||||
. "/etc/profile.d/banner.sh"
|
||||
fi
|
||||
INNER
|
||||
fi)
|
||||
$MARKER_END
|
||||
EOF
|
||||
|
||||
@@ -109,8 +138,12 @@ fi
|
||||
rm -f "$tmp"
|
||||
|
||||
echo "✅ Installert globalt (Linux/WSL):"
|
||||
if [[ "$install_ps1" -eq 1 ]]; then
|
||||
echo " - $DST_PS1"
|
||||
fi
|
||||
if [[ "$install_banner" -eq 1 ]]; then
|
||||
echo " - $DST_BANNER"
|
||||
fi
|
||||
echo " - sourcet fra $BASH_BASHRC"
|
||||
echo
|
||||
echo "Åpne et nytt shell for å se endringene."
|
||||
|
||||
Reference in New Issue
Block a user