Skip to content

Fedora Setup

This is an automation script for fedora

  1. Prepare the script e.g. fedora_setup.sh
  2. Make it executable
Terminal window
chmod +x fedora_setup.sh
3. Run the script
```bash
./fedora_setup.sh
> **Warning**
> >I have assumes a clean environment and did not handles any error so use it carefully
> **Note**
> >PS this is the first iteration I'll test this script and keep improving it.
1. fedora_setup.sh
```bash
#!/bin/bash

sudo dnf update -y sudo dnf upgrade -y

sudo dnf install -y —skip-unavailable
google-chrome-stable
firefox
vlc
gnome-tweaks
timeshift
git
curl
zsh
code

sudo flatpak remote-add —if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

curl —proto ‘=https’ —tlsv1.2 -sSf https://sh.rustup.rs | sh -s — -y source “$HOME/.cargo/env”

sudo rpm —import https://releases.warp.dev/linux/keys/warp.asc sudo sh -c ‘echo -e “[warpdotdev]\nname=Warp Terminal\nbaseurl=https://releases.warp.dev/linux/rpm/stable\nenabled=1\ngpgcheck=1\ngpgkey=https://releases.warp.dev/linux/keys/warp.asc” > /etc/yum.repos.d/warpdotdev.repo’ sudo dnf install -y warp-terminal

/bin/bash -c ”$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” echo ‘eval ”$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)”’ >> ~/.bash_profile eval ”$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)“

Install NVM, Node.js, PNPM, Yarn, Corepack

Section titled “Install NVM, Node.js, PNPM, Yarn, Corepack”

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash export NVM_DIR=“$HOME/.nvm” source “$NVM_DIR/nvm.sh” nvm install —lts corepack enable corepack install -g pnpm yarn corepack

ssh-keygen -t ed25519 -C “shishirchaurasiya435@gmail.com” -f ~/.ssh/id_ed25519 -N "" eval ”$(ssh-agent -s)” ssh-add ~/.ssh/id_ed25519 echo “SSH public key:” cat ~/.ssh/id_ed25519.pub

sh -c ”$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)“

chsh -s $(which zsh)

Configure GNOME Terminal to use Zsh by default

Section titled “Configure GNOME Terminal to use Zsh by default”

PROFILE_ID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d ’) gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$PROFILE_ID/ login-shell false gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$PROFILE_ID/ use-custom-command true gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$PROFILE_ID/ custom-command ‘/usr/bin/zsh’

curl -fsSL https://ollama.com/install.sh | sh

sudo systemctl enable ollama sudo systemctl start ollama

sudo dnf autoremove -y sudo dnf clean all

echo “All applications have been installed and configured successfully!” echo “Please reboot your system to ensure all changes take effect.”