# linux-workstations Linux-Dualboot-Rollout auf Toms drei Arbeitsrechnern, parallel zu Windows. ## Zielgeräte | Host | Rolle | Hardware | Status | |------|-------|----------|--------| | notebook | mobile Arbeit | TBD | geplant | | pc | Hauptrechner | TBD | geplant | | werkstatt | Werkstatt-PC | TBD | geplant | > Hardware-Inventar wird pro Host in `ansible/host_vars/.yml` gepflegt. ## Entscheidungen - **Distribution:** Debian 13 "Trixie" Stable mit KDE Plasma 6 (Netinstall, `firmware-netinst`) - **Konfigurationsmanagement:** Ansible-Playbook (in `ansible/`) - **Bootloader/Dualboot:** GRUB neben bestehendem Windows-Bootloader; `os-prober` aktiviert Begründung siehe `docs/distro-auswahl.md`. ## Struktur ``` linux-workstations/ ├── README.md ├── docs/ │ ├── distro-auswahl.md # ADR Distribution │ ├── installation.md # Schritt-für-Schritt Netinstall + Dualboot │ └── postinstall-ansible.md # Bootstrap & Ablauf └── ansible/ ├── ansible.cfg ├── inventory.yml ├── site.yml # Top-Level Playbook ├── group_vars/all.yml ├── host_vars/{notebook,pc,werkstatt}.yml └── roles/ ├── base/ # APT-Quellen, Locale, Firmware, Grundpakete ├── desktop_kde/ # KDE Plasma 6 + SDDM + Apps ├── hardening/ # SSH, UFW, unattended-upgrades ├── dev_tools/ # Git, Node.js (NodeSource), Python, Perl ├── workstation_apps/ # Browser, Office, Multimedia └── claude_workspace/ # Claude Code, ccusage, Workspace-Clone, ~/.claude/settings.json ``` ## Workflow (Kurz) Siehe `docs/installation.md` und `docs/postinstall-ansible.md` für Details. ```bash # Nach Debian-Erstinstallation auf Zielrechner: ssh-copy-id tom@notebook.egonlebt.lan ansible -i ansible/inventory.yml notebook -m ping ansible-playbook -i ansible/inventory.yml ansible/site.yml --limit notebook --check --diff ansible-playbook -i ansible/inventory.yml ansible/site.yml --limit notebook # Anschließend manuell pro Maschine (~1 min): # 1. Public-Key aus ~/.ssh/id_ed25519_gitea.pub auf Gitea hochladen # 2. ansible-playbook ... --tags claude_workspace (holt Workspace nach) # 3. Auf dem Zielrechner: `claude` → OAuth-Login ``` ## Repo - Gitea: http://docker.egonlebt.lan:3000/egon/linux-workstations - Eingebunden als Submodule in `claude-workspace`