diff --git a/README.md b/README.md new file mode 100644 index 0000000..fed8959 --- /dev/null +++ b/README.md @@ -0,0 +1,210 @@ +# 🖥️ 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