Skip to content

Instantly share code, notes, and snippets.

@El0quenz
Created May 13, 2025 23:01
Show Gist options
  • Select an option

  • Save El0quenz/329901e0049a5b0013bccd8d86b55c2c to your computer and use it in GitHub Desktop.

Select an option

Save El0quenz/329901e0049a5b0013bccd8d86b55c2c to your computer and use it in GitHub Desktop.
Ultra-Slim Arch Setup for Gaming (NVIDIA 3080 Ti, DWM, Heroic, Proton-GE)
#!/bin/bash
# Ultra-Slim Arch Setup for Gaming (NVIDIA 3080 Ti, DWM, Heroic, Proton-GE)
# Run as regular user *after* base Arch install and login
set -e
# === 1. Base X + NVIDIA + DWM Install ===
sudo pacman -Syu --noconfirm
sudo pacman -S --noconfirm \
base-devel git xorg xorg-xinit \
nvidia nvidia-utils nvidia-settings \
alacritty dmenu picom st pulseaudio pavucontrol \
dunst pulsemixer lxappearance neofetch htop unzip
# === 2. Build & Install dwm, st, dmenu ===
mkdir -p ~/builds && cd ~/builds
for repo in dwm st dmenu; do
git clone https://git.suckless.org/$repo
cd $repo
make
sudo make install
cd ..
done
# === 3. Autologin Setup ===
sudo mkdir -p /etc/systemd/system/[email protected]
cat <<EOF | sudo tee /etc/systemd/system/[email protected]/override.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin $USER --noclear %I \$TERM
EOF
# === 4. Autostart X ===
cat <<EOF >> ~/.bash_profile
[[ -z \$DISPLAY && \$XDG_VTNR -eq 1 ]] && exec startx
EOF
echo "exec dwm" > ~/.xinitrc
# === 5. Install yay + Heroic ===
git clone https://aur.archlinux.org/yay.git ~/yay && cd ~/yay && makepkg -si --noconfirm
yay -S --noconfirm heroic-games-launcher-bin
# === 6. Proton-GE Install ===
mkdir -p ~/.config/heroic/tools/wine
cd ~/.config/heroic/tools/wine
# Download and extract GE-Proton (latest or preferred version)
# You can automate this with wget if you know the version URL
# Example (Proton GE 8-33):
wget https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-33/GE-Proton8-33.tar.gz
# Extract
[ -f GE-Proton8-33.tar.gz ] && tar -xvzf GE-Proton8-33.tar.gz
# === 7. Create picom.conf ===
mkdir -p ~/.config/picom
cat <<EOF > ~/.config/picom/picom.conf
backend = "glx";
vSync = true;
shadow = true;
shadow-radius = 5;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-opacity = 0.7;
fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-delta = 4;
corner-radius = 8;
opacity-rule = [
"100:class_g = 'Alacritty'",
"100:class_g = 'dmenu'"
];
glx-no-stencil = true;
glx-copy-from-front = false;
glx-use-copysubbuffermesa = true;
EOF
# === 8. Create dwm autostart (picom, dunst, etc) ===
mkdir -p ~/.dwm
cat <<EOF > ~/.dwm/autostart.sh
#!/bin/sh
picom --config ~/.config/picom/picom.conf &
dunst &
EOF
chmod +x ~/.dwm/autostart.sh
# Modify dwm config to call autostart script
if ! grep -q autostart ~/.xinitrc; then
echo "~/.dwm/autostart.sh &" >> ~/.xinitrc
fi
# === Done ===
echo "\n✅ Setup Complete. Reboot and launch Heroic to install Cyberpunk."
echo "Check VRAM with: watch -n 1 nvidia-smi"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment