Over the past week, I have been reworking the SwayBANG installer to make it cleaner, simpler, and more reliable across different hardware setups. What started as a small tweak turned into a full overhaul of the bootloader system, and the results are worth sharing.
GRUB is now the default (and Only) Bootloader
The installer now uses GRUB exclusively, replacing systemd-boot. This simplifies maintenance, reduces code complexity, and ensures that both BIOS (MBR) and UEFI (GPT) systems work out of the box without user prompts or guesswork.
GRUB is installed automatically, with the correct target and configuration handled internally. Users no longer need to choose between bootloaders or mountpoints.
BIOS and UEFI Detection
The installer automatically detects the system’s boot mode and applies the correct install method:
In BIOS mode, GRUB is written to the MBR of the target disk.
In UEFI mode, GRUB installs cleanly to /boot/EFI/GRUB/ and registers a firmware entry.
No more prompts for EFI mountpoints or separate code paths. The script handles it all transparently.
LUKS and LVM Support
While I do not personally use encryption day-to-day, the installer now includes working support for both LUKS and LVM, as well as combined LUKS-on-LVM configurations.
Testing under UEFI confirms that encrypted installs boot successfully. This should be useful for users who prefer additional privacy or secure storage options.
Hardware Clock Defaults to UTC
The installer now sets the system clock to UTC automatically, following Arch Linux convention. For users who dual-boot with Windows or need localtime instead, this can easily be adjusted after installation:
sudo hwclock --systohc --localtime
Keeping UTC as default helps avoid time drift and keeps the installer simple.
os-prober and Multi-Boot Systems
os-prober is not installed or enabled by default. This keeps SwayBANG lean and avoids duplicate boot entries on multi-boot systems. Users who want to detect other installed operating systems later can enable it manually:
sudo pacman -S os-prober
echo 'GRUB_DISABLE_OS_PROBER=false' | sudo tee -a /etc/default/grub
sudo grub-mkconfig -o /boot/grub/grub.cfg
Streamlined and Non-Interactive
The installer with reduced menu options. This makes test runs faster and repeatable, especially useful in virtual machines. Added a way to increase speed by adding command line options to installer, but more on that soon as I need to do more testing.
What’s Next
The next phase will focus on testing LVM and basic LUKS configurations to ensure stability across different setups. After that, I will likely move on to some well-earned ricing — changing the look, and polishing the Sway experience before the next release.
Feedback Welcome
If you test the new installer, please share how it performs on your hardware, especially if you are using encryption or multi-boot setups. Simplicity and reliability remain the focus, but real-world feedback helps make it better for everyone.
New iso image will be uploaded very soon.
Stay safe 😉