Claude_Homelab/cachy-overview.md

245 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Main Desktop — CachyOS Overview
> Last updated: 2026-07-11
---
## System
| Property | Value |
|---|---|
| **Distro** | CachyOS (base: Arch Linux) |
| **Kernel** | 7.0.10-2-cachyos (also has LTS: 6.18.33-2) |
| **Desktop** | KDE Plasma 6.6.5 (Wayland / kwin_wayland) |
| **Display Server** | Wayland + Xwayland 24.1.11 |
| **Init** | systemd v260 |
| **Shell** | fish 4.7.1 |
| **Terminal** | Konsole |
| **Boot Mode** | UEFI / EFI |
| **Kernel Params** | `quiet nowatchdog splash rw rootflags=subvol=/@` |
---
## Hardware
### CPU
| Property | Value |
|---|---|
| **Model** | Intel Core i7-13700K (13th Gen, Raptor Lake) |
| **Cores / Threads** | 16 cores / 24 threads (8P + 8E) |
| **Max Boost** | 5.3 GHz (P-cores) / 4.2 GHz (E-cores) |
| **Process** | Intel 7 (10nm) |
| **Cache** | L1: 1.4 MB, L2: 24 MB, L3: 30 MB |
| **Virtualization** | VMX enabled |
| **Governor** | powersave (intel_pstate) |
### Memory
| Property | Value |
|---|---|
| **Total** | 32 GB |
| **Used (at capture)** | ~4.65 GB (15%) |
| **Swap** | 31 GB zram (zstd, priority 100) |
| **Swappiness** | 150 |
### GPU
| Property | Value |
|---|---|
| **Model** | NVIDIA GeForce RTX 4060 Ti |
| **VRAM** | 8 GB |
| **Driver** | nvidia 610.43.03 |
| **Architecture** | Lovelace (AD106, TSMC 5nm) |
| **APIs** | OpenGL 4.6, Vulkan 1.4.350, EGL 1.5 |
| **PCIe** | Gen 4 x8 |
| **Vendor** | ASUSTeK |
### Display
| Property | Value |
|---|---|
| **Monitor** | Xiaomi Mi Monitor (34", ultrawide) |
| **Resolution** | 3440×1440 @ 144 Hz |
| **Connection** | DisplayPort (DP-3) |
| **DPI** | 110 |
### Motherboard
| Property | Value |
|---|---|
| **Model** | ASUS ROG STRIX B760-I GAMING WIFI |
| **Firmware** | UEFI AMI v1662 (2024-08-07) |
### Storage
| Device | Model | Size | Filesystem | Mount |
|---|---|---|---|---|
| `/dev/nvme0n1` | Samsung 970 EVO Plus 1TB | 931.5 GB | btrfs (subvols) | `/`, `/home`, `/var/log`, `/var/tmp` |
| `/dev/nvme0n1p1` | EFI partition | 4 GB | vfat | `/boot` |
| `/dev/sda` | Verbatim STORE N GO | 14.5 GB | — | USB drive |
- **Total used:** 33.73 GB / 927.5 GB (3.6%)
- **Btrfs subvolume layout:** `/@` for root, shared partition for home/logs/tmp
### Network
| Device | Type | Driver | Status |
|---|---|---|---|
| Intel I226-V (enp5s0) | 2.5GbE Ethernet | igc | **Up** @ 1000 Mbps |
| Intel AX211 (wlan0) | WiFi 6E | iwlwifi | Down |
| Intel AX211 Bluetooth | BT 5.4 | btusb | Up |
### Audio
- Intel Raptor Lake HDA + NVIDIA AD106M HDA
- PipeWire 1.6.6 (with pipewire-pulse + wireplumber)
---
## Software
### Package Manager
| PM | Count |
|---|---|
| pacman (total) | 1590 packages |
| pacman (explicitly installed) | 239 |
| flatpak | 15 apps |
| **Total** | **1605** |
### Key Applications
| Category | Apps |
|---|---|
| **Browser** | Brave |
| **File Manager** | Dolphin |
| **Text Editor** | Kate, Micro, Nano, Vim |
| **Terminal** | Konsole, Alacritty |
| **Media** | VLC, Haruna, Jellyfin (server on homelab) |
| **Graphics** | GIMP 3.2, Krita 6.0, Inkscape 1.4 |
| **3D / CAD** | Blender 5.1, FreeCAD 1.1 |
| **3D Printing** | Bambu Studio (Flatpak, `com.bambulab.BambuStudio`) |
| **Video Editing** | Kdenlive 26.04 |
| **Screen Recording** | OBS Studio 32.1 |
| **Notes** | Obsidian 1.12 |
| **IDE** | VSCodium (native, via AUR `vscodium-bin`) + Claude Code 2.1.173 extension |
| **Containers** | Docker 29.5 + docker-compose |
| **AUR Helper** | paru 2.1 |
| **Automation** | n8n (on homelab) |
| **Theming** | CachyOS Nord KDE, CachyOS Emerald KDE, CachyOS Iridescent KDE |
| **KWin Scripts** | Mouse Tiler |
| **Productivity** | Kara |
### Compilers & Runtimes
| Tool | Version |
|---|---|
| clang | 22.1.5 |
| gcc | 16.1.1 |
| python | 3.14.5 |
| nodejs | 26.1.0 |
| npm | 11.16.0 |
> npm global prefix: `~/.npm-global` (added to fish PATH via `fish_add_path`)
> Claude Code CLI installed globally: `~/.npm-global/bin/claude`
### Enabled Services
| Service | Purpose |
|---|---|
| NetworkManager | Network management |
| systemd-resolved | DNS resolution |
| bluetooth | Bluetooth |
| docker.socket | Docker daemon |
| ufw | Firewall |
| avahi-daemon | mDNS/zeroconf |
| snapper-cleanup.timer | Btrfs snapshot cleanup |
| fstrim.timer | SSD TRIM |
| ananicy-cpp | CPU/IO process priority |
| intel_lpmd | Intel low power mode daemon |
| plasmalogin | KDE login manager |
### Btrfs & Snapshots
- Snapper configured with `cachyos-snapper-support`
- `limine-snapper-sync` for bootloader snapshot sync
- `btrfs-assistant` GUI available
---
## Kernel & Boot
| Property | Value |
|---|---|
| **Active kernel** | linux-cachyos 7.0.10-2 |
| **LTS kernel** | linux-cachyos-lts 6.18.33-2 |
| **NVIDIA module** | linux-cachyos-nvidia-open 7.0.10-2 |
| **Bootloader** | Limine 12.3 |
| **Intel microcode** | 20260512 |
---
## Keyboard Customisation
### AltGr+P → `'` (apostrophe) remap
The default Slovak (`sk`) xkb layout inherits `þ` on AltGr+P from the `latin` include. Fixed via a custom xkb user variant.
**Files:**
- `~/.config/xkb/symbols/sk` — custom variant file (named `sk`, not `sk_custom`, because libxkbcommon looks up variants by layout filename)
- `~/.config/xkb/rules/evdev.xml` — local copy of system evdev.xml with `sk_custom` variant registered
- `~/.config/xkb/rules/evdev` — local copy of system evdev rules file
- `~/.config/kxkbrc` — KDE keyboard config pointing to `LayoutList=sk`, `VariantList=sk_custom`
**`~/.config/xkb/symbols/sk` content:**
```
partial alphanumeric_keys
xkb_symbols "sk_custom" {
include "sk(basic)"
key <AD10> { [ p, P, apostrophe, NoSymbol ] };
};
```
**Gotchas:**
- `setxkbmap` and `XKB_CONFIG_ROOT` do not work on Wayland — changes must go through `~/.config/xkb/`
- The symbols file must be named after the layout (`sk`), not the variant (`sk_custom`) — libxkbcommon looks up variants inside the layout file
- `include "sk"` causes infinite recursion when the file is named `sk` — use `include "sk(basic)"` instead
- KDE reads `~/.config/xkb/`, not `~/.xkb/`
- keyd was tested but doesn't work cleanly with non-US layouts on Wayland without switching the display server to US layout
---
## Troubleshooting
### Bambu Studio (Flatpak) — model/build plate not rendering after NVIDIA driver update
**Symptom:** Bambu Studio opens fine but the build plate and any loaded model are invisible/blank. Happened twice — once tied to a broken Flatpak install requiring a full reinstall, and again purely from a driver version mismatch.
**Root cause (recurring pattern):** The Flatpak runtime bundles its own NVIDIA GL extension (`org.freedesktop.Platform.GL.nvidia-XXX`), which must exactly match the host NVIDIA driver version (down to the patch digit). CachyOS is rolling-release, so `nvidia-smi` driver version drifts ahead of the installed Flatpak extension after routine system updates — this silently breaks EGL/DRI2 initialization (`failed to create dri2 screen`, `driver (null)` in logs), even though nothing about Bambu Studio itself changed.
**Diagnosis:**
```bash
# Host driver version
nvidia-smi --query-gpu=driver_version --format=csv,noheader
# Installed Flatpak NVIDIA GL extension
flatpak list | grep nvidia
```
If these two versions don't match exactly (e.g. host `610.43.03` vs Flatpak extension `610-43-02`), that's the cause.
**Fix:**
```bash
flatpak install org.freedesktop.Platform.GL.nvidia-<matching-version>
```
Then fully quit and relaunch Bambu Studio (a reboot isn't required, but doesn't hurt).
**If Flathub hasn't published the matching extension version yet:** switch off Flatpak entirely and use the AUR binary instead, which uses the host driver directly and avoids this whole class of bug on future driver updates:
```bash
paru -S bambu-studio-bin
```
**Confirmed fix applied:** 2026-07-11, installing the matching `org.freedesktop.Platform.GL.nvidia-610-43-03` extension resolved it.