https://github.com/ccooper1982/wali
Web Arch Linux Installer
https://github.com/ccooper1982/wali
arch-linux arch-linux-installation linux linux-installer webtoolkit
Last synced: 4 months ago
JSON representation
Web Arch Linux Installer
- Host: GitHub
- URL: https://github.com/ccooper1982/wali
- Owner: ccooper1982
- Created: 2025-12-23T02:56:49.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-06T22:03:39.000Z (4 months ago)
- Last Synced: 2026-02-07T08:52:34.966Z (4 months ago)
- Topics: arch-linux, arch-linux-installation, linux, linux-installer, webtoolkit
- Language: C++
- Homepage:
- Size: 318 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Web Arch Linux Installer
`wali` is a web browser based installer for Arch Linux:
- In the live environment, `wali` runs a web server
- Install Arch from another machine with a web UI
- 4MB download, 10MB extracted, with no dependencies
- A [video](https://www.youtube.com/watch?v=tHF04ex9AMg) of v1.2
- Note: the mouse pointer doesn't show in the video
# Features
- Create partitions and `ext4` or `btrfs` filesystems
- Profiles: `niri`, `xfce`, `Hyprland` and `Plasma`
- Video: Guidance on appropriate video driver
- Packages: install additional packages
- Install: output displayed in browser
# Install
## Target Machine
1. Boot into the latest Arch ISO and configure the internet connection as usual
2. Download and extract `wali`
- `curl -sfL https://raw.githubusercontent.com/ccooper1982/wali/main/scripts/install.sh | sh`
- Install location is `/root/wali`
3. Use `ip addr` to find the appropriate IP address for the web server
4. Start:
- `cd /root/wali`
- `./start.sh [port]`
- Default port is `8080`
## Other Machine
1. In a browser, visit the URL (**note** it is `http`)
- i.e. `http://192.168.1.2:8080/`
# Arch Install Process
Go through the menu options, configuring as required.
- For a bootable system, all stages up to and including "Boot Loader" must succeed
- If a subsequent stage fails, the system can _probably_ still boot (reported as Partial Success).
## Partitions
- In the "Filesystems" page, you can click "Manage Partitions" to create partitions
- There is no UI progress indicator yet, except the buttons are disabled
- All partitions on the selected device are deleted and new partitions are created
- A new partition for home can be created (if not then, you will mount `/home` to the root partition)
- The home partition cannot be sized yet
## Mounts
- `boot` and `root` are required, and must be separate partitions
- `root` can only be `ext4` (`btrfs` coming soon)
- `home` can be mounted to:
- Root partition (default)
- New partition: wipes the filesystem then creates a new filesystem
- Existing partition: mount only
## User
- A root password is required
- A user account with password is required
# Details
- The web server is integrated into [`webtoolkit`](https://github.com/emweb/wt), a C++ web framework (the web equivalent of Qt)
- The install script syncs the time then downloads and extracts `wali`
- `wali` is linked statically to `wt`, as is `wt` to `boost`, so no additional dependencies are required
# Build
- C++23, `meson`
- TODO