Files

69 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

# 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/<host>.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`