Files
cachyos-setup/README.md
T
2026-05-16 11:16:04 +02:00

7.2 KiB

🖥️ 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).

CachyOS GNOME Wayland


📋 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-recursively dump
  • 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