Files
mw-pfeddersheim-workstation/docs/tech/current-software-audit.md
T
ja 6dbe59e117 docs: align with satware AG best practices
- Delete deprecated CLAUDE.md
- Create root-level AGENTS.md for AI assistant guidance
- Create SDD constitution in .specify/memory/constitution.md
- Align documentation with PARA structure (docs/product/project-brief.md, docs/tech/stack.md, docs/plans/)
- Add standardized YAML frontmatter to all documentation files
- Update README.md with saTway branding and structure
2026-03-09 11:02:17 +01:00

130 lines
6.3 KiB
Markdown

---
description: >-
Detailed inventory and audit of workstation software, identifying core tools,
categorized packages, and candidates for removal.
tags:
- software-audit
- inventory
- maintenance
- cleanup
last_updated: '2026-03-09'
---
# 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 runner
- `ansible`: Infrastructure automation
- `composer`: PHP dependency manager
- `docker-compose`: Multi-container orchestration
- `git-filter-repo`, `git-lfs`: Git extensions
- `github-cli (gh)`: GitHub integration
- `mmctl`: Mattermost CLI
- `yarn`: Node.js package manager
### System Utilities & Monitoring
- `btop`, `htop`: Performance monitors
- `eza`, `fd`, `jq`: Modern CLI tools
- `inxi`, `neofetch`: System information
- `nvtop`: GPU monitoring
- `powertop`: Power management
- `sysstat`: System performance tools
- `tailscale`: VPN/Mesh networking
- `ufw`: Firewall
### GUI Applications
- `firefox-developer-edition`: Primary dev browser
- `google-chrome`: Testing browser
- `gimp`: Image editing
- `kdenlive`, `obs-studio`, `shotcut`: Media production
- `mattermost-desktop`: Team communication
- `nextcloud-client`: File sync
- `onlyoffice-desktopeditors`: Office suite
- `qgis`: Geospatial analysis
- `vlc`: Media player
### Virtualization & Remote Access
- `virt-manager`: VM management
- `remmina`: Remote desktop client
- `rustdesk`: Remote support
## 3. Findings & Discrepancies
- **CachyOS/Manjaro Hybrid**: The system shows Manjaro release branding and specific Manjaro configs (`manjaro-system`, `manjaro-release`), whereas `software-stack.md` mentions CachyOS.
- **VS Code Remnants**: `vscode` package is NOT in the `pacman -Qet` list, 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**: `bat` and `ripgrep` are installed and managed via Ansible but were not explicitly listed in the `software-stack.md` core 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
- [x] **Ansible Integration**: Update `ansible/roles/dev-tools/tasks/main.yml` with `state: absent` for the removal list.
- [x] **OS Context Sync**: Update `software-stack.md` and related documentation to reflect the Manjaro/Arch environment.
- [x] **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.