Files
omarchycn/boot.sh
T
Ryan Hughes c26bce6235 Rewrite boot.sh as a thin bootstrap for the package install flow
Old boot.sh cloned the repo to ~/.local/share/omarchy and sourced the
checkout's install.sh. The package refactor moves all of that into the
omarchy-installer package, so boot.sh's job shrinks to:

  1. Configure /etc/pacman.d/omarchy.conf for the right channel
     (stable, edge for OMARCHY_REF=dev, rc for OMARCHY_REF=rc).
     Include it from /etc/pacman.conf if not already.
  2. pacman -Sy && pacman -S --needed omarchy-installer (depends pull in
     omarchy, omarchy-settings, omarchy-limine).
  3. exec omarchy-install (shipped by omarchy-installer at /usr/bin/).

The OMARCHY_REPO and clone logic are gone. The install.sh on disk
under /usr/share/omarchy is now the source of truth, and is invoked via
omarchy-install with OMARCHY_INSTALL_MODE=online (default).

OMARCHY_REF=dev/rc still maps to the right pacman channel for testing
pre-release builds.
2026-06-04 18:34:35 -04:00

52 lines
2.7 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..."
sudo pacman -S --noconfirm --needed omarchy-installer
echo -e "\nInstallation starting..."
exec omarchy-install