updated fedora min

This commit is contained in:
2026-04-23 10:25:07 +02:00
parent d016e85dab
commit 40043d640d
+26 -49
View File
@@ -40,58 +40,34 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
install_packages() { sudo dnf install -y "$@"; } install_packages() { sudo dnf install -y "$@"; }
is_package_installed() { rpm -q "$@" &>/dev/null; } is_package_installed() { rpm -q "$@" &>/dev/null; }
remove_packages() { # [Note: The Arch-specific kernel removal loop was removed as it uses 'pacman' flags]
local packages_to_remove=()
for pkg in "$@"; do
if is_package_installed "$pkg"; then
packages_to_remove+=("$pkg")
fi
done
if [ ${#packages_to_remove[@]} -gt 0 ]; then ##########################
say_cyan "Removing packages: ${packages_to_remove[*]}" # 1. Base Dependencies & Repos
sudo dnf remove -y "${packages_to_remove[@]}" ##########################
fi say_cyan "Installing base dependencies..."
} # dnf-plugins-core is required for COPR
install_packages dnf-plugins-core curl wget git flatpak
say_yellow "Starting Fedora minimal setup..." # Enable PeaZip via COPR
say_cyan "Enabling PeaZip COPR..."
sudo dnf copr enable -y zenturio0815/peazip
# Create user directories ##########################
mkdir -p "$HOME"/{.bin,.fonts,.icons,.themes,DATA} "$HOME/.local/share/"{icons,themes,applications} "$HOME/.config/"{autostart,gtk-{3.0,4.0},variety,fish,neofetch} # 2. Main Package Installation
##########################
say_yellow "Installing essential tools..."
################################# install_packages \
# 1. Driver and Kernel Cleanup fastfetch lolcat bash-completion starship alacritty \
################################# hwinfo lshw duf chrony polkit-kde-agent-1 \
# Fedora handles kernel removal via dnf. We generally want to keep 'kernel' and 'kernel-core'. man-db tree xdg-user-dirs rsync time bat chromium \
say_yellow "Cleaning up unwanted drivers/firmware..." thunar thunar-archive-plugin thunar-volman \
# Fedora names these differently; usually broadcom-wl or specific firmware packages baobab gvfs-smb hddtemp squashfs-tools \
remove_packages broadcom-wl akmod-wl zip gzip p7zip unace unrar file-roller peazip \
feh font-manager dconf-editor hardinfo lsb_release \
# Note: On Fedora, removing video drivers like 'vesa' or 'fbdev' isn't as critical powertop inxi acpi plocate nm-connection-editor \
# as Arch, but we can target specific hardware-support packages if needed. python3-pylint python3-pywal
remove_packages xorg-x11-drv-fbdev xorg-x11-drv-vesa
#################################
# 2. Install Essential Tools
#################################
say_cyan "Installing essential Fedora tools..."
# Removed: pacmanlogviewer, paru, yay, pamac, reflector (Arch specific)
# Added: dnf-plugins-core (essential for copr/config-manager)
install_packages dnf-plugins-core wget curl nano fastfetch lolcat bash-completion \
starship alacritty hwinfo lshw duf man-db tree xdg-user-dirs rsync time bat \
unzip chromium thunar thunar-archive-plugin thunar-volman polkit-kde ntp
# disk-tools & archive-managers
install_packages baobab gvfs-smb hddtemp squashfs-tools \
zip gzip p7zip unace unrar file-roller
# theming
install_packages feh font-manager
# System Utilities
install_packages dconf-editor hardinfo hw-probe logrotate lsb_release \
powertop inxi acpi plocate nm-connection-editor python3-pylint
################################# #################################
# 3. Fonts (RobotoMono Nerd Font) # 3. Fonts (RobotoMono Nerd Font)
@@ -131,8 +107,9 @@ say_green "Chromium flags configured."
################################# #################################
# 5. Enable Services # 5. Enable Services
################################# #################################
# Enable basic services
say_cyan "Enabling services..."
sudo systemctl enable --now fstrim.timer sudo systemctl enable --now fstrim.timer
# Fedora uses chronyd by default; usually already enabled.
sudo systemctl enable --now chronyd || true sudo systemctl enable --now chronyd || true
say_green "Fedora Minimal setup completed." say_green "Fedora Minimal setup completed."