Structure the installers explicitly with clearly defined segments

This commit is contained in:
David Heinemeier Hansson committed 2025-07-25 16:48:53 -04:00
1 parent 25acc313b1
commit b5f60f78a8
29 files changed
+67 -44

No files matched your search

+64 -8
View File
@@ -3,6 +3,8 @@
# Exit immediately if a command exits with a non-zero status # Exit immediately if a command exits with a non-zero status
set -e set -e
OMARCHY_INSTALL=~/.local/share/omarchy/install/
# Give people a chance to retry running the installation # Give people a chance to retry running the installation
catch_errors() { catch_errors() {
echo -e "\n\e[31mOmarchy installation failed!\e[0m" echo -e "\n\e[31mOmarchy installation failed!\e[0m"
@@ -12,16 +14,70 @@ catch_errors() {
trap catch_errors ERR trap catch_errors ERR
# Install everything show_logo() {
for f in ~/.local/share/omarchy/install/*.sh; do clear
echo -e "\nRunning installer: $f" tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
source "$f" echo
done }
# Ensure locate is up to date now that everything has been installed show_subtext() {
echo "$1" | tte --frame-rate ${3:-640} ${2:-wipe}
echo
}
# Install prerequisites
source $OMARCHY_INSTALL/preflight/aur.sh
source $OMARCHY_INSTALL/preflight/presentation.sh
# Configuration
show_logo beams 240
show_subtext "Let's configure Omarchy! [1/5]"
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/theme.sh
source $OMARCHY_INSTALL/config/login.sh
source $OMARCHY_INSTALL/config/plymouth.sh
source $OMARCHY_INSTALL/config/nvidia.sh
# Development
show_logo decrypt 920
show_subtext "Installing terminal tools [2/10]"
source $OMARCHY_INSTALL/development/terminal.sh
source $OMARCHY_INSTALL/development/developmment.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
show_logo slice
show_subtext "Installing desktop tools [3/10]"
source $OMARCHY_INSTALL/desktop/desktop.sh
source $OMARCHY_INSTALL/desktop/hyprlandia.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
show_logo expand
show_subtext "Installing default applications [4/5]"
source $OMARCHY_INSTALL/apps/webapps.sh
source $OMARCHY_INSTALL/apps/xtras.sh
source $OMARCHY_INSTALL/apps/mimetypes.sh
# Updates
show_logo highlight
show_subtext "Updating system packages [5/5]"
sudo updatedb sudo updatedb
# Update all built-in packages
sudo pacman -Syu --noconfirm sudo pacman -Syu --noconfirm
# Reboot
show_logo laseretch 920
show_subtext "You're done! So we'll be rebooting now..."
sleep 2
reboot reboot
-15
View File
@@ -1,15 +0,0 @@
#!/bin/bash
# Need gum to query for input
yay -S --noconfirm --needed gum python-terminaltexteffects
show_logo() {
clear
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
echo -e ""
}
show_subtext() {
echo "$1" | tte --frame-rate ${3:-640} ${2:-wipe}
echo -e ""
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,7 +1,4 @@
#!/bin/bash #!/bin/bash
show_logo beams 240
show_subtext "Let's install Omarchy!"
export OMARCHY_USER_NAME=$(gum input --placeholder "Enter full name" --prompt "Name> ") export OMARCHY_USER_NAME=$(gum input --placeholder "Enter full name" --prompt "Name> ")
export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ") export OMARCHY_USER_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")
@@ -1,8 +1,5 @@
#!/bin/bash #!/bin/bash
show_logo
show_subtext "Install decryption and boot loader..."
yay -S --noconfirm --needed uwsm yay -S --noconfirm --needed uwsm
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop # Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,8 +1,5 @@
#!/bin/bash #!/bin/bash
show_logo
show_subtext "Let's install desktop tools..."
yay -S --noconfirm --needed \ yay -S --noconfirm --needed \
brightnessctl playerctl pamixer wiremix wireplumber \ brightnessctl playerctl pamixer wiremix wireplumber \
fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \ fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \
@@ -1,8 +1,5 @@
#!/bin/bash #!/bin/bash
show_logo
show_subtext "Install beautiful fonts..."
if [ -z "$OMARCHY_BARE" ]; then if [ -z "$OMARCHY_BARE" ]; then
yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra
else else
@@ -1,8 +1,5 @@
#!/bin/bash #!/bin/bash
show_logo
show_subtext "Installing Hyprland ecosystem..."
yay -S --noconfirm --needed \ yay -S --noconfirm --needed \
hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \ hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \
walker-bin libqalculate waybar mako swaybg swayosd \ walker-bin libqalculate waybar mako swaybg swayosd \
@@ -1,7 +1,4 @@
#!/bin/bash #!/bin/bash
show_logo
show_subtext "Installing printer system..."
sudo pacman -S --noconfirm cups cups-pdf cups-filters system-config-printer sudo pacman -S --noconfirm cups cups-pdf cups-filters system-config-printer
sudo systemctl enable --now cups.service sudo systemctl enable --now cups.service
@@ -1,8 +1,5 @@
#!/bin/bash #!/bin/bash
show_logo
show_subtext "Let's install development tools..."
yay -S --noconfirm --needed \ yay -S --noconfirm --needed \
cargo clang llvm mise \ cargo clang llvm mise \
imagemagick \ imagemagick \
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
yay -S --noconfirm --needed gum python-terminaltexteffects