Wrigs icon

setup-fedora.sh

Wrigs | PRO | 05/26/25 07:59:42 PM UTC (Edited) | 0 ⭐ | 1279 👁️ | Never ⏰ | [fedora]
Bash |

12.32 KB

|

None

|

0 👍

/

0 👎

#!/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 <New_Custom_Name>
 
 
# ==============================================================================
# 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
 
 

Comments