- Synchronized Ansible roles with removed redundant packages. - Performed system audit (performance, boot, disk usage). - Organized home directory by removing 22 clean remote repositories. - Reclaimed ~21GB of disk space in ~/Projects. - Retained dirty repositories and those without remote origins for safety. - Updated documentation (performance tuning, software stack, setup). - Created NEXT_STEPS.md and documented learnings.
6.1 KiB
Software Audit - mw-pfeddersheim-workstation (2026-02-27)
1. Core Development Tools
| Package | Version | Verified | Notes |
|---|---|---|---|
| Node.js | v25.6.1 | Yes | Matches software-stack.md |
| Python | 3.14.3 | Yes | Matches software-stack.md |
| Ansible | 2.20.2 (core) | Yes | Matches software-stack.md |
| Docker | 29.2.1 | Yes | Matches software-stack.md |
| PHP | 8.5.3 | (pacman) | CLI extensions installed (gd, pgsql, sqlite, etc.) |
| Rust | 1.93.1 | (pacman) |
2. Categorized Main Packages
Development & DevOps
act-git: Local GitHub Actions runneransible: Infrastructure automationcomposer: PHP dependency managerdocker-compose: Multi-container orchestrationgit-filter-repo,git-lfs: Git extensionsgithub-cli (gh): GitHub integrationmmctl: Mattermost CLIyarn: Node.js package manager
System Utilities & Monitoring
btop,htop: Performance monitorseza,fd,jq: Modern CLI toolsinxi,neofetch: System informationnvtop: GPU monitoringpowertop: Power managementsysstat: System performance toolstailscale: VPN/Mesh networkingufw: Firewall
GUI Applications
firefox-developer-edition: Primary dev browsergoogle-chrome: Testing browsergimp: Image editingkdenlive,obs-studio,shotcut: Media productionmattermost-desktop: Team communicationnextcloud-client: File synconlyoffice-desktopeditors: Office suiteqgis: Geospatial analysisvlc: Media player
Virtualization & Remote Access
virt-manager: VM managementremmina: Remote desktop clientrustdesk: Remote support
3. Findings & Discrepancies
- CachyOS/Manjaro Hybrid: The system shows Manjaro release branding and specific Manjaro configs (
manjaro-system,manjaro-release), whereassoftware-stack.mdmentions CachyOS. - VS Code Remnants:
vscodepackage is NOT in thepacman -Qetlist, indicating the package removal was successful. Primary manual remnant paths (configs/data) were verified as deleted. - Modern Tooling: Good adoption of modern CLI tools (
eza,fd,oha,aichat). - Ansible Compliance: All core tools defined in
ansible/roles/dev-tools/tasks/main.yml(git, base-devel, ripgrep, fd, jq, bat, eza, ansible) are present. - Missing Documentation in Stack:
batandripgrepare installed and managed via Ansible but were not explicitly listed in thesoftware-stack.mdcore table.
4. Redundant Software Audit & Final Decisions
Following user feedback, the software list has been finalized. Packages identified as "keep" are retained for specialized inspections despite not being part of the primary development workflow.
4.1. Packages to Remove
The following packages will be set to state: absent in Ansible and removed via pacman.
| Category | Package | Reason for Removal |
|---|---|---|
| Browsers | firefox-developer-edition |
Redundant (User prefers Chrome) |
| Media Production | audacity, kdenlive, obs-studio, shotcut |
Specialized production tools (Non-core) |
| Graphics & GIS | qgis |
Specialized GIS tools (Non-core) |
| Education/Utility | tipp10, xjournalpp |
Typing tutor and notetaking app (Non-core) |
| Maintenance | bleachbit |
Redundant (Functionality covered by scripts/maintenance.sh) |
| Legacy Storage | reiserfsprogs, dmraid |
Legacy filesystem and hardware RAID tools |
4.2. Packages to Keep (Inspections & Utilities)
These packages were originally identified as removal candidates but will be kept per user request:
vlc: Retained for media inspections.gimp: Retained for image inspections.nano: Retained as a fallback terminal editor.rustdesk: Retained for remote management of systems via the Tailscale network.
5. Implementation Status
- Ansible Integration: Update
ansible/roles/dev-tools/tasks/main.ymlwithstate: absentfor the removal list. - OS Context Sync: Update
software-stack.mdand related documentation to reflect the Manjaro/Arch environment. - Execution: Run removal via CLI or Ansible playbook.
6. Software Usage Analysis (Idle Applications)
An analysis was performed to identify applications that have not been utilized for more than 3 months. Since the system root is mounted with noatime, usage was inferred from the absence of user-specific configuration and cache updates in ~/.config and ~/.cache.
6.1. Stale Application Candidates
The following applications show no evidence of recent activity and are recommended for future review or removal to minimize the workstation's footprint.
| Application | Last Used (Est.) | Description |
|---|---|---|
onlyoffice-desktopeditors |
> 3 Months | Office suite (Text, Spreadsheets, Presentations) |
virt-manager |
> 3 Months | Desktop UI for managing virtual machines |
rustdesk |
> 3 Months | Remote desktop software |
guvcview |
> 3 Months | Video capture interface for webcams |
helvum |
> 3 Months | GTK patchbay for PipeWire |
qpwgraph |
> 3 Months | Qt-based PipeWire graph interface |
glmark2 |
> 3 Months | OpenGL benchmark tool |
act-git |
> 3 Months | Local GitHub Actions runner |
oha |
> 3 Months | HTTP load generator/tester |
unetbootin |
> 3 Months | Live USB creation utility |
ventoy |
> 3 Months | Multi-ISO bootable USB creator |
6.2. Removal Decisions
Following the usage analysis, the user has decided to remove the following idle applications via Ansible:
- Office:
onlyoffice-desktopeditors - Virtualization:
virt-manager - Capture:
guvcview - PipeWire Tools:
helvum,qpwgraph - Benchmarking:
glmark2,oha,act-git - USB Utilities:
unetbootin,ventoy
The application rustdesk will be retained as it is actively used for remote system management over Tailscale.
6.3. Strategy Note
Usage detection on this workstation is constrained by the noatime mount option. Future audits should rely on systemd journal analysis or application-specific logging where available to increase accuracy.