Skip to content

Linux Dev Setup

A quick guide for setting up a Linux development machine from scratch.

Install Operating System

My operating system of choice is Fedora, like with any Linux operating system the ISO can be downloaded and burned to a USB as a Live CD.

When the Live CD is booted, do the following:

  • Click "Install to Hard Drive"
  • Select desired language
  • In Disk Selection
    • Select the disk to install to
    • Click "Free up space by removing or shrinking existing partitions"
    • Click "Encrypt my data"
    • Click Done
    • In the popup, click "Delete all" then "Reclaim space"

Setup Repositories

# Enable RPM Fusion
sudo dnf install \
  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

sudo dnf install \
  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# Install `dnf config-manager` to manage repos
sudo dnf install -y dnf-plugins-core

# Enable  HashiCorp repo
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo

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

Install Apps

# Packages
sudo dnf install -y \
    vim \
    htop \
    lm_sensors \
    restic \
    dotnet-sdk-6.0 \
    python3-pip \
    moby-engine \
    docker-compose \
    gnome-tweaks \
    VirtualBox

# Flatpaks
flatpak install com.mattjakeman.ExtensionManager

# Install multimedia libraries
sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel

sudo dnf install lame\* --exclude=lame-devel

sudo dnf group upgrade --with-optional Multimedia

There is also a few apps that aren't installed via the command line:

Configure Docker

# Create the docker group
sudo groupadd docker

# Add the current user to the group
sudo usermod -aG docker $USER

# Activate the changes to the group without needing to login and logout
newgrp docker

Install VS Code

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

dnf check-update
sudo dnf install code

Install Volta and Node.js

# Install Volta
curl https://get.volta.sh | bash

# Install Node
volta install node

# Install PNPM
npm i -g pnpm

Configure Git

git config --global user.name "<name>"

git config --global user.email "<email>"

GNOME Shell Extensions

Extensions can be installed using the Extension Manager app, which was installed in the above steps.

Install the following extensions:

  • Vitals by corecoding

DisplayLink on Fedora

Video Acceleration


Last update: August 12, 2023
Created: May 27, 2023