mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
Structure the installers explicitly with clearly defined segments
This commit is contained in:
72
install.sh
72
install.sh
@ -3,6 +3,8 @@
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
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"
|
||||
@ -12,16 +14,70 @@ catch_errors() {
|
||||
|
||||
trap catch_errors ERR
|
||||
|
||||
# Install everything
|
||||
for f in ~/.local/share/omarchy/install/*.sh; do
|
||||
echo -e "\nRunning installer: $f"
|
||||
source "$f"
|
||||
done
|
||||
show_logo() {
|
||||
clear
|
||||
tte -i ~/.local/share/omarchy/logo.txt --frame-rate ${2:-120} ${1:-expand}
|
||||
echo
|
||||
}
|
||||
|
||||
# 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
|
||||
|
||||
# Update all built-in packages
|
||||
sudo pacman -Syu --noconfirm
|
||||
|
||||
# Reboot
|
||||
show_logo laseretch 920
|
||||
show_subtext "You're done! So we'll be rebooting now..."
|
||||
sleep 2
|
||||
reboot
|
||||
|
@ -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 ""
|
||||
}
|
@ -1,7 +1,4 @@
|
||||
#!/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_EMAIL=$(gum input --placeholder "Enter email address" --prompt "Email> ")
|
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Install decryption and boot loader..."
|
||||
|
||||
yay -S --noconfirm --needed uwsm
|
||||
|
||||
# Compile the seamless login helper -- needed to prevent seeing terminal between loader and desktop
|
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Let's install desktop tools..."
|
||||
|
||||
yay -S --noconfirm --needed \
|
||||
brightnessctl playerctl pamixer wiremix wireplumber \
|
||||
fcitx5 fcitx5-gtk fcitx5-qt wl-clip-persist \
|
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Install beautiful fonts..."
|
||||
|
||||
if [ -z "$OMARCHY_BARE" ]; then
|
||||
yay -S --noconfirm --needed ttf-font-awesome noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra
|
||||
else
|
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Installing Hyprland ecosystem..."
|
||||
|
||||
yay -S --noconfirm --needed \
|
||||
hyprland hyprshot hyprpicker hyprlock hypridle polkit-gnome hyprland-qtutils \
|
||||
walker-bin libqalculate waybar mako swaybg swayosd \
|
@ -1,7 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Installing printer system..."
|
||||
|
||||
sudo pacman -S --noconfirm cups cups-pdf cups-filters system-config-printer
|
||||
sudo systemctl enable --now cups.service
|
@ -1,8 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
show_logo
|
||||
show_subtext "Let's install development tools..."
|
||||
|
||||
yay -S --noconfirm --needed \
|
||||
cargo clang llvm mise \
|
||||
imagemagick \
|
3
install/preflight/presentation.sh
Normal file
3
install/preflight/presentation.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
yay -S --noconfirm --needed gum python-terminaltexteffects
|
Reference in New Issue
Block a user