Check the machine before installing, and keep old shells' mise working
shellcheck / shellcheck (push) Successful in 11s

install.sh now stops early, with a clear message, if this isn't 64-bit
Arch, it's run as root, there's no internet, or sudo doesn't work.
system/preflight.sh then asks before going on with too little disk space
or / not on btrfs, and offers to switch another login screen to GDM and
PulseAudio to PipeWire. Keeping another login screen puts GDM in
services-off, so install and update stop failing to enable it; a
migration does the same on existing machines. It says nothing when all
is well, as refresh runs install.sh again.

Intel GPUs also get intel-media-driver for hardware video decoding, with
a migration for existing machines.

The mise migration links ~/.local/bin/mise to /usr/bin/mise instead of
deleting it, so shells opened before the update don't print an error at
every prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-31 08:25:46 -06:00
co-authored by Claude Opus 5.5
parent cb66ce9719
commit a102e6fe0b
8 changed files with 295 additions and 10 deletions
+6 -3
View File
@@ -1,7 +1,9 @@
#!/bin/bash
#
# Purpose : Install the Vulkan driver for each Intel or AMD GPU in the machine.
# NVIDIA's Vulkan driver comes with nvidia-utils (see nvidia.sh).
# Purpose : Install the Vulkan driver for each Intel or AMD GPU in the machine,
# and Intel's video decoding driver (VA-API), so video and calls
# don't decode on the CPU. AMD's comes with mesa, NVIDIA's with its
# driver (see nvidia.sh).
set -e
@@ -12,7 +14,8 @@ PACKAGES=()
for device in /sys/bus/pci/devices/*; do
[[ $(< "$device/class") == 0x03* ]] || continue
case "$(< "$device/vendor")" in
0x8086) PACKAGES+=(vulkan-intel) ;;
# intel-media-driver covers Broadwell (2014) and newer
0x8086) PACKAGES+=(vulkan-intel intel-media-driver) ;;
0x1002) PACKAGES+=(vulkan-radeon) ;;
esac
done