Skip to content

Repository files navigation

A Full Boot Rice Post-install configurator for Arch Linux — opinionated, interactive, and idempotent.

Hosted at post-install-arch.vercel.app

Arch Linux Post-Install Configurator


Quick Start

bash <(curl -fsSL https://post-install-arch.vercel.app/post-install.sh)

Do not run as root. The script will prompt for sudo only when necessary.


Overview

This script automates the most tedious parts of setting up an Arch Linux system after a fresh install. It uses gum for a polished, interactive TUI experience and handles everything from installing an AUR helper to configuring your bootloader theme.

All actions are logged, all critical steps are verified, and the script is safe to re-run — already-installed components are detected and skipped.


Full Boot Rice Stack

Every layer of the boot sequence, themed.
From first pixel to desktop — a complete end-to-end rice of the Arch boot chain.

01 GRUB02 Plymouth03 SDDM04 Desktop


01 — GRUB Star Trek Theme

Star Trek GRUB Theme Preview

Installs the startrek-blue GRUB theme and writes a clean, single-entry GRUB configuration.

SettingValue
Theme path/boot/grub/themes/startrek-blue/
Theme sourcepost-install-arch.vercel.app/startrek-blue.zip
SubmenusDisabled (GRUB_DISABLE_SUBMENU=y)
OS ProberDisabled (GRUB_DISABLE_OS_PROBER=true)
Splashquiet splash added to kernel cmdline

Partition and kernel detection are fully automatic. The script uses findmnt and blkid to detect:

  • Your root partition UUID (root=UUID=… — stable across hardware changes)
  • Your /boot partition UUID for the GRUB search command
  • Your btrfs subvolume rootflags, if applicable
  • Your microcode image (amd-ucode.img or intel-ucode.img)
  • Your installed kernel by scanning /boot/vmlinuz-* at runtime

Kernel detection supports any kernel package — linux, linux-lts, linux-zen, linux-hardened, or any custom kernel. If multiple kernels are found you will be prompted to choose one. The matching initramfs-<kernel>.img is verified to exist before the GRUB entry is written.

It then writes a clean /etc/grub.d/40_custom entry and disables the auto-generated 10_linux and 30_os-prober scripts so only your named entry appears in the menu. You will be prompted to name the menu entry (defaults to Arch Linux).

Existing /etc/default/grub and /etc/grub.d/40_custom are backed up to .bak before any changes are made.


02 — Plymouth Boot Splash

arch-glow Plymouth Boot Animation

Sets up a smooth animated splash screen shown during boot. Installs the custom arch-glow theme:

StepAction
Installplymouth via pacman
Themearch-glow from post-install-arch.vercel.app/arch-glow.zip
HookInjects plymouth after udevorsystemd in /etc/mkinitcpio.conf
RebuildRuns mkinitcpio -P to apply the new initramfs

The theme is automatically detected and set as default via plymouth-set-default-theme -R.

The script detects whether your preset uses the udev or systemd initramfs hook and injects plymouth in the correct position. If neither hook is found the step fails with a clear error rather than silently doing nothing.


03 — SDDM Display Manager

default.mp4

Installs and enables SDDM as the system display manager, and applies the SilentSDDM theme.

StepAction
Installsddm, qt6-declarative via pacman
Enablesystemctl enable sddm
ThemeCloned from uiriansan/SilentSDDM
FallbackIf theme install fails, SDDM is still enabled with the default theme

04 — Desktop — DMS Linux

DankLinux DankMaterialShell Desktop

DMS Linuxdanklinux.com is a curated dotfile and configuration suite for a polished Material Shell desktop. Fetched and piped directly from the official installer:

Source: https://install.danklinux.com

The DMS installer is interactive — it runs directly in your terminal with no output redirection so its TUI renders normally. The script prints a notice before handing control over.


Extra Packages

After the boot rice stack is applied, install anything else you need.

You will be prompted to enter additional packages one per line. Smart routing handles the rest:

  • Packages found in the official repositories → installed via pacman
  • Unknown packages or those prefixed with aur: → installed via yay
# Example input
firefox
neovim
aur:zen-browser-bin

Pre-flight Checks

Eight checks run before a single package is touched.

CheckRequirement
UserMust not be run as root
Commandscurl, unzip, git, findmnt, blkid — auto-installed if missing
InternetMust be reachable (curl to archlinux.org)
Disk spaceAt least 5 GB free on /
SystemArch or Arch-based (Manjaro, EndeavourOS, Garuda, CachyOS, Artix)
CompositorNiri or Hyprland must be present (required by DMS Linux)
TUI toolsgum and fzf — auto-installed via pacman if missing
AUR helperyay — auto-built and installed from AUR if missing

Safety Features

  • Re-entrant — already-installed packages are detected and skipped gracefully
  • Automatic backups — GRUB config files get .bak copies before modification
  • set -euo pipefail — the script exits immediately on any unexpected error
  • trap cleanup EXIT — temp files are cleaned up even if the script is interrupted
  • No root execution — the script refuses to run as root; sudo is invoked only for specific commands

Every action is written to a timestamped log file at /tmp/arch-post-install-YYYYMMDD-HHMMSS.log. The log persists after the script finishes. If any step fails, the log location is printed to the console.


Configuration

You can override default settings by creating a config file at ~/.config/arch-post-install.conf:

# Example: point to a local or alternate mirror
BASE_URL="https://mirror.example.com/arch"

This file is sourced automatically at startup if it exists.


Compatibility

DistroStatus
Arch Linux✅ Fully supported
EndeavourOS✅ Supported
Manjaro✅ Supported
Garuda Linux✅ Supported
CachyOS✅ Supported
Artix Linux✅ Supported
Other Arch-based⚠️ Should work, not tested

Files

FileDescription
post-install.shThe main post-install script
arch-glow.zipPlymouth boot splash theme
startrek-blue.zipGRUB bootloader theme

License

This script is part of the danadavis.dev project and is provided as-is for personal use.

About

A full boot rice stack post-install configurator for Arch Linux — opinionated, interactive, and idempotent.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages