72 lines
2.5 KiB
Cheetah
Executable File
72 lines
2.5 KiB
Cheetah
Executable File
#!/bin/bash
|
|
# run_once_50-configure-system.sh
|
|
# System-level config, enable services and set some settings
|
|
|
|
set -euo pipefail
|
|
|
|
warn() { echo ">>> [configure] WARNING: $*" >&2; }
|
|
|
|
SYS="{{ .system | default "desktop" }}"
|
|
DISTRO_ID="{{ .chezmoi.osRelease.id | default "" }}"
|
|
SRC="{{ .chezmoi.sourceDir }}"
|
|
OS_PROBER="{{ .os_prober | default false }}"
|
|
echo ">>> [configure] distro=$DISTRO_ID, system=$SYS, source=$SRC"
|
|
|
|
services=(
|
|
bluetooth
|
|
cups
|
|
greetd
|
|
)
|
|
|
|
case "$DISTRO_ID" in
|
|
arch)
|
|
if [ "$SYS" != "server" ]; then
|
|
echo ">>> [configure] enabling services"
|
|
for service in "${services[@]}"; do
|
|
if sudo systemctl enable "$service"; then
|
|
echo "✓ $service: success"
|
|
else
|
|
echo "✗ $service: failed"
|
|
fi
|
|
done
|
|
|
|
echo ">>> [configure] applying grub-theme"
|
|
if [ -d /boot/grub/themes ]; then
|
|
sudo mkdir -p /boot/grub/themes/minegrub
|
|
sudo cp -r "$SRC/assets/minegrub/." /boot/grub/themes/minegrub/
|
|
if ! grep -q '^GRUB_THEME=' /etc/default/grub 2>/dev/null; then
|
|
echo 'GRUB_THEME="/boot/grub/themes/minegrub/theme.txt"' \
|
|
| sudo tee -a /etc/default/grub >/dev/null
|
|
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
|
fi
|
|
else
|
|
echo ">>> [configure] /boot/grub/themes missing — skipping grub theme install"
|
|
fi
|
|
|
|
if [ "$OS_PROBER" = "true" ]; then
|
|
echo ">>> [configure] enabling GRUB os-prober"
|
|
sudo sed -i -E 's/^#?GRUB_DISABLE_OS_PROBER=.*/GRUB_DISABLE_OS_PROBER=false/' /etc/default/grub
|
|
if ! grep -q '^GRUB_DISABLE_OS_PROBER=' /etc/default/grub; then
|
|
echo 'GRUB_DISABLE_OS_PROBER=false' | sudo tee -a /etc/default/grub >/dev/null
|
|
fi
|
|
echo ">>> [configure] grub.cfg regenerating with os-prober entries"
|
|
sudo grub-mkconfig -o /boot/grub/grub.cfg \
|
|
|| warn "grub-mkconfig failed (os-prober entries may not be applied)"
|
|
else
|
|
echo ">>> [configure] GRUB os-prober disabled (per user choice)"
|
|
fi
|
|
fi
|
|
;;
|
|
|
|
ubuntu)
|
|
echo ">>> [configure] ubuntu no configure system"
|
|
;;
|
|
|
|
*)
|
|
echo ">>> [configure] unsupported distro: ${DISTRO_ID:-unknown}, skipping"
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
echo ">>> [configure] done"
|