# 🖥️ 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](https://img.shields.io/badge/OS-CachyOS-blue?logo=arch-linux)](https://cachyos.org/) [![GNOME](https://img.shields.io/badge/DE-GNOME-4E9A06?logo=gnome)](https://www.gnome.org/) [![Wayland](https://img.shields.io/badge/Display-Wayland-8CD16B)](https://wayland.freedesktop.org/) --- ## 📋 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](https://github.com/xiadnoring/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](https://extensions.gnome.org/extension/305/dash-to-dock/) | Customizable dock | | [Blur My Shell](https://extensions.gnome.org/extension/21/blur-my-shell/) | Blur effects | | [Just Perfection Desktop](https://extensions.gnome.org/extension/1748/just-perfection/) | UI fine-tuning | | [Space Bar](https://extensions.gnome.org/extension/1341/space-bar/) | macOS-like workspace switcher | | [AppIndicator](https://extensions.gnome.org/extension/657/appindicator/) | System tray support | | [User Theme](https://extensions.gnome.org/extension/19/user-theme/) | Allow custom GTK themes | | [Vicinae](https://extensions.gnome.org/extension/1879/vicinae/) | Window management | | [Quake Terminal](https://extensions.gnome.org/extension/1144/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](https://vencord.dev/) 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 ```bash # Enable paru (AUR helper) sudo pacman -Syu git # Install paru following CachyOS wiki instructions # https://wiki.cachyos.org/enable-aur/ ``` ### 3. Install Packages ```bash # See snapshots/pacman-packages.txt for the full list sudo pacman -S ``` ### 4. Install Flatpaks ```bash 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 ```bash # 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 ```bash 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 ```bash # 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 ```bash # Import gsettings from snapshot cd ~/cachyos-setup/snapshots/latest # Apply gsettings values from gsettings-dump.txt manually ``` ### 9. Run Snapshot to Verify ```bash 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