I install Arch BTW – with the new archinstall 4.0

archinstall 4.0 replaces the curses interface with Textual, adds firewall and UKI support, and fundamentally modernizes the internal architecture.

listen Print view
A penguin with "OPEN SOURCE" lettering on a triangular patch against a space background.

(Image: heise medien)

4 min. read

Arch Linux is fundamentally overhauling its installation tool archinstall with version 4.0. The developers are replacing the previous curses-based interface with the TUI framework Textual. This is intended to modernize terminal operation and, above all, simplify the maintenance of the menu logic. The overhaul also creates the foundation for new features. The developers explicitly ask users for feedback – particularly on usability and accessibility.

archinstall is an installation script maintained by Arch Linux developers, included in the distribution's official repository. It offers a semi-automated alternative to the classic manual installation and is aimed at users who want to set up reproducible systems. Unlike many other distributions, Arch Linux does not offer a graphical installer. Instead, archinstall guides users through the setup of storage devices, bootloader, network, and desktop environments – albeit on the command line. Although archinstall is included in the official ISO image, manual installation via pacstrap remains the recommended method for setting up Arch Linux by the main project.

The core of the new version is the migration to Textual, a Python framework for terminal-based user interfaces. It separates the interface and logic more clearly than the previous curses implementation. Menus can be designed more flexibly and extended more easily. Furthermore, Textual supports event-based workflows. This is evident in the new asynchronous menus: inputs no longer block the entire process, making interactive functions such as filtering lists during input easier.

In addition to the UI overhaul, archinstall 4.0 also brings new features. Users can now select a firewall during installation – for example, with firewalld – instead of having to do it after the first system boot. The developers are making several adjustments to the bootloader and system startup: they are correcting GRUB and EFISTUB and adding support for Unified Kernel Images. UKI bundles the kernel, initramfs, and metadata into a single EFI file, which can simplify Secure Boot setups.

For KDE systems, archinstall adjusts the default settings, opting for the plasma-desktop package instead of plasma-meta. Improvements are also incorporated in handling encrypted storage devices (LUKS2) and disk management. Additionally, the project now documents how to start the Arch installation medium in virtual machines.

Videos by heise

However, a large part of the changes concerns the internal structure of archinstall. Developers are converting central components such as network, authentication, and mirror handling to dependency injection. This reduces coupling between modules and facilitates both testing and future extensions. In parallel, they are advancing typing, for example, through TypedDict and more precise type annotations. Stricter linting and testing rules are intended to ensure code quality.

The maintainers are also restructuring the system components themselves. Functions for storage devices, LVM, and LUKS are being moved into separate modules, eliminating redundant code. Options that are no longer supported or are used infrequently – such as NTFS as a root file system – are being removed by the project. Numerous detailed corrections also fix errors in the partition menu, network setups with iwd, or with bootloaders.

All information about the update can be found in the Release Notes on GitHub. Detailed documentation and instructions are available on the project's website.

(fo)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.