sudo dnf update -y# Basic utilities
sudo dnf install -y util-linux coreutils findutils grep sed gawk
# Clear command and other basic tools
sudo dnf install -y ncurses which less
# Network tools
sudo dnf install -y net-tools iproute iputils wget curl
# Text editors
sudo dnf install -y vim
# EPEL repository (Extra Packages for Enterprise Linux)
sudo dnf install -y epel-release
# Process management
sudo dnf install -y htop lsof
# Install file utilities
sudo dnf install -y tree file# List available groups
dnf group list
# Install core system components
sudo dnf group install -y "Core" "Base"
# Install additional useful groups
sudo dnf group install -y "Development Tools"
sudo dnf group install -y "System Tools"
sudo dnf group install -y "Network Servers"If you want a GUI:
# GNOME (full desktop)
sudo dnf group install -y "GNOME Desktop Environment"
# Or XFCE (lightweight)
sudo dnf group install -y "Xfce Desktop"
# Enable graphical target
sudo systemctl set-default graphical.target# Enable and start chronyd for time synchronization
sudo systemctl enable --now chronyd
# Configure timezone
sudo timedatectl set-timezone America/New_York # Replace with your timezone# Create user
sudo useradd -m -G wheel yourusername
# Set password
sudo passwd yourusername
# Test sudo access
su - yourusername
sudo whoami# Update everything
sudo dnf update -y
# Clean package cache
sudo dnf clean all
# Reboot to ensure everything is working
sudo rebootAfter reboot, check that essential commands work:
clear
ls -la
htop
ip addr show
systemctl status# Install Zsh
sudo dnf install -y zsh
# Verify installation
zsh --version
which zsh
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Change default shell to zsh
chsh -s $(which zsh)# Install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Verify installation
brew --version
# Install ASDF
brew install asdf
# Give ping binary the required capability
sudo setcap cap_net_raw+p /usr/bin/pingThis step only for proxmox maintainer
- go to Node of your LXC/Container
- login to its shell
- run
vim /etc/pve/lxc/[LXC_ID].confe.gvim /etc/pve/lxc/105.conf - add these lines:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
- reboot the container
pct reboot [LXC_ID]
on Container side
# Install Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
# start Tailscale with ssh capability
tailscale up --ssh