#!/usr/bin/env bash # Speed up DNF: sudo nano /etc/dnf/dnf.conf # Add the following: fastestmirror=True max_parallel_downloads=10 defaultyes=True keepcache=True cd ~/Downloads sudo dnf upgrade -y # Enable RPM Fusion # https://rpmfusion.org/Configuration sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm sudo dnf groupupdate core # FUSE Installation # FUSE (Filesystem in Userspace) is essential for AppImage functionality. If you’re experiencing issues with AppImages not running, you may need to install FUSE packages: yum install fuse fuse-devel #or sudo dnf install fuse fuse-libs # These are not found in Fedora 42 - Cinnamon repos # Many users on Fedora 41 reported that AppImages stopped working until they installed these packages, and this requirement continues in Fedora 42. # Required Dependencies # While AppImages include most dependencies, some may rely on fundamental system libraries. The most common required packages are: sudo dnf install libfuse2 libfuse3 # These are not found in Fedora 42 - Cinnamon repos # Adding Flatpaks # https://flatpak.org/setup/Fedora sudo dnf install flatpak flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo # Install Media Codecs sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin sudo dnf groupupdate sound-and-video # Change Hostname sudo hostnamectl set-hostname # ============================================================================== # If using Gnome DE # ============================================================================== # Install Gnome Tweaks and Gnome Extensions sudo dnf install gnome-tweaks gnome-extensions-app # Install Pop-Shell sudo dnf install gnome-shell-extension-pop-shell # ============================================================================== # General Utilities # ============================================================================== # Install KeepassXC Password Manager sudo dnf install keepassxc # Install Git sudo dnf install git # Install Alacritty Terminal # Use apt instead of dnf if on Debian based distro sudo dnf install alacritty mkdir ~/.config/alacritty wget -O ~/.config/alacritty/alacritty.toml https://pastebin.com/raw/A1G58t6f # Alacritty Themes mkdir -p ~/.config/alacritty/themes git clone https://github.com/alacritty/alacritty-theme ~/Downloads/alacritty_themes mv ~/Downloads/alacritty_themes/themes ~/.config/alacritty rm -rf ~/Downloads/alacritty_themes # ============================================================================== # Install Rofi Program launcher and themes # ============================================================================== sudo dnf install rofi # Make Rofi themes directory mkdir -p ~/.config/rofi/ mkdir -p ~/.local/share/rofi/themes/ # Clone Rofi theme collection and move to themes directory git clone https://github.com/lr-tech/rofi-themes-collection.git mv ./rofi-themes-collection/themes/*.rasi ~/.local/share/rofi/themes/ # Run Rofi Theme Selector # Find theme and press alt-a to select theme rofi-theme-selector # ============================================================================== # Install Ulauncher if using Gnome X-Org # ============================================================================== sudo dnf install ulauncher # Make Ulauncher themes directory mkdir -p ~/.config/ulauncher/user-themes/ # Clone ZorinBlue theme git clone https://github.com/NayamAmarshe/ulauncher-zorinBlueDark/ \ ~/.config/ulauncher/user-themes/zorin-blue-dark # Clone Eigen-Dark theme git clone https://github.com/sotsugov/ulauncher-eigen/ \ ~/.config/ulauncher/user-themes/eigen-dark # Clone Adwaita-Dark theme git clone https://github.com/gabrbrand/adwaita-dark-ulaucher.git \ ~/.config/ulauncher/user-themes/adwaita-dark-ulaucher # Clone Breeze-Dark theme git clone https://github.com/rifactor/breeze-dark-ulauncher \ ~/.config/ulauncher/user-themes/breeze-dark-ulauncher # Clone Matcha-Dark-Azul theme git clone https://github.com/DaveHigs/Matcha-Dark-Azul-ulauncher.git \ ~/.config/ulauncher/user-themes/Matcha-Dark-Azul-ulauncher # Clone Libadwaita-Dark theme git clone https://github.com/kareemkasem/ulauncher-theme-libadwaita-dark \ ~/.config/ulauncher/user-themes/libadwaita-dark # ============================================================================== # Install fonts for UI # ============================================================================== # Install San Francisco Display (default for UI) cd ~/Downloads wget -O SFUIDisplay.zip https://www.dafontfree.io/wp-content/uploads/download-manager-files/1601920060wpdm_San-Francisco.zip unzip SFUIDisplay.zip -d SFUIDisplay sudo cp -r ./SFUIDisplay/'San Francisco'/SFUIDisplay /usr/share/fonts/SFUIDisplay rm -rf ./SFUIDisplay SFUIDisplay.zip # Install Montserrat font sudo dnf install font-montserrat # ============================================================================== # Install monospace fonts # ============================================================================== # Install JetBrains Mono sudo dnf install -y jetbrains-mono-fonts-all # Install Hasklig font cd ~/Downloads wget -O Hasklig.zip https://github.com/i-tu/Hasklig/releases/download/v1.2/Hasklig-1.2.zip unzip Hasklig.zip -d Hasklig sudo cp -r ~/Downloads/Hasklig/OTF /usr/share/fonts/Hasklig rm -rf ~/Downloads/Hasklig Hasklig.zip # Install JetBrains Mono font (manual) wget -O JetBrainsMono.zip https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip unzip JetBrainsMono.zip -d JetBrains sudo cp -r ./JetBrains/fonts/ttf /usr/share/fonts/JetBrainsMono rm -rf ~/Downloads/JetBrains JetBrainsMono.zip # Install FiraCode font wget -O FiraCode.zip https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip unzip FiraCode.zip -d FiraCode sudo cp -r ./FiraCode/ttf /usr/share/fonts/FiraCode rm -rf ./FiraCode FiraCode.zip # Install SF-Mono font (default monospace) cd ~/Downloads wget -O SF-Mono.zip https://github.com/supercomputra/SF-Mono-Font/archive/refs/heads/master.zip unzip SF-Mono.zip -d SF-Mono sudo cp ./SF-Mono/SF-Mono-Font-master /usr/share/fonts/SF-Mono rm -rf ./SF-Mono SF-Mono.zip # ============================================================================== # Install Nerd Fonts # ============================================================================== # Code New Roman Nerd Font wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/CodeNewRoman.zip unzip CodeNewRoman.zip -d CodeNewRoman sudo cp -r ./CodeNewRoman /usr/share/fonts/CodeNewRoman rm -rf ./CodeNewRoman CodeNewRoman.zip # Hack Nerd Font wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/Hack.zip unzip Hack.zip -d Hack sudo cp -r ./Hack /usr/share/fonts/Hack rm -rf ./Hack Hack.zip # Meslo Nerd Font wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/Meslo.zip unzip Meslo.zip -d Meslo sudo cp -r ./Meslo /usr/share/fonts/Meslo rm -rf ./Meslo Meslo.zip # Recursive Nerd Font wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/Recursive.zip unzip Recursive.zip -d Recursive sudo cp -r ./Recursive /usr/share/fonts/Recursive rm -rf ./Recursive Recursive.zip # ============================================================================== # Programming # ============================================================================== # Install general programming utilities sudo dnf install -y clang golang cmake git meld # Install Sublime Text sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg # Stable for Fedora 41/dnf5 or newer sudo dnf config-manager addrepo --from-repofile=https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo sudo dnf install sublime-text # Install Visual Studio Code sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null dnf check-update sudo dnf install code # or code-insiders # Install VSCodium (open source VSCode) wget https://github.com/VSCodium/vscodium/releases/download/1.73.1.22314/codium-1.73.1.22314-el7.x86_64.rpm sudo dnf install codium-1.73.1.22314-el7.x86_64.rpm rm codium-1.73.1.22314-el7.x86_64.rpm # Install Geany sudo dnf install geany geany-plugins-addons geany-plugins-common geany-plugins-geanyctags geany-plugins-geanyvc \ geany-plugins-latex geany-themes geany-plugins-autoclose geany-plugins-codenav geany-plugins-git-changebar \ geany-plugins-lineoperations geany-plugins-markdown geany-plugins-overview # ============================================================================== # install curl, if necessary sudo dnf install curl # installs NVM (Node Version Manager) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # download and install Node.js nvm install 20 # verifies the right Node.js version is in the environment node -v # should print `v20.12.0` # verifies the right NPM version is in the environment npm -v # should print `10.5.0` # install yarn with npm sudo npm install yarn -g # install yarn using a bash script (preferred) curl -o- -L https://yarnpkg.com/install.sh | bash # Install Github CLI # Install from GH package repository for immediate access to latest releases: sudo dnf install 'dnf-command(config-manager)' sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo sudo dnf install gh --repo # Alternatively, install from the community repository sudo dnf install gh # Upgrade sudo dnf update gh # Install Docker curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh sudo usermod -aG docker $USER # ============================================================================== # Science, Math and Education # ============================================================================== # Install R programming language only sudo dnf install R # Install R programming language with dependencies sudo dnf install -y R-core R-core-devel R-java R-java-devel libRmath libRmath-devel # If you have trouble compiling, you may also require some or all of these packages. This is situational: sudo dnf install libcurl-devel openssl-devel harfbuzz-devel fribidi-devel freetype-devel libpng-devel libjpeg-turbo-devel # Install RStudio sudo dnf install -y rstudio-desktop # sudo dnf install -y julia sagemath scilab sudo dnf install -y julia # Essential packages for Jupyter Notebook sudo dnf install -y python3-notebook mathjax sscg # Install additional and optional Python modules commonly used by data scientists sudo dnf install -y python3-seaborn python3-lxml python3-basemap python3-scikit-image python3-scikit-learn python3-sympy python3-dask+dataframe python3-nltk # https://fedoramagazine.org/jupyter-and-data-science-in-fedora/ # https://www.redhat.com/sysadmin/install-jupyterlab-linux # Install Qalculate! - the ultimate desktop calculator sudo dnf install -y qalculate sudo dnf install texlive-scheme-full # ============================================================================== # Web Browsers # ============================================================================== # Install Waterfox Browser cd ~/Downloads wget https://github.com/WaterfoxCo/Waterfox/releases/download/G4.1.1.1/waterfox-G4.1.1.1.en-US.linux-x86_64.tar.bz2 # https://cdn1.waterfox.net/waterfox/releases/G5.1/Linux_x86_64/waterfox-G5.1.tar.bz2 tar -xvf waterfox-G4.1.1.1.en-US.linux-x86_64.tar.bz2 sudo mv waterfox /opt/ wget https://pastebin.com/raw/bYF8aqjr && sudo mv bYF8aqjr /usr/share/applications/Waterfox.desktop # Install Google Chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm sudo dnf install -y google-chrome-stable_current_x86_64.rpm # Install Brave Browser curl -fsS https://dl.brave.com/install.sh | sh # Install Chromium Browser sudo dnf install -y chromium