Skip to content

Instantly share code, notes, and snippets.

@dogukancagatay
Last active July 31, 2024 09:24
Show Gist options
  • Save dogukancagatay/142cd3f9065e660b279d618281199d59 to your computer and use it in GitHub Desktop.
Save dogukancagatay/142cd3f9065e660b279d618281199d59 to your computer and use it in GitHub Desktop.
First steps fedora 40

Fedora First Steps

Enable RPMFusion repositories

sudo dnf install -y 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

Essential Apps

sudo dnf install -y neovim git htop podman tree autojump

Desktop apps

  • Install Google Chrome
sudo dnf install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
  • Install 1password
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
sudo sh -c 'echo -e "[1password]\nname=1Password Stable Channel\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=\"https://downloads.1password.com/linux/keys/1password.asc\"" > /etc/yum.repos.d/1password.repo'

sudo dnf install -y 1password

Documentation: https://support.1password.com/install-linux/#fedora-or-red-hat-enterprise-linux

Flatpak Apps

TBD

Gnome Extensions

sudo dnf install -y \
    gnome-shell-extension-caffeine \
    gnome-shell-extension-dash-to-dock \
    gnome-shell-extension-appindicator \
    gnome-shell-extension-openweather
sudo dnf install -y gnome-tweaks

Install Gnome extension manager.

flatpak install flathub com.mattjakeman.ExtensionManager

Other Apps

  • Install ZSH
sudo dnf install -y zsh && sudo chsh --shell $(which zsh) $USER
  • Install SDKMan Usage docs.
curl -s "https://get.sdkman.io" | bash
  • Install Java versions and Maven
curl -s "https://get.sdkman.io" | bash

Install Java versions

sdk list java
sdk install java 8.0.422-tem
sdk install java 11.0.24-tem
sdk install java 17.0.12-tem
sdk install java 21.0.4-tem 
sdk install maven 3.9.8
  • Install ohmyzsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended

# OR

git clone --depth 1 https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
  • Install vscode
curl -fsSL -o /tmp/vscode.rpm 'https://code.visualstudio.com/sha/download?build=stable&os=linux-rpm-x64' && sudo dnf install -y /tmp/vscode.rpm
  • Install virtualization
sudo dnf install -y @virtualization
sudo systemctl enable --now libvirtd
  • Jetbrains Toolbox

Installation guide: Alternative script:

ARCHIVE_URL=$(curl -s 'https://data.services.jetbrains.com/products/releases?code=TBA&latest=true&type=release' | grep -Po '"linux":.*?[^\\]",' | awk -F ':' '{print $3,":"$4}'| sed 's/[", ]//g')
curl -fsSL "$ARCHIVE_URL" -o /tmp/jetbrains-toobox.tar.gz
sudo tar -xzf /tmp/jetbrains-toobox.tar.gz -C /opt
echo 'export PATH="$HOME/.local/share/JetBrains/Toolbox/scripts:$PATH"' >> .zshrc
/opt/jetbrains-toolbox/jetbrains-toolbox
  • Install Github CLI
sudo dnf install -y 'dnf-command(config-manager)'
sudo dnf config-manager -y --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install -y gh --repo gh-cli
  • Install lazygit
sudo dnf copr enable atim/lazygit -y
sudo dnf install -y lazygit
  • Install pyenv
# Requirements
sudo dnf install -y make gcc patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel libuuid-devel gdbm-libs libnsl2
curl https://pyenv.run | bash

Add the following to your .bashrc or .zshrc.

# Load pyenv automatically
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Load pyenv-virtualenv automatically
eval "$(pyenv virtualenv-init -)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment