V1.2 - Improved script
This commit is contained in:
1 parent
a04eea38ef
commit
617831c25a
1 file changed
+165
-74
+165
-74
@@ -2,7 +2,14 @@
|
|||||||
|
|
||||||
# Post install script for Fedora
|
# Post install script for Fedora
|
||||||
# Author: Jacob Schantli
|
# Author: Jacob Schantli
|
||||||
# Version: 1.0
|
# Version: 1.1
|
||||||
|
|
||||||
|
# Make a pipeline fail if any command in it fails. Without this,
|
||||||
|
# `curl ... | bash` reports success even when the download fails.
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
# Steps that failed during this run (shown in the summary at the end)
|
||||||
|
FAILED_STEPS=()
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Global Configuration
|
# Global Configuration
|
||||||
@@ -14,8 +21,6 @@ DNF_PACKAGES=(
|
|||||||
"lutris"
|
"lutris"
|
||||||
"btop"
|
"btop"
|
||||||
"fastfetch"
|
"fastfetch"
|
||||||
"jstest-gtk"
|
|
||||||
"yaru-icon-theme"
|
|
||||||
"distrobox"
|
"distrobox"
|
||||||
"pipx"
|
"pipx"
|
||||||
"bash-completion"
|
"bash-completion"
|
||||||
@@ -25,7 +30,6 @@ DNF_PACKAGES=(
|
|||||||
"unzip"
|
"unzip"
|
||||||
"git"
|
"git"
|
||||||
"fzf"
|
"fzf"
|
||||||
"syncthing"
|
|
||||||
"mpv"
|
"mpv"
|
||||||
"fuse"
|
"fuse"
|
||||||
"fuse-libs"
|
"fuse-libs"
|
||||||
@@ -43,20 +47,18 @@ FLATPAK_PACKAGES=(
|
|||||||
"com.vysp3r.ProtonPlus"
|
"com.vysp3r.ProtonPlus"
|
||||||
"io.missioncenter.MissionCenter"
|
"io.missioncenter.MissionCenter"
|
||||||
"io.github.peazip.PeaZip"
|
"io.github.peazip.PeaZip"
|
||||||
"app.devsuite.Ptyxis"
|
#"app.devsuite.Ptyxis"
|
||||||
"re.sonny.Junction"
|
"re.sonny.Junction"
|
||||||
"com.github.rafostar.Clapper"
|
#"com.github.rafostar.Clapper"
|
||||||
"io.github.flattool.Ignition"
|
"io.github.flattool.Ignition"
|
||||||
"io.github.swordpuffin.rewaita"
|
"io.github.swordpuffin.rewaita"
|
||||||
"page.tesk.Refine"
|
"page.tesk.Refine"
|
||||||
"io.gitlab.adhami3310.Converter"
|
#"io.gitlab.adhami3310.Converter"
|
||||||
"com.usebottles.bottles"
|
"com.usebottles.bottles"
|
||||||
"com.bambulab.BambuStudio"
|
"com.bambulab.BambuStudio"
|
||||||
"com.collaboraoffice.Office"
|
"com.collaboraoffice.Office"
|
||||||
"io.github.martchus.syncthingtray"
|
|
||||||
"io.github.kolunmi.Bazaar"
|
"io.github.kolunmi.Bazaar"
|
||||||
"com.fastmail.Fastmail"
|
"com.fastmail.Fastmail"
|
||||||
"org.waywallen.waywallen"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
GNOME_EXTENSIONS=(
|
GNOME_EXTENSIONS=(
|
||||||
@@ -67,9 +69,9 @@ GNOME_EXTENSIONS=(
|
|||||||
"caffeine@patapon.info"
|
"caffeine@patapon.info"
|
||||||
"dynamic-music-pill@andbal"
|
"dynamic-music-pill@andbal"
|
||||||
"gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com"
|
"gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com"
|
||||||
"IP-Finder@linxgem33.com"
|
#"IP-Finder@linxgem33.com"
|
||||||
"lan-ip-address@mrhuber.com"
|
#"lan-ip-address@mrhuber.com"
|
||||||
"update-extension@purejava.org"
|
#"update-extension@purejava.org"
|
||||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||||
"gnome-wallpaper-engine@gjs.com.zip"
|
"gnome-wallpaper-engine@gjs.com.zip"
|
||||||
)
|
)
|
||||||
@@ -102,10 +104,12 @@ command_exists() {
|
|||||||
|
|
||||||
# Check if the last command was successful
|
# Check if the last command was successful
|
||||||
check_status() {
|
check_status() {
|
||||||
if [ $? -eq 0 ]; then
|
local status=$?
|
||||||
|
if [ $status -eq 0 ]; then
|
||||||
log_info "$1 successful."
|
log_info "$1 successful."
|
||||||
else
|
else
|
||||||
log_error "$1 failed."
|
log_error "$1 failed."
|
||||||
|
FAILED_STEPS+=("$1")
|
||||||
# If the second argument is "critical", exit the script
|
# If the second argument is "critical", exit the script
|
||||||
if [ "$2" == "critical" ]; then
|
if [ "$2" == "critical" ]; then
|
||||||
log_error "Critical error encountered. Exiting."
|
log_error "Critical error encountered. Exiting."
|
||||||
@@ -162,7 +166,7 @@ install_fonts() {
|
|||||||
sudo dnf upgrade --refresh -y
|
sudo dnf upgrade --refresh -y
|
||||||
check_status "System upgrade" "critical"
|
check_status "System upgrade" "critical"
|
||||||
|
|
||||||
sudo dnf install -y curl cabextract xorg-x11-font-utils fontconfig wget
|
sudo dnf install -y curl cabextract xorg-x11-font-utils fontconfig wget unzip
|
||||||
check_status "Prerequisites installation" "critical"
|
check_status "Prerequisites installation" "critical"
|
||||||
|
|
||||||
log_info "Installing Microsoft Core Fonts..."
|
log_info "Installing Microsoft Core Fonts..."
|
||||||
@@ -175,7 +179,8 @@ install_fonts() {
|
|||||||
|
|
||||||
log_info "Installing Meslo Nerd Font..."
|
log_info "Installing Meslo Nerd Font..."
|
||||||
FONT_NAME="MesloLGS Nerd Font Mono"
|
FONT_NAME="MesloLGS Nerd Font Mono"
|
||||||
if fc-list :family | grep -iq "$FONT_NAME"; then
|
# Redirect instead of `grep -q` so fc-list isn't killed by SIGPIPE (pipefail)
|
||||||
|
if fc-list :family | grep -i "$FONT_NAME" > /dev/null; then
|
||||||
log_info "Font '$FONT_NAME' is already installed."
|
log_info "Font '$FONT_NAME' is already installed."
|
||||||
else
|
else
|
||||||
log_info "Installing font '$FONT_NAME'..."
|
log_info "Installing font '$FONT_NAME'..."
|
||||||
@@ -183,14 +188,13 @@ install_fonts() {
|
|||||||
FONT_DIR="$HOME/.local/share/fonts"
|
FONT_DIR="$HOME/.local/share/fonts"
|
||||||
TEMP_DIR=$(mktemp -d)
|
TEMP_DIR=$(mktemp -d)
|
||||||
|
|
||||||
wget -O "$TEMP_DIR/$FONT_NAME.zip" "$FONT_URL"
|
wget -q -O "$TEMP_DIR/Meslo.zip" "$FONT_URL" \
|
||||||
unzip "$TEMP_DIR/$FONT_NAME.zip" -d "$TEMP_DIR"
|
&& unzip -q "$TEMP_DIR/Meslo.zip" -d "$TEMP_DIR" \
|
||||||
mkdir -p "$FONT_DIR/$FONT_NAME"
|
&& mkdir -p "$FONT_DIR/$FONT_NAME" \
|
||||||
mv "$TEMP_DIR"/*.ttf "$FONT_DIR/$FONT_NAME/"
|
&& mv "$TEMP_DIR"/*.ttf "$FONT_DIR/$FONT_NAME/" \
|
||||||
|
&& fc-cache -f "$FONT_DIR"
|
||||||
fc-cache -fv
|
|
||||||
rm -rf "$TEMP_DIR"
|
|
||||||
check_status "Meslo Nerd Font installation" "non-critical"
|
check_status "Meslo Nerd Font installation" "non-critical"
|
||||||
|
rm -rf "$TEMP_DIR"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -214,11 +218,6 @@ install_software() {
|
|||||||
sudo dnf install -y "${DNF_PACKAGES[@]}"
|
sudo dnf install -y "${DNF_PACKAGES[@]}"
|
||||||
check_status "DNF packages installation" "non-critical"
|
check_status "DNF packages installation" "non-critical"
|
||||||
|
|
||||||
# Install Gemini CLI
|
|
||||||
log_info "Installing gemini-cli via Homebrew..."
|
|
||||||
npm i @google/gemini-cli
|
|
||||||
check_status "gemini-cli installation" "non-critical"
|
|
||||||
|
|
||||||
# Ensure flatpak is set up
|
# Ensure flatpak is set up
|
||||||
if ! command -v flatpak &> /dev/null; then
|
if ! command -v flatpak &> /dev/null; then
|
||||||
log_info "Flatpak not found. Installing..."
|
log_info "Flatpak not found. Installing..."
|
||||||
@@ -230,23 +229,34 @@ install_software() {
|
|||||||
check_status "Flathub remote add" "non-critical"
|
check_status "Flathub remote add" "non-critical"
|
||||||
|
|
||||||
log_info "Installing Flatpak packages..."
|
log_info "Installing Flatpak packages..."
|
||||||
for app in "${FLATPAK_PACKAGES[@]}"; do
|
# One transaction is much faster (single dependency resolution, shared
|
||||||
log_info "Installing $app..."
|
# runtimes downloaded once). If it fails, retry one-by-one so a single
|
||||||
flatpak install flathub -y "$app"
|
# bad app ID doesn't block the rest.
|
||||||
check_status "Flatpak $app" "non-critical"
|
if flatpak install flathub -y "${FLATPAK_PACKAGES[@]}"; then
|
||||||
done
|
log_info "Flatpak packages installation successful."
|
||||||
|
else
|
||||||
|
log_warn "Batch Flatpak install failed. Retrying apps individually..."
|
||||||
|
for app in "${FLATPAK_PACKAGES[@]}"; do
|
||||||
|
log_info "Installing $app..."
|
||||||
|
flatpak install flathub -y "$app"
|
||||||
|
check_status "Flatpak $app" "non-critical"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
log_info "----------------------------------------------------"
|
log_info "----------------------------------------------------"
|
||||||
log_info "Installing Homebrew and Gemini CLI"
|
log_info "Installing Homebrew"
|
||||||
log_info "----------------------------------------------------"
|
log_info "----------------------------------------------------"
|
||||||
|
|
||||||
# Install Homebrew
|
# Install Homebrew (also detect it when it isn't on PATH yet)
|
||||||
if command_exists brew; then
|
if command_exists brew || [ -x "/home/linuxbrew/.linuxbrew/bin/brew" ]; then
|
||||||
log_info "Homebrew already installed."
|
log_info "Homebrew already installed."
|
||||||
else
|
else
|
||||||
log_info "Installing Homebrew..."
|
log_info "Installing Homebrew..."
|
||||||
# Using NONINTERACTIVE=1 to avoid prompts during brew install
|
# Download first so a failed download isn't reported as success.
|
||||||
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
# NONINTERACTIVE=1 avoids prompts during brew install.
|
||||||
|
BREW_INSTALLER=$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) \
|
||||||
|
&& NONINTERACTIVE=1 /bin/bash -c "$BREW_INSTALLER"
|
||||||
|
check_status "Homebrew installation" "non-critical"
|
||||||
|
|
||||||
# Add brew to path for the current session
|
# Add brew to path for the current session
|
||||||
if [ -d "/home/linuxbrew/.linuxbrew/bin" ]; then
|
if [ -d "/home/linuxbrew/.linuxbrew/bin" ]; then
|
||||||
@@ -254,8 +264,6 @@ install_software() {
|
|||||||
elif [ -d "$HOME/.linuxbrew/bin" ]; then
|
elif [ -d "$HOME/.linuxbrew/bin" ]; then
|
||||||
eval "$($HOME/.linuxbrew/bin/brew shellenv)"
|
eval "$($HOME/.linuxbrew/bin/brew shellenv)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
check_status "Homebrew installation" "non-critical"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -304,6 +312,17 @@ install_cachyos() {
|
|||||||
log_info "Installing CachyOS kernel"
|
log_info "Installing CachyOS kernel"
|
||||||
log_info "----------------------------------------------------"
|
log_info "----------------------------------------------------"
|
||||||
|
|
||||||
|
# kernel-cachyos is built for x86-64-v3 CPUs. Ask before installing it on
|
||||||
|
# an older CPU, where the new (default) boot entry may not start.
|
||||||
|
if ! /lib64/ld-linux-x86-64.so.2 --help 2>/dev/null | grep 'x86-64-v3 (supported' > /dev/null; then
|
||||||
|
log_warn "Your CPU does not appear to support x86-64-v3, which kernel-cachyos targets."
|
||||||
|
read -p "Install the CachyOS kernel anyway? [y/N]: " reply
|
||||||
|
if [[ ! "$reply" =~ ^[Yy]$ ]]; then
|
||||||
|
log_info "Skipping CachyOS kernel."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
sudo dnf copr enable -y bieszczaders/kernel-cachyos
|
sudo dnf copr enable -y bieszczaders/kernel-cachyos
|
||||||
check_status "Enabling CachyOS Copr" "non-critical"
|
check_status "Enabling CachyOS Copr" "non-critical"
|
||||||
|
|
||||||
@@ -320,6 +339,42 @@ install_cachyos() {
|
|||||||
check_status "CachyOS addons installation" "non-critical"
|
check_status "CachyOS addons installation" "non-critical"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_p03() {
|
||||||
|
log_info "----------------------------------------------------"
|
||||||
|
log_info "Installing P03 kernel"
|
||||||
|
log_info "----------------------------------------------------"
|
||||||
|
|
||||||
|
# The default kernel-p03 build needs x86-64-v3 and won't boot on older
|
||||||
|
# CPUs. Those get the x86-64-v2 build (kernel-p03-gcc) instead.
|
||||||
|
if /lib64/ld-linux-x86-64.so.2 --help 2>/dev/null | grep 'x86-64-v3 (supported' > /dev/null; then
|
||||||
|
P03_PACKAGE="kernel-p03"
|
||||||
|
else
|
||||||
|
log_warn "CPU lacks x86-64-v3 support. Installing the x86-64-v2 build (kernel-p03-gcc)."
|
||||||
|
P03_PACKAGE="kernel-p03-gcc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo dnf copr enable -y catpieleaf/kernel-p03
|
||||||
|
check_status "Enabling P03 Copr" "non-critical"
|
||||||
|
|
||||||
|
sudo dnf install -y "$P03_PACKAGE"
|
||||||
|
check_status "P03 kernel installation" "non-critical"
|
||||||
|
|
||||||
|
# P03 signs itself with a locally generated key. With Secure Boot on, that
|
||||||
|
# key must be enrolled or the kernel won't boot.
|
||||||
|
if mokutil --sb-state 2>/dev/null | grep -i 'SecureBoot enabled' > /dev/null; then
|
||||||
|
log_info "Secure Boot is enabled. Enrolling the P03 signing key..."
|
||||||
|
log_info "Pick a one-time password. On the next boot, choose 'Enroll MOK' and enter it."
|
||||||
|
sudo mokutil --import /etc/kernel/certs/p03-kernel/mok.der
|
||||||
|
check_status "P03 Secure Boot key enrollment" "non-critical"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if rpm -q kernel-cachyos > /dev/null 2>&1; then
|
||||||
|
log_warn "The CachyOS kernel is also installed. The newest kernel usually boots by default;"
|
||||||
|
log_warn "pick the other one from the boot menu if needed."
|
||||||
|
fi
|
||||||
|
log_warn "P03 uses the PRJC scheduler, so sched_ext schedulers (scx-scheds) likely won't work on it."
|
||||||
|
}
|
||||||
|
|
||||||
install_linuxtoys() {
|
install_linuxtoys() {
|
||||||
log_info "----------------------------------------------------"
|
log_info "----------------------------------------------------"
|
||||||
log_info "Installing LinuxToys"
|
log_info "Installing LinuxToys"
|
||||||
@@ -338,7 +393,8 @@ install_shell_env() {
|
|||||||
log_info "Starship already installed."
|
log_info "Starship already installed."
|
||||||
else
|
else
|
||||||
log_info "Installing Starship..."
|
log_info "Installing Starship..."
|
||||||
curl -sSL https://starship.rs/install.sh | sudo sh
|
# -y skips the installer's confirmation prompt
|
||||||
|
curl -sSL https://starship.rs/install.sh | sudo sh -s -- -y
|
||||||
check_status "Starship installation" "non-critical"
|
check_status "Starship installation" "non-critical"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -421,7 +477,12 @@ install_topgrade() {
|
|||||||
log_info "Installing Topgrade"
|
log_info "Installing Topgrade"
|
||||||
log_info "----------------------------------------------------"
|
log_info "----------------------------------------------------"
|
||||||
|
|
||||||
sudo dnf copr enable lilay/topgrade
|
if command_exists topgrade; then
|
||||||
|
log_info "Topgrade already installed."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo dnf copr enable -y lilay/topgrade
|
||||||
check_status "Enabling Topgrade" "non-critical"
|
check_status "Enabling Topgrade" "non-critical"
|
||||||
|
|
||||||
sudo dnf install -y topgrade
|
sudo dnf install -y topgrade
|
||||||
@@ -457,6 +518,7 @@ install_gnome_extensions() {
|
|||||||
|
|
||||||
# Install (using the direct binary path)
|
# Install (using the direct binary path)
|
||||||
"$EXTENSION_TOOL" install "$extension"
|
"$EXTENSION_TOOL" install "$extension"
|
||||||
|
check_status "GNOME Extension $extension" "non-critical"
|
||||||
|
|
||||||
# Attempt to enable the extension (in case it's installed but disabled)
|
# Attempt to enable the extension (in case it's installed but disabled)
|
||||||
log_info "Ensuring $extension is enabled..."
|
log_info "Ensuring $extension is enabled..."
|
||||||
@@ -464,11 +526,28 @@ install_gnome_extensions() {
|
|||||||
|
|
||||||
# Prompt user to press Enter to continue
|
# Prompt user to press Enter to continue
|
||||||
read -p "Press Enter to continue (if a popup appeared, confirm it first)..."
|
read -p "Press Enter to continue (if a popup appeared, confirm it first)..."
|
||||||
|
|
||||||
check_status "GNOME Extension $extension" "non-critical"
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_antigravity() {
|
||||||
|
log_info "----------------------------------------------------"
|
||||||
|
log_info "Installing Antigravity App, IDE, and CLI"
|
||||||
|
log_info "----------------------------------------------------"
|
||||||
|
|
||||||
|
log_info "Installing Antigravity CLI..."
|
||||||
|
curl -fsSL https://antigravity.google/cli/install.sh | bash
|
||||||
|
check_status "Antigravity CLI installation" "non-critical"
|
||||||
|
|
||||||
|
log_info "Installing Antigravity App and IDE..."
|
||||||
|
# Community installer (opensnap). It downloads Google's official tarballs
|
||||||
|
# into /opt and adds launchers. It needs python3, and nautilus-python
|
||||||
|
# enables its "Open in Antigravity IDE" entry in Files.
|
||||||
|
sudo dnf install -y python3 nautilus-python
|
||||||
|
INSTALLER_URL="https://opensnap.github.io/antigravity/install.sh"
|
||||||
|
curl -fsSL "$INSTALLER_URL" | sudo -E env ANTIGRAVITY_LINUX_INSTALLER_URL="$INSTALLER_URL" bash -s -- --all
|
||||||
|
check_status "Antigravity App and IDE installation" "non-critical"
|
||||||
|
}
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Main Menu
|
# Main Menu
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
@@ -492,9 +571,45 @@ show_menu() {
|
|||||||
echo "12. Install 1Password"
|
echo "12. Install 1Password"
|
||||||
echo "13. Install Windscribe"
|
echo "13. Install Windscribe"
|
||||||
echo "14. Install Topgrade"
|
echo "14. Install Topgrade"
|
||||||
|
echo "15. Install Antigravity App, IDE, and CLI"
|
||||||
|
echo "16. Install P03 Kernel (experimental, not in Install Everything)"
|
||||||
echo "0. Exit"
|
echo "0. Exit"
|
||||||
echo "===================================================="
|
echo "===================================================="
|
||||||
read -p "Enter your choice [0-14]: " choice
|
read -p "Enter your choice [0-16]: " choice
|
||||||
|
}
|
||||||
|
|
||||||
|
# Run every installation step. Pass "skip_kernel" to leave out CachyOS.
|
||||||
|
run_all() {
|
||||||
|
optimize_dnf
|
||||||
|
install_fonts
|
||||||
|
install_repos
|
||||||
|
install_software
|
||||||
|
install_discord
|
||||||
|
install_1password
|
||||||
|
install_Windscribe
|
||||||
|
install_topgrade
|
||||||
|
if [ "$1" != "skip_kernel" ]; then
|
||||||
|
install_cachyos
|
||||||
|
fi
|
||||||
|
install_linuxtoys
|
||||||
|
install_shell_env
|
||||||
|
install_gnome_extensions
|
||||||
|
install_antigravity
|
||||||
|
}
|
||||||
|
|
||||||
|
# Show which steps failed during this run, if any
|
||||||
|
print_summary() {
|
||||||
|
log_info "----------------------------------------------------"
|
||||||
|
if [ ${#FAILED_STEPS[@]} -eq 0 ]; then
|
||||||
|
log_info "Post-install script completed successfully!"
|
||||||
|
else
|
||||||
|
log_warn "Post-install script finished with ${#FAILED_STEPS[@]} failed step(s):"
|
||||||
|
for step in "${FAILED_STEPS[@]}"; do
|
||||||
|
log_warn " - $step"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
log_info "Please restart your shell or run 'source ~/.bashrc' to see the changes."
|
||||||
|
log_info "----------------------------------------------------"
|
||||||
}
|
}
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
@@ -512,35 +627,11 @@ while true; do
|
|||||||
show_menu
|
show_menu
|
||||||
case $choice in
|
case $choice in
|
||||||
1)
|
1)
|
||||||
optimize_dnf
|
run_all
|
||||||
install_fonts
|
|
||||||
install_repos
|
|
||||||
install_software
|
|
||||||
install_discord
|
|
||||||
install_1password
|
|
||||||
install_Windscribe
|
|
||||||
install_topgrade
|
|
||||||
install_cachyos
|
|
||||||
install_linuxtoys
|
|
||||||
install_shell_env
|
|
||||||
install_gnome_extensions
|
|
||||||
log_info "All tasks completed successfully!"
|
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
optimize_dnf
|
run_all skip_kernel
|
||||||
install_fonts
|
|
||||||
install_repos
|
|
||||||
install_software
|
|
||||||
install_discord
|
|
||||||
install_1password
|
|
||||||
install_Windscribe
|
|
||||||
install_topgrade
|
|
||||||
# install_cachyos (Skipped)
|
|
||||||
install_linuxtoys
|
|
||||||
install_shell_env
|
|
||||||
install_gnome_extensions
|
|
||||||
log_info "All tasks (except kernel) completed successfully!"
|
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
3) optimize_dnf ;;
|
3) optimize_dnf ;;
|
||||||
@@ -555,8 +646,11 @@ while true; do
|
|||||||
12) install_1password ;;
|
12) install_1password ;;
|
||||||
13) install_Windscribe ;;
|
13) install_Windscribe ;;
|
||||||
14) install_topgrade ;;
|
14) install_topgrade ;;
|
||||||
|
15) install_antigravity ;;
|
||||||
|
16) install_p03 ;;
|
||||||
0)
|
0)
|
||||||
log_info "Exiting..."
|
log_info "Exiting..."
|
||||||
|
print_summary
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -570,7 +664,4 @@ while true; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
log_info "----------------------------------------------------"
|
print_summary
|
||||||
log_info "Post-install script completed successfully!"
|
|
||||||
log_info "Please restart your shell or run 'source ~/.bashrc' to see the changes."
|
|
||||||
log_info "----------------------------------------------------"
|
|
||||||
Reference in new issue
Block a user