Skip to content

Instantly share code, notes, and snippets.

@kmorope
Last active August 16, 2024 13:32
Show Gist options
  • Save kmorope/741c6ff7be28158685da92bd4f55de22 to your computer and use it in GitHub Desktop.
Save kmorope/741c6ff7be28158685da92bd4f55de22 to your computer and use it in GitHub Desktop.
Fedora Post Install Personal Setup

Fedora Post Install

DNF Configs

  • sudo nano /etc/dnf/dnf.conf
[main] 
gpgcheck=1 
installonly_limit=3 
clean_requirements_on_remove=True 
best=False 
skip_if_unavailable=True 
max_parallel_downloads=10 
deltarpm=true
defaultyes=True

RPM Fusion Repos

  • 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

Update

  • sudo dnf -y update
  • sudo dnf -y upgrade --refresh

Firmware

sudo fwupdmgr refresh --force
sudo fwupdmgr get-devices # Lists devices with available updates.
sudo fwupdmgr get-updates # Fetches list of available updates.
sudo fwupdmgr update

Media Codecs

sudo dnf swap 'ffmpeg-free' 'ffmpeg' --allowerasing
sudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin 
sudo dnf update @sound-and-video
sudo dnf install Multimedia

H/W Video Acceleration

  • sudo dnf install ffmpeg ffmpeg-libs libva libva-utils
Intel
  • sudo dnf swap libva-intel-media-driver intel-media-driver --allowerasing

OpenH264 for Firefox

  • sudo dnf config-manager --set-enabled fedora-cisco-openh264
  • sudo dnf install -y openh264 gstreamer1-plugin-openh264 mozilla-openh264
  • After this enable the OpenH264 Plugin in Firefox's settings.

Set Hostname

  • hostnamectl set-hostname Cami-Laptop

Optimizations

Disable Mitigations

  • sudo grubby --update-kernel=ALL --args="mitigations=off"

Modern Standby

  • sudo grubby --update-kernel=ALL --args="mem_sleep_default=s2idle"

Disable NetworkManager-wait-online.service

  • sudo systemctl disable NetworkManager-wait-online.service

Disable Gnome Software from Startup Apps

  • sudo rm /etc/xdg/autostart/org.gnome.Software.desktop

Apps

Dev Essentials

sudo dnf group install "C Development Tools and Libraries" "Development Tools"

Base Apps

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 copr enable atim/lazygit -y

sudo dnf install -y unzip p7zip p7zip-plugins unrar git zsh util-linux-user curl wget cmake gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel ripgrep fd-find fzf eza lazygit 1password 1password

Oh My zsh

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

Brew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

PyEnv

curl https://pyenv.run | bash

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

Bun

curl -fsSL https://bun.sh/install | bash

Github CLI

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 gh-cli

NeoVim

sudo dnf install -y neovim python3-neovim

LazyVim

git clone https://github.com/LazyVim/starter ~/.config/nvim/

rm -rf ~/.config/nvim/.git

OhMyPosh

brew install jandedobbeleer/oh-my-posh/oh-my-posh

Font Install

oh-my-posh font install meslo
oh-my-posh font install hack
oh-my-posh font install firacode

Setup zsh

First Install Plugins

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

Config ZSH

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

eval "$(oh-my-posh init zsh --config $(brew --prefix oh-my-posh)/themes/dracula.omp.json)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment