X is a custom Arch Linux spin focused on simplicity, clean branding, and reproducible builds.
It ships its own package repository (x-repo) so you can install X-specific packages directly with pacman, and more tools will be migrated there over time.
Project status: Under active development
X provides a minimal yet polished Arch-based system with its own identity.
It is built with the standard mkarchiso workflow, layering a custom profile, branding assets, and post-install automation on top of official Arch repositories.
- Custom branding —
/etc/os-release, GRUB, MOTD, wallpapers, and logos all carry the X identity. - X package repository — A dedicated
[x]repo inpacman.confdelivers thex-releasebranding package (and future tools) viapacman. - Preconfigured archinstall — Ships a
user_configuration.jsonso installation is nearly hands-free. - Post-install automation —
x-postinstall.shapplies branding to GNOME, KDE Plasma, XFCE, GDM, SDDM, and LightDM. - WSL support — Build a WSL-importable tarball with
xbuildwsl.sh. - Multiple desktop environments — Branding preconfigured for GNOME, KDE Plasma, and XFCE.
x-linux/ ├── profiledef.sh # ArchISO profile definition ├── pacman.conf # Package manager config (includes [x] repo) ├── packages.x86_64 # Package list for ISO build ├── airootfs/ # Root filesystem overlay │ ├── etc/ │ │ ├── os-release # X system identity │ │ ├── default/grub # GRUB configuration (GRUB_DISTRIBUTOR="X") │ │ ├── motd # Message of the Day │ │ ├── dconf/ # GNOME/GDM branding (wallpaper, login logo) │ │ └── pacman.d/hooks/ # Branding hooks for x-release package │ ├── root/ │ │ ├── x-autostart.sh # Automated installation script │ │ ├── x-postinstall.sh # Post-install branding (GNOME/KDE/XFCE) │ │ └── user_configuration.json # Archinstall preset │ └── usr/local/share/ # Wallpapers, logos, and assets ├── xbuild.sh # Build ISO locally ├── xbuildwsl.sh # Build WSL tarball ├── x.sh # Quick rebuild/clean script ├── WSL_GUIDE.md # Guide for importing into WSL └── roadmap.md # Project roadmap X ships a custom pacman repository that provides branding and utility packages.
Currently the repo includes x-release, and more tools will be migrated here over time.
The repository is pre-configured in pacman.conf:
[x] SigLevel = Optional TrustAll Server = https://xscriptor.github.io/x-repo/repo/x86_64To add it to an existing Arch installation, append the block above to /etc/pacman.conf and run:
sudo pacman -Sy x-releaseWith the repository enabled, the x-release package handles all branding automatically via pacman hooks — the post-install script is no longer necessary.
Install archiso:
sudo pacman -S archisoThen run:
./xbuild.shThe script will:
- Unmount any stale mounts from previous builds.
- Clean the
work/andout/directories. - Run
mkarchisowith the provided configuration. - Store the resulting
.isoimage inside./out/.
Output:
out/ └── X-YYYY.MM.DD-x86_64.iso To create a tarball compatible with Windows Subsystem for Linux:
sudo ./xbuildwsl.shThis produces out-wsl/x-YYYY.MM.DD.tar.gz.
See WSL_GUIDE.md for import instructions.
The ISO includes a pre-configured archinstall profile (user_configuration.json) for a streamlined installation.
Note: On some hardware you may need to manually re-select the disk partitioning layout during the setup wizard.
If the X repository is unreachable, you can apply branding manually with the post-install script.
Run this right after archinstall finishes, before rebooting (while the new system is still mounted at /mnt):
/root/x-postinstall.shThis configures /etc/os-release, wallpapers, logos, and bootloader entries for the installed desktop environment.
- Build outputs (
work/,out/, logs) are git-ignored. - All configuration and assets needed to reproduce the ISO are included in the repository.
- For development or debugging, modify files under
airootfs/and rebuild.
For additional automation scripts and tools, visit:
https://github.com/xscriptor/x
All build scripts and configuration files are released under the MIT License,
unless stated otherwise in subdirectories (e.g., artwork or third-party themes).