Files
arthur-os/boot.sh
T
Ryan Hughes 8e05d4d92a Move full-runtime dep to omarchy meta; thin omarchy-installer
Apollo-recommended dep split:
- omarchy-installer: bash gum jq git only (just the runner)
- omarchy: depends on omarchy-keyring + omarchy-settings + omarchy-limine
  + the runtime stack
- omarchy-settings, omarchy-limine: standalone

install.sh now installs the runtime (pacman -Syu --needed omarchy) before
sourcing preflight/all.sh in online mode, and asserts it's already
present in offline mode (ISO pacstraps it before user creation so
/etc/skel is populated).

boot.sh installs only omarchy-keyring + omarchy-installer (small + fast),
then exec's omarchy-install which handles the full-runtime pull.

User-visible effect: 'pacman -S omarchy-installer' now installs ~5 files
instead of the entire Omarchy stack. Users get a clean choice between
'I just want the installer' and 'I want the full Omarchy desktop'.
2026-06-04 18:34:35 -04:00

54 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# Curl-able Omarchy bootstrap. Configures the omarchy pacman repo on a fresh
# Arch system, installs the omarchy-installer package (which pulls omarchy,
# omarchy-settings, and omarchy-limine via depends), then hands off to
# `omarchy install`.
#
# Usage:
# curl -sSL https://omarchy.org/boot.sh | bash
# curl -sSL https://omarchy.org/boot.sh | OMARCHY_REF=dev bash
set -e
ansi_art=' ▄▄▄
▄█████▄ ▄███████████▄ ▄███████ ▄███████ ▄███████ ▄█ █▄ ▄█ █▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███ ███
███ ███ ███ ███ ███ ▄███▄▄▄███ ▄███▄▄▄██▀ ███ ▄███▄▄▄███▄ ███▄▄▄███
███ ███ ███ ███ ███ ▀███▀▀▀███ ▀███▀▀▀▀ ███ ▀▀███▀▀▀███ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ███ ███ ██████████ ███ █▄ ███ ███ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀█████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ███████▀ ███ █▀ ▀█████▀
███ █▀ '
clear
echo -e "\n$ansi_art\n"
# Pick the omarchy package channel. stable is the default; dev/rc are for
# pre-release testing.
case "${OMARCHY_REF:-master}" in
dev) channel=edge ;;
rc) channel=rc ;;
*) channel=stable ;;
esac
echo "Configuring omarchy [${channel}] pacman repo..."
sudo tee /etc/pacman.d/omarchy.conf >/dev/null <<EOF
[omarchy]
SigLevel = Optional TrustAll
Server = https://pkgs.omarchy.org/${channel}/\$arch
EOF
if ! grep -q '^Include = /etc/pacman.d/omarchy.conf' /etc/pacman.conf; then
echo -e "\nInclude = /etc/pacman.d/omarchy.conf" | sudo tee -a /etc/pacman.conf >/dev/null
fi
echo "Refreshing pacman databases..."
sudo pacman -Sy --noconfirm
echo "Installing omarchy-installer..."
# Only install the runner here — install.sh pulls the full omarchy runtime
# itself once it knows the mode and has logged in.
sudo pacman -S --noconfirm --needed omarchy-keyring omarchy-installer
echo -e "\nInstallation starting..."
exec omarchy-install