#!/bin/bash # Exit immediately if a command exits with a non-zero status # set -e export PATH="$HOME/.local/share/omarchy/bin:$PATH" OMARCHY_INSTALL=~/.local/share/omarchy/install # Give people a chance to retry running the installation catch_errors() { echo -e "\n\e[31mOmarchy installation failed!\e[0m" echo "The failing command was: \`$BASH_COMMAND\` (exit code: $?)" echo "You can retry by running: bash ~/.local/share/omarchy/install.sh" echo "Get help from the community: https://discord.gg/tXFUdasqhY" } trap catch_errors ERR show_logo() { clear # tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand} cat <~/.local/share/omarchy/logo.txt echo } show_subtext() { echo "$1" # | tte --frame-rate ${3:-640} ${2:-wipe} echo } # Install prerequisites source $OMARCHY_INSTALL/preflight/chroot.sh source $OMARCHY_INSTALL/preflight/mirrorlist.sh source $OMARCHY_INSTALL/preflight/gum.sh source $OMARCHY_INSTALL/preflight/guard.sh source $OMARCHY_INSTALL/preflight/aur.sh source $OMARCHY_INSTALL/preflight/tte.sh source $OMARCHY_INSTALL/preflight/migrations.sh # Configuration show_logo beams 240 show_subtext "Let's install Omarchy!" source $OMARCHY_INSTALL/config/identification.sh source $OMARCHY_INSTALL/config/config.sh source $OMARCHY_INSTALL/config/detect-keyboard-layout.sh source $OMARCHY_INSTALL/config/fix-fkeys.sh source $OMARCHY_INSTALL/config/network.sh source $OMARCHY_INSTALL/config/power.sh source $OMARCHY_INSTALL/config/timezones.sh source $OMARCHY_INSTALL/config/login.sh source $OMARCHY_INSTALL/config/nvidia.sh source $OMARCHY_INSTALL/config/increase-sudo-tries.sh # Development source $OMARCHY_INSTALL/development/terminal.sh source $OMARCHY_INSTALL/development/development.sh source $OMARCHY_INSTALL/development/nvim.sh source $OMARCHY_INSTALL/development/ruby.sh source $OMARCHY_INSTALL/development/docker.sh source $OMARCHY_INSTALL/development/firewall.sh # Desktop source $OMARCHY_INSTALL/desktop/desktop.sh source $OMARCHY_INSTALL/desktop/hyprlandia.sh source $OMARCHY_INSTALL/desktop/theme.sh source $OMARCHY_INSTALL/desktop/bluetooth.sh source $OMARCHY_INSTALL/desktop/asdcontrol.sh source $OMARCHY_INSTALL/desktop/fonts.sh source $OMARCHY_INSTALL/desktop/printer.sh # Apps source $OMARCHY_INSTALL/apps/webapps.sh source $OMARCHY_INSTALL/apps/xtras.sh source $OMARCHY_INSTALL/apps/mimetypes.sh # Updates sudo updatedb # Update system packages if we have a network connection if ping -c5 omarchy.org &>/dev/null; then yay -Syu --noconfirm fi # Reboot show_logo laseretch 920 show_subtext "You're done! So we're ready to reboot now..." if sudo test -f /etc/sudoers.d/99-omarchy-installer; then sudo rm -f /etc/sudoers.d/99-omarchy-installer &>/dev/null gum confirm "Have you unplugged the USB installer?" fi sleep 2 reboot