a1f8d5b99100bf8b314f9bf3250d494740dad6c2
🖥️ CachyOS Setup
Clean install configuration snapshot for my CachyOS (Arch-based) workstation. Use this to recreate the same setup on another machine (e.g. laptop).
📋 Overview
This repository captures the full state of my CachyOS installation: packages, themes, GNOME extensions, settings, and custom configurations. It serves as a reference for reproducible clean installs.
🖼️ Current Setup
| Component | Details |
|---|---|
| OS | CachyOS Linux (rolling) |
| Kernel | CachyOS (BFS scheduler) |
| Desktop | GNOME 50 (Wayland) |
| Display Server | Wayland (wayland-0) |
| Shell | GNOME Shell 50.1 |
🎨 Theme
- GTK Theme: Adwaita (base)
- Custom overlay: macos-like-window-controls — macOS-style traffic light buttons on GTK headerbars
- WhiteSur Dark theme family installed (for reference)
- Extensions: 8 custom GNOME Shell extensions installed
🔧 GNOME Extensions
| Extension | Purpose |
|---|---|
| Dash to Dock | Customizable dock |
| Blur My Shell | Blur effects |
| Just Perfection Desktop | UI fine-tuning |
| Space Bar | macOS-like workspace switcher |
| AppIndicator | System tray support |
| User Theme | Allow custom GTK themes |
| Vicinae | Window management |
| Quake Terminal | Drop-down terminal |
| macOS-buttons (local) | macOS traffic light window buttons (custom) |
💬 Discord + Vencord
- Client: Discord via Flatpak (
com.discordapp.Discord) - Mod: Vencord patched
- Vencord CLI installer used to patch the Flatpak install
📦 Package Count
- Total packages: ~1258
- Auto-installed (deps): ~224
- Flatpak apps: Steam (Proton-GE), Rewaita
- AUR helper: paru
📁 Repository Structure
cachyos-setup/
├── snapshot.sh # Run to capture a new snapshot
├── snapshots/ # Timestamped snapshots
│ └── 2026-05-16_10-45-15/ # Latest snapshot
│ ├── pacman-packages.txt # All installed packages
│ ├── flatpak-list.txt # Flatpak apps & remotes
│ ├── gnome-extensions.txt # Enabled extensions
│ ├── gsettings-dump.txt # Complete gsettings state
│ ├── gnome-shell-settings.txt # Shell-specific settings
│ ├── theme-config.txt # GTK themes & CSS
│ ├── shortcuts.txt # Keyboard shortcuts
│ ├── display-config.txt # xrandr / monitor layout
│ └── system-info.txt # OS, kernel, GPU, RAM
└── extension/ # macOS-buttons GNOME Shell extension
├── extension.js
├── stylesheet.css
└── metadata.json
🔄 Reinstall Guide
1. Install CachyOS
Install CachyOS on the target machine (laptop).
2. Basic Setup
# Enable paru (AUR helper)
sudo pacman -Syu git
# Install paru following CachyOS wiki instructions
# https://wiki.cachyos.org/enable-aur/
3. Install Packages
# See snapshots/pacman-packages.txt for the full list
sudo pacman -S <packages>
4. Install Flatpaks
sudo pacman -Syu flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.discordapp.Discord -y
flatpak install flathub com.valvesoftware.Steam.CompatibilityTool.Proton-GE -y
flatpak install flathub io.github.swordpuffin.rewaita -y
5. Apply Theme
# GTK CSS for macOS-style window buttons
mkdir -p ~/.config/gtk-3.0 ~/.config/gtk-4.0 ~/.config/macos-like-window-controls/src
# The CSS files are in the macos-like-window-controls GitHub repo
# https://github.com/xiadnoring/macos-like-window-controls
# gtk-3.0/gtk.css
echo '@import "../macos-like-window-controls/src/gtk-3.0.css";' > ~/.config/gtk-3.0/gtk.css
# gtk-4.0/gtk.css
echo '@import "../macos-like-window-controls/src/gtk-4.0.css";' > ~/.config/gtk-4.0/gtk.css
# Flatpak theme access
sudo flatpak override --filesystem=xdg-config/gtk-3.0
sudo flatpak override --filesystem=xdg-config/gtk-4.0
sudo flatpak override --filesystem=xdg-config/macos-like-window-controls
6. Install Vencord
curl -L -o /tmp/VencordInstallerCli-linux https://github.com/Vendicated/VencordInstaller/releases/latest/download/VencordInstallerCli-linux
chmod +x /tmp/VencordInstallerCli-linux
/tmp/VencordInstallerCli-linux -install -location ~/.config/discord
7. GNOME Extensions
# Enable extensions via extensions.gnome.org or manual install
gnome-extensions enable dash-to-dock@micxgx.gmail.com
gnome-extensions enable blur-my-shell@aunetx
gnome-extensions enable just-perfection-desktop@just-perfection
gnome-extensions enable space-bar@luchrioh
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com
gnome-extensions enable vicinae@dagimg-dot
gnome-extensions enable quake-terminal@diegodario88.github.io
gnome-extensions enable user-theme@gnome-shell-extensions.gcampax.github.com
# Copy macOS-buttons extension from this repo
cp -r extension/* ~/.local/share/gnome-shell/extensions/macos-buttons@lago/
gnome-extensions enable macos-buttons@lago
8. Apply Settings
# Import gsettings from snapshot
cd ~/cachyos-setup/snapshots/latest
# Apply gsettings values from gsettings-dump.txt manually
9. Run Snapshot to Verify
cd ~/cachyos-setup
./snapshot.sh
# Compare new snapshot with original
📸 Snapshots
Each snapshot captures:
- Packages — Full pacman package list (all + auto-installed)
- Flatpak — Apps, remotes, and overrides
- Extensions — Enabled GNOME Shell extensions
- GSettings — Complete
gsettings list-recursivelydump - Shell Settings — GNOME Shell & Dash-to-Dock specific settings
- Theme — GTK theme config and CSS files
- Shortcuts — Keyboard shortcuts and media keys
- Display — Monitor layout via xrandr
- System Info — OS, kernel, GPU, RAM, CPU
Run ./snapshot.sh anytime to create a new timestamped snapshot.
📝 Notes
- Wayland limitation: GNOME Shell window decorations are drawn by the compositor, so GTK CSS only affects client-side decorated (CSD) apps (file manager, text editor, etc.).
- No X11: GNOME 50 requires Wayland; no Xorg session available.
- Theme overlay: Uses CSS overlay on top of Adwaita, not a full theme replacement.
Generated on 2026-05-16 | CachyOS rolling | GNOME 50 | Wayland
Description
Languages
Shell
89.6%
CSS
7.6%
JavaScript
2.8%