- Chrome/Chromium cleanup (ADR 0006): removed 10GB chromium profile, broken PWA shortcuts, dead BROWSER_CDP_URL from .bashrc, restored Wayland chrome-flags.conf - Package cleanup (ADR 0007): Tier 1-4 executed, 40 packages removed (KDE Plasma, ruby, love, xorg-server, kscreen/kscreenlocker), 45 cascade orphans purged - Waybar USB module: auto-mount via udisks2, yazi integration, hover details - Service tuning: disabled bluetooth.service, NetworkManager-wait-online.service - hypridle fix: upgraded sdbus-cpp 2.3.0->2.3.1-1 (SEGV crash loop resolved) - PCIe audit: GPU in wrong slot (PCIEX4 vs PCIEX16), 8x bandwidth loss documented - D-Bus cleanup: removed stale org.kde.kwalletd6.service stub - Ansible: all changes reflected in vars/main.yml and task files
5.2 KiB
5.2 KiB
ADR 0006: Chrome/Chromium Normalization and Cleanup
Date: 2026-05-22
Status: Accepted
Deciders: Michael Wegener
Context
The workstation had accumulated significant Chrome/Chromium configuration drift over time:
- Dual installation: Both
google-chrome-stable(148.0.7778.178) and orphanedchromiumconfigs - Dead data directories:
~/.config/chromium/(1.4 GB of stale profile data)~/.local/chrome-cdp/(8.6 GB Chrome DevTools Protocol debug profile, no longer used)
- Broken PWA desktop entries: 13 non-functional
.desktopfiles in~/.local/share/applications/ - Orphaned packages:
chromium-widevine(DRM codec plugin for non-existent Chromium) - Dead shell integrations:
BROWSER_CDP_URLenvironment variable auto-population in~/.bashrc - Wayland compatibility:
chrome-flags.confneeded Wayland-specific flags for native Wayland rendering
This drift made it difficult to:
- Understand which browser is authoritative
- Maintain clean Ansible playbooks
- Ensure consistent Wayland behavior
- Avoid confusion from broken PWA shortcuts
Decision
Standardize on google-chrome-stable as the sole browser and remove all Chromium-related artifacts:
1. Remove Dead Data Directories
- ✅ Delete
~/.config/chromium/entirely (1.4 GB freed) - ✅ Delete
~/.local/chrome-cdp/entirely (8.6 GB freed)
2. Uninstall Orphaned Packages
- ✅
pacman -R chromium-widevine(17.41 MiB freed)
3. Delete Broken PWA Desktop Entries
- ✅ Removed 13 non-functional
.desktopfiles from~/.local/share/applications/ - ✅ Deleted 4 PWA manifest directories from
~/.config/google-chrome/Default/Web Applications/Manifest Resources/
4. Clean Shell Environment
- ✅ Removed
BROWSER_CDP_URLauto-population (lines 140-141) from~/.bashrc - Bash startup improved from ~60ms to ~3ms
5. Restore Wayland Configuration
- ✅ Ansible role
dev-toolsalready manages~/.config/chrome-flags.confwith Wayland flags - ✅ Playbook re-applied to restore
--ozone-platform=autoand other Wayland optimizations
6. Update Ansible for Future Maintenance
- ✅ Added
cleanuptasks todev-toolsrole to remove known-dead packages/directories - ✅ Documented cleanup procedures in CHANGELOG
Consequences
Positive
- 10 GB disk space recovered on root filesystem
- Clear browser choice: Only
google-chrome-stableis installed and managed - Faster shell startup: Removed unnecessary
curlcall tolocalhost:9222 - Clean desktop: PWA shortcuts now only show functional applications
- Wayland-native rendering: Chrome uses
--ozone-platform=autofor native Wayland - Maintainable configuration: Ansible now includes cleanup tasks for future orphan removal
Negative
- None significant. Google Chrome is the sole browser, reducing cognitive load.
Neutral
- AWDI (A Web Developer Interface) tools that required CDP connections must now launch Chrome with
--remote-debugging-port=9222manually if needed.
Technical Details
Current Browser Installation
google-chrome-stable 148.0.7778.178-1 (AUR: paru)
Ansible Management
- Package installation:
ansible/roles/dev-tools/tasks/main.yml(lines 112-120) - Chrome flags:
ansible/roles/dev-tools/tasks/main.yml(lines 122-135) with--tags chrome - Cleanup tasks:
ansible/roles/dev-tools/tasks/main.yml(lines 137-158) with--tags cleanup
Files Affected
- Deleted:
~/.config/chromium/(1.4 GB)~/.local/chrome-cdp/(8.6 GB)- 13
.desktopfiles in~/.local/share/applications/ - 4 PWA manifest dirs in
~/.config/google-chrome/Default/Web Applications/Manifest Resources/
- Modified:
~/.bashrc(removed CDP_URL lines)~/.config/chrome-flags.conf(restored via Ansible)
- Uninstalled:
chromium-widevine(17.41 MiB)
Hyprland Integration
SUPER+Bbinds touwsm app -- google-chrome-stable(unchanged)- Waybar CDP module removed (no longer needed without debug profile)
- Cheatsheet references updated to reflect Chrome-only workflow
Alternatives Considered
Keep Chromium Installed
- Pros: Open-source browser, no Google telemetry
- Cons: Two browsers to maintain, orphaned packages, confusing shortcuts
- Decision: Rejected. Google Chrome provides better Wayland support and is already the daily driver.
Preserve chrome-cdp Profile
- Pros: Could be reactivated for debugging, Playwright/Puppeteer testing
- Cons: 8.6 GB wasted space, not used in 3+ months, on-demand launch is trivial
- Decision: Rejected. AWDI tools can start Chrome with
--remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debugif needed.
Automated PWA Scrubbing
- Pros: Could remove all PWA configs via Ansible
- Cons: Risk of removing actively-used PWAs (OnlyOffice, JetBrains Toolbox, etc.)
- Decision: Rejected. Manually scrubbed dead PWAs, left functional ones intact.
References
- ADR 0004: Start-Hyprland Override — Wayland session management
ansible/roles/dev-tools/tasks/main.yml— Chrome package and flags managementCHANGELOG.md— 2026-05-22 cleanup entrydocs/tech/stack.md— Current software audit (updated)