Skip to content

Instantly share code, notes, and snippets.

@alexolinux
Last active February 6, 2024 23:11
Show Gist options
  • Save alexolinux/723fdf0e2e127fdaad5f61231777ab81 to your computer and use it in GitHub Desktop.
Save alexolinux/723fdf0e2e127fdaad5f61231777ab81 to your computer and use it in GitHub Desktop.
fedora-post_installation.md

Fedora Workstation: Post Installation


This customization aims to become my Linux environment more elegant and more productive. Includes the most important DevOps tools.

RPM Fusion Configuration Extra 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

Installing util tools

sudo dnf install -y gcc gcc-c++ make automake autoconf \
  vim-enhanced dnf-utils util-linux-user util-linux xclip \
  zsh whois nmap python3-pip python3-virtualenv tilix vlc \
  gnome-tweaks gnome-shell-extension-common gnome-shell-extension-dash-to-dock gnome-extensions-app

[ZSH] >> [OH MyZSH] >> [powerlevel10k]

ZSH Environment: Installing ZSH + oh-my-zsh + Powerlevel10k

ZSH Environment

chsh -s SHELL USERNAME

sudo chsh -s /usr/bin/zsh $USERNAME 

Oh My Zsh

Oh My ZSH

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

Powerlevel10k

powerlevel10k

  • Install
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
  • Setting powerlevel10k
  1. Replace the ZSH_THEME in .zshrc:
vim ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"
:wq
source ~/.zshrc
  1. Customize according to preferences.

ZSH - Enabling Plugins (zsh-autosuggestions & zsh-syntax-highlighting)

  1. Download/enable zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
  1. Download/enable zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
  1. Add plugins to ZSH Environment
vim ~/.zshrc

plugins=(git
          zsh-autosuggestions
          zsh-syntax-highlighting)
  1. Reopen terminal

Dash to Dock Installation

  1. Option 01 (dnf repository):
sudo dnf -y install gnome-tweaks gnome-shell-extension-common gnome-shell-extension-dash-to-dock
  1. Alternative Option 02 (by compilation):
dnf install gcc gcc-c++ automake autoconf
dnf install sassc
git clone https://github.com/frantisekz/dash-to-dock.git
cd dash-to-dock
git switch fzatlouk/gnome-41
make
make install

My GNOME Extensions:

  • Applications Menu
  • User Themes
  • Launch new instance
  • Places Status Indicator
  • Frippery Move Clock
  • Coverflow Alt-Tab
  • Dash2Dock Animated
  • Screenshot Tool
  • Compiz alike magic lamp effect
  • Net speed Simplified
  • Logo Menu
  • Quick Setting Tweaker
  • Blur my Shell
  • Gnome 4x UI Improvements

Web Browsers

Opera Browser

sudo rpm --import https://rpm.opera.com/rpmrepo.key

/etc/yum.repos.d/opera.repo

[opera]
name=Opera packages
type=rpm-md
baseurl=https://rpm.opera.com/rpm
gpgcheck=1
gpgkey=https://rpm.opera.com/rpmrepo.key
enabled=1
sudo dnf -y install opera-stable

Brave Browser

sudo dnf -y install dnf-plugins-core && \
sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/ && \
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc && \
sudo dnf -y install brave-browser

Vivaldi Browser

sudo dnf config-manager --add-repo https://repo.vivaldi.com/archive/vivaldi-fedora.repo && \
sudo dnf -y install vivaldi-stable

Sublime Text

sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg && \
sudo dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo && \
sudo dnf install -y sublime-text

Sublime Text: Plugins/Themes

sublime-text-plugins

  1. Package Control
    • Open the command palette: ctrl+shift+p Type 'Install Package Control', press enter

VSCode

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' && \
sudo dnf check-update && \
sudo dnf install -y code

Docker

  1. Add the Docker CE repository to Fedora
sudo dnf -y install dnf-plugins-core
sudo tee /etc/yum.repos.d/docker-ce.repo<<EOF
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://download.docker.com/linux/fedora/37/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
EOF
  1. Install Docker CE
sudo dnf makecache && \
sudo dnf install -y docker-ce docker-ce-cli containerd.io
  1. User permission on Docker
sudo usermod -aG docker $(whoami) && \
newgrp docker
  1. Start/Enable Docker Daemon
sudo systemctl enable --now docker

K3s (Kubernetes HomeLab)

curl -sfL https://get.k3s.io | sh - && \
sudo k3s kubectl get nodes

K3s Extra configuration (if necessary)

cp -piv /etc/rancher/k3s/k3s.yaml /home/ext.alex.barbosa/.kube/config

K3s Docummentation

K3d Installation

curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash

K3s Docummentation

Terraform

sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo && \
sudo dnf install -y terraform

Terraform Docummentation

Packer

sudo dnf install -y dnf-plugins-core && \
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo && \
sudo dnf -y install packer

Vagrant

sudo dnf install -y dnf-plugins-core && \
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo && \
sudo dnf -y install vagrant

Ansible

sudo dnf install -y ansible

AWS CLI v2

mkdir /tmp/apps && cd /tmp/apps && \
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
sudo ./aws/install

AZURE az cli

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo echo -e "[azure-cli]
name=Azure CLI
baseurl=https://packages.microsoft.com/yumrepos/azure-cli
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/azure-cli.repo
sudo dnf install azure-cli

serverless framework

getting-started

PostgreSQL

postgresql-12-on-fedora

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/F-35-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Oracle MySQL

mysql-8-on-fedora

dnf -y install https://dev.mysql.com/get/mysql80-community-release-fc35-1.noarch.rpm

MySQL Only client Installation:

dnf install community-mysql

DBeaver-ce

sudo dnf copr enable copart/dbeaver && \
sudo dnf install dbeaver-ce

Go (Golang)

  1. To install the Go tools, type on a terminal:
sudo dnf install golang

The go and gofmt binaries will become available on the system.

  1. Go code lives in a workspace which is defined by the GOPATH environment variable. A common choice among developers, and the default value of GOPATH starting from the Go 1.8 release, is to use $HOME/go:
mkdir -p $HOME/go && \
echo 'export GOPATH=$HOME/go' >> $HOME/.zshrc && \
source $HOME/.zshrc
  1. Check that GOPATH is set correctly with this command:
go env GOPATH

/home/$USER/go

Where ‘$USER’ will be your user name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment