diff --git a/install.sh b/install.sh index cb074d5..c4bbc64 100755 --- a/install.sh +++ b/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 diff --git a/install/2-presentation.sh b/install/2-presentation.sh deleted file mode 100644 index 636a769..0000000 --- a/install/2-presentation.sh +++ /dev/null @@ -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 "" -} diff --git a/install/mimetypes.sh b/install/apps/mimetypes.sh similarity index 100% rename from install/mimetypes.sh rename to install/apps/mimetypes.sh diff --git a/install/webapps.sh b/install/apps/webapps.sh similarity index 100% rename from install/webapps.sh rename to install/apps/webapps.sh diff --git a/install/xtras.sh b/install/apps/xtras.sh similarity index 100% rename from install/xtras.sh rename to install/apps/xtras.sh diff --git a/install/5-config.sh b/install/config/config.sh similarity index 100% rename from install/5-config.sh rename to install/config/config.sh diff --git a/install/detect-keyboard-layout.sh b/install/config/detect-keyboard-layout.sh similarity index 100% rename from install/detect-keyboard-layout.sh rename to install/config/detect-keyboard-layout.sh diff --git a/install/fix-fkeys.sh b/install/config/fix-fkeys.sh similarity index 100% rename from install/fix-fkeys.sh rename to install/config/fix-fkeys.sh diff --git a/install/3-identification.sh b/install/config/identification.sh similarity index 76% rename from install/3-identification.sh rename to install/config/identification.sh index 859a300..94e9d7b 100644 --- a/install/3-identification.sh +++ b/install/config/identification.sh @@ -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> ") diff --git a/install/login.sh b/install/config/login.sh similarity index 98% rename from install/login.sh rename to install/config/login.sh index a62a08a..b0e268d 100644 --- a/install/login.sh +++ b/install/config/login.sh @@ -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 diff --git a/install/network.sh b/install/config/network.sh similarity index 100% rename from install/network.sh rename to install/config/network.sh diff --git a/install/nvidia.sh b/install/config/nvidia.sh similarity index 100% rename from install/nvidia.sh rename to install/config/nvidia.sh diff --git a/install/plymouth.sh b/install/config/plymouth.sh similarity index 100% rename from install/plymouth.sh rename to install/config/plymouth.sh diff --git a/install/power.sh b/install/config/power.sh similarity index 100% rename from install/power.sh rename to install/config/power.sh diff --git a/install/theme.sh b/install/config/theme.sh similarity index 100% rename from install/theme.sh rename to install/config/theme.sh diff --git a/install/asdcontrol.sh b/install/desktop/asdcontrol.sh similarity index 100% rename from install/asdcontrol.sh rename to install/desktop/asdcontrol.sh diff --git a/install/bluetooth.sh b/install/desktop/bluetooth.sh similarity index 100% rename from install/bluetooth.sh rename to install/desktop/bluetooth.sh diff --git a/install/desktop.sh b/install/desktop/desktop.sh similarity index 87% rename from install/desktop.sh rename to install/desktop/desktop.sh index 712f6c8..0b2b320 100644 --- a/install/desktop.sh +++ b/install/desktop/desktop.sh @@ -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 \ diff --git a/install/fonts.sh b/install/desktop/fonts.sh similarity index 96% rename from install/fonts.sh rename to install/desktop/fonts.sh index ab4d348..b1a7ea0 100644 --- a/install/fonts.sh +++ b/install/desktop/fonts.sh @@ -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 diff --git a/install/hyprlandia.sh b/install/desktop/hyprlandia.sh similarity index 79% rename from install/hyprlandia.sh rename to install/desktop/hyprlandia.sh index 72bffd4..e5d9368 100644 --- a/install/hyprlandia.sh +++ b/install/desktop/hyprlandia.sh @@ -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 \ diff --git a/install/printer.sh b/install/desktop/printer.sh similarity index 70% rename from install/printer.sh rename to install/desktop/printer.sh index fc9e671..17b2d31 100644 --- a/install/printer.sh +++ b/install/desktop/printer.sh @@ -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 diff --git a/install/development.sh b/install/development/development.sh similarity index 72% rename from install/development.sh rename to install/development/development.sh index 97f9c77..20d8957 100644 --- a/install/development.sh +++ b/install/development/development.sh @@ -1,8 +1,5 @@ #!/bin/bash -show_logo -show_subtext "Let's install development tools..." - yay -S --noconfirm --needed \ cargo clang llvm mise \ imagemagick \ diff --git a/install/docker.sh b/install/development/docker.sh similarity index 100% rename from install/docker.sh rename to install/development/docker.sh diff --git a/install/firewall.sh b/install/development/firewall.sh similarity index 100% rename from install/firewall.sh rename to install/development/firewall.sh diff --git a/install/nvim.sh b/install/development/nvim.sh similarity index 100% rename from install/nvim.sh rename to install/development/nvim.sh diff --git a/install/ruby.sh b/install/development/ruby.sh similarity index 100% rename from install/ruby.sh rename to install/development/ruby.sh diff --git a/install/4-terminal.sh b/install/development/terminal.sh similarity index 100% rename from install/4-terminal.sh rename to install/development/terminal.sh diff --git a/install/1-aur.sh b/install/preflight/aur.sh similarity index 100% rename from install/1-aur.sh rename to install/preflight/aur.sh diff --git a/install/preflight/presentation.sh b/install/preflight/presentation.sh new file mode 100644 index 0000000..98957ae --- /dev/null +++ b/install/preflight/presentation.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +yay -S --noconfirm --needed gum python-terminaltexteffects