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
|
# 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
|
||||||
|
@ -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
|
#!/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
|
@ -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 \
|
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