feat: vollst. Installations-Doku, Ansible-Rollen ausimplementiert, claude_workspace-Rolle
- docs/installation.md: Netinstall + Dualboot Schritt-für-Schritt (LUKS nur am Notebook) - docs/postinstall-ansible.md: Ablauf + restmanuelle Schritte - roles/base: APT-Sources mit non-free-firmware + Backports, Locale, Tastatur, Zeitzone, Grundpakete - roles/desktop_kde: Plasma 6 + SDDM (ohne Recommends, kompakt) - roles/hardening: SSH key-only, UFW, unattended-upgrades - roles/dev_tools: Node.js via NodeSource, Python, Perl, Git-Defaults - roles/workstation_apps: Firefox, Thunderbird, LibreOffice, Codecs, KeePassXC - roles/claude_workspace (NEU): Claude Code + ccusage, SSH-Key für Gitea, Workspace-Clone (recurse-submodules), ~/.claude/settings.json - site.yml: alle Rollen mit Tags
This commit is contained in:
@@ -1,3 +1,50 @@
|
||||
---
|
||||
# Git, Editor, Sprachen (Python/Node/Perl für FHEM)
|
||||
# TODO: implementieren — Skeleton-Datei
|
||||
- name: Dev-Pakete (Sprachen, Build-Tools, Editor)
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- git
|
||||
- build-essential
|
||||
- python3
|
||||
- python3-venv
|
||||
- python3-pip
|
||||
- pipx
|
||||
- perl
|
||||
- jq
|
||||
- direnv
|
||||
- shellcheck
|
||||
- meld
|
||||
state: present
|
||||
|
||||
- name: NodeSource Keyring (für Node.js LTS)
|
||||
ansible.builtin.get_url:
|
||||
url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
|
||||
dest: /etc/apt/keyrings/nodesource.asc
|
||||
mode: '0644'
|
||||
register: ns_key
|
||||
|
||||
- name: NodeSource Repo
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/apt/sources.list.d/nodesource.list
|
||||
mode: '0644'
|
||||
content: "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_20.x nodistro main\n"
|
||||
register: ns_repo
|
||||
|
||||
- name: APT update nach NodeSource
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
when: ns_key.changed or ns_repo.changed
|
||||
|
||||
- name: Node.js (LTS) installieren
|
||||
ansible.builtin.apt:
|
||||
name: nodejs
|
||||
state: present
|
||||
|
||||
- name: Git globale Defaults für {{ primary_user }}
|
||||
become_user: "{{ primary_user }}"
|
||||
ansible.builtin.command: "git config --global {{ item.k }} {{ item.v }}"
|
||||
loop:
|
||||
- { k: 'user.name', v: 'egon' }
|
||||
- { k: 'user.email', v: 'egon@egonlebt.de' }
|
||||
- { k: 'pull.rebase', v: 'true' }
|
||||
- { k: 'init.defaultBranch', v: 'main' }
|
||||
changed_when: false
|
||||
|
||||
Reference in New Issue
Block a user