# This script is meant to be sourced. # It's not for directly running. if ! command -v dnf >/dev/null 2>&1; then printf "${STY_RED}[$0]: dnf not found, it seems that the system is not Fedora 42 or later distros. Aborting...${STY_RST}\n" exit 1 fi # Update System case $SKIP_SYSUPDATE in true) sleep 0;; *) v sudo dnf upgrade --refresh -y;; esac # Group installation v sudo dnf install @development-tools -y # COPR repositories v sudo dnf copr enable solopasha/hyprland -y v sudo dnf copr enable errornointernet/quickshell -y v sudo dnf copr enable errornointernet/packages -y v sudo dnf copr enable deltacopy/darkly -y v sudo dnf copr enable alternateved/eza -y v sudo dnf copr enable atim/starship -y # Audio v sudo dnf install cava pavucontrol wireplumber libdbusmenu-gtk3-devel playerctl -y # Backlight v sudo dnf install geoclue2 brightnessctl ddcutil -y # Basic v sudo dnf install bc coreutils cliphist cmake curl wget2 ripgrep jq xdg-utils rsync yq -y # Fonts & Themes themes_deps=( adw-gtk3-theme breeze-cursor-theme grub2-breeze-theme breeze-icon-theme{,-fedora} kf6-breeze-icons sddm-breeze darkly eza fish fontconfig kitty matugen starship jetbrains-mono-nl-fonts material-icons-fonts twitter-twemoji-fonts ) v sudo dnf install ${themes_deps[@]} -y # Hyprland hyprland_deps=( hypridle hyprland-qtutils hyprland hyprlock hyprpicker hyprsunset xdg-desktop-portal-hyprland wl-clipboard ) v dnf download hyprland-qt-support v sudo rpm -ivh --nodeps hyprland-qt-support-*.fc$(rpm -E %fedora).$(uname -m).rpm # hyprland-qtutils depends on hyprland-qt-support, but since it does not yet support Qt 6.10, this package has been temporarily removed. v sudo dnf install --setopt="install_weak_deps=False" "${hyprland_deps[@]}" -y # KDE v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y # Microtex-git v sudo dnf install --setopt="install_weak_deps=False" tinyxml2-devel gtkmm3.0-devel gtksourceviewmm3-devel cairomm-devel -y # Portal v sudo dnf install xdg-desktop-portal{,-gtk,-kde,-hyprland} -y # Python v sudo dnf install --setopt="install_weak_deps=False" clang uv gtk4-devel libadwaita-devel \ libsoup3-devel libportal-gtk4 gobject-introspection-devel -y v sudo dnf install python3{,.12}{,-devel} -y # Quickshell-git quickshell_deps=( quickshell-git qt6-qtdeclarative qt6-qtbase jemalloc qt6-qtsvg pipewire-libs libxcb wayland-devel qt6-qtwayland qt5-qtwayland libdrm breakpad ) # NOTE: Below are custom dependencies of illogical-impulse quickshell_custom_deps=( qt6-qt5compat qt6-qtimageformats qt6-qtpositioning qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting ) v sudo dnf install "${quickshell_deps[@]}" -y v sudo dnf install "${quickshell_custom_deps[@]}" -y # Screencapture v sudo dnf install hyprshot slurp swappy tesseract tesseract-langpack-eng tesseract-langpack-chi_sim wf-recorder -y # Toolkit v sudo dnf install upower wtype ydotool -y # Widgets v sudo dnf install fuzzel glib2 ImageMagick hypridle hyprlock hyprpicker songrec translate-shell wlogout -y # Extra v sudo dnf install --setopt="install_weak_deps=False" mpvpaper plasma-systemmonitor unzip -y