211 lines
7.2 KiB
Markdown
211 lines
7.2 KiB
Markdown
# 🖥️ 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).
|
|
|
|
[](https://cachyos.org/)
|
|
[](https://www.gnome.org/)
|
|
[](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 <packages>
|
|
```
|
|
|
|
### 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.
|
|
|
|
---
|
|
|
|
<sub>Generated on 2026-05-16 | CachyOS rolling | GNOME 50 | Wayland</sub>
|