2023-09-06 14:43:55 +02:00
|
|
|
---
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Management: Ansible User benötigt auf den Clients kein
|
|
|
|
# Passwort für sudo
|
2023-09-06 16:45:33 +02:00
|
|
|
- name: Enable passwordless sudo access for user ansible
|
|
|
|
lineinfile:
|
|
|
|
path: /etc/sudoers
|
|
|
|
state: present
|
|
|
|
regexp: '^ansible ALL='
|
|
|
|
line: 'ansible ALL=(ALL) NOPASSWD: ALL'
|
|
|
|
validate: '/usr/sbin/visudo -cf %s'
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Paketvorkonfigurationen
|
2023-09-06 14:43:55 +02:00
|
|
|
- name: Preseed ttf-mscorefonts-installer
|
|
|
|
ansible.builtin.debconf:
|
|
|
|
name: ttf-mscorefonts-installer
|
|
|
|
question: msttcorefonts/dlurl
|
|
|
|
value: "{{ mirror_msfonts }}"
|
|
|
|
vtype: string
|
|
|
|
when: mirror_msfonts is defined and mirror_msfonts | length > 0
|
|
|
|
|
2023-09-07 13:10:12 +02:00
|
|
|
- name: Preseed libdvd-pkg
|
|
|
|
ansible.builtin.debconf:
|
|
|
|
name: libdvd-pkg
|
|
|
|
question: libdvd-pkg/build
|
|
|
|
value: "true"
|
|
|
|
vtype: boolean
|
|
|
|
ansible.builtin.debconf:
|
|
|
|
name: libdvd-pkg
|
|
|
|
question: libdvd-pkg/post-invoke_hook-install
|
|
|
|
value: "true"
|
|
|
|
vtype: boolean
|
|
|
|
ansible.builtin.debconf:
|
|
|
|
name: libdvd-pkg
|
|
|
|
question: libdvd-pkg/post-invoke_hook-remove
|
|
|
|
value: "false"
|
|
|
|
vtype: boolean
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Softwareauswahl
|
2023-09-06 14:43:55 +02:00
|
|
|
- name: Install desktop EDU packages and some more
|
|
|
|
apt:
|
|
|
|
name:
|
|
|
|
- curl
|
|
|
|
- git
|
|
|
|
- gitg
|
|
|
|
- gitk
|
|
|
|
- libnotify-bin ## needed for pwroff script
|
|
|
|
- neovim
|
|
|
|
- net-tools
|
|
|
|
- netcat-openbsd
|
|
|
|
- nmap
|
|
|
|
- tmux
|
|
|
|
- tree
|
|
|
|
- ttf-mscorefonts-installer
|
2023-09-07 13:10:12 +02:00
|
|
|
- libdvd-pkg
|
|
|
|
- handbrake
|
|
|
|
- slic3r-prusa
|
2023-09-13 16:14:09 +02:00
|
|
|
- filius
|
2023-09-15 15:38:05 +02:00
|
|
|
- wine
|
2023-09-06 14:43:55 +02:00
|
|
|
autoremove: true
|
|
|
|
state: latest
|
|
|
|
environment:
|
2023-09-13 16:14:09 +02:00
|
|
|
http_proxy: '' # this is needed to avoid ttf-mscorefonts-installer picking up aptcacher
|
2023-09-06 14:43:55 +02:00
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# libdvdcss muss gebaut werden
|
|
|
|
# Optimierungspotential: Einmal bauen und über netboot
|
|
|
|
# die Pakete verteilen geht wahrscheinlich schneller
|
|
|
|
|
2023-09-07 13:10:12 +02:00
|
|
|
- name: Build libdvdcss
|
|
|
|
ansible.builtin.shell:
|
|
|
|
cmd: dpkg-reconfigure -f noninteractive libdvd-pkg
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Den cups-browsed will ich gar nicht haben, nicht
|
|
|
|
# nur disablen.
|
2023-09-07 13:10:12 +02:00
|
|
|
- name: Remove cups-browsed
|
|
|
|
ansible.builtin.apt:
|
|
|
|
name: cups-browsed
|
|
|
|
state: absent
|
2023-09-06 14:43:55 +02:00
|
|
|
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Das Skript, das beim Userlogin ausgeführt wird
|
|
|
|
# Setzt derzeit nur den Hintergrund zurück - nicht bei der
|
|
|
|
# allerersten Anmeldung eines Nutzers, weil es da die KDE Config noch
|
|
|
|
# nicht gibt.
|
|
|
|
|
|
|
|
- name: Copy qgm-login.sh for misc login Tasks
|
|
|
|
copy:
|
|
|
|
src: files/qgm-login.sh
|
|
|
|
dest: /etc/profile.d/qgm-login.sh
|
|
|
|
mode: '0644'
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
|
|
|
|
#########
|
|
|
|
# Anpassungen an KDE
|
|
|
|
# - Doppelklick zum öffnen von Dateien
|
|
|
|
# - Style aug breeze fetstackern
|
|
|
|
# - Kein Benutzerwechsel
|
|
|
|
# - Kein Lockscreen
|
|
|
|
# - Keine neue Session
|
|
|
|
|
2023-09-06 14:43:55 +02:00
|
|
|
- name: Set mandatory KDE settings
|
|
|
|
ansible.builtin.copy:
|
|
|
|
dest: /etc/xdg/kdeglobals
|
|
|
|
content: |
|
|
|
|
[KDE][$i]
|
|
|
|
SingleClick=false
|
|
|
|
widgetStyle=breeze
|
|
|
|
|
|
|
|
[KDE Action Restrictions][$i]
|
|
|
|
action/switch_user=false
|
|
|
|
action/lock_screen=false
|
|
|
|
action/start_new_session=false
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Screen Locking abschalten, Mittelstufenschüler...
|
2023-09-06 16:45:33 +02:00
|
|
|
- name: Disable screen locking
|
|
|
|
ansible.builtin.copy:
|
|
|
|
dest: /etc/xdg/kscreenlockerrc
|
|
|
|
content: |
|
2023-09-06 14:43:55 +02:00
|
|
|
[Daemon][$i]
|
2023-09-06 16:45:33 +02:00
|
|
|
Autolock=false
|
|
|
|
LockOnResume=false
|
2023-09-06 18:13:29 +02:00
|
|
|
|
|
|
|
[Greeter][Wallpaper][org.kde.image][General]
|
|
|
|
Image=file:///usr/local/share/qgm/qgm_background.jpg
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
########
|
|
|
|
# Logout beschleunigen
|
|
|
|
- name: Wartezeit nach KDE nach Logout/Shutdown verkürzen
|
|
|
|
ansible.builtin.replace:
|
|
|
|
path: /usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/logout/Logout.qml
|
|
|
|
regexp: '^(\s+)property real timeout:.*$'
|
|
|
|
replace: '\1property real timeout: 4'
|
2023-09-06 18:13:29 +02:00
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# plasma-discover ist der grafische Paketmamanger
|
|
|
|
# der stürzt nur ab und die Bejutzer können eh
|
|
|
|
# nichts selbst installieren
|
|
|
|
- name: Remove plasma-discover
|
|
|
|
ansible.builtin.apt:
|
|
|
|
name: plasma-discover
|
|
|
|
state: absent
|
|
|
|
|
|
|
|
#########
|
|
|
|
# Greenfoot und BlueJ.
|
|
|
|
# Müssen einmalig auf den netboot Server
|
|
|
|
# in den http Cache geschoben werden.
|
|
|
|
# Siehe Script im Repo.
|
|
|
|
#
|
|
|
|
# Außerdem ist hier Optimierungspotential:
|
|
|
|
# - Installation direkt von der URL
|
|
|
|
# - Installation nur, wenn die neueste Version noch
|
|
|
|
# nicht installiert ist
|
2023-09-06 14:43:55 +02:00
|
|
|
|
|
|
|
- name: Download greenfoot/bluej
|
|
|
|
ansible.builtin.get_url:
|
|
|
|
url: "{{ mirror_javadev }}/{{ item }}"
|
|
|
|
dest: /tmp/{{ item }}
|
|
|
|
mode: '0400'
|
|
|
|
loop:
|
|
|
|
- bluej.deb
|
|
|
|
- greenfoot.deb
|
|
|
|
when: mirror_javadev is defined and mirror_javadev | length > 0
|
|
|
|
|
|
|
|
- name: Install greenfoot/bluej
|
|
|
|
ansible.builtin.apt:
|
|
|
|
deb: "/tmp/{{ item }}"
|
|
|
|
loop:
|
|
|
|
- bluej.deb
|
|
|
|
- greenfoot.deb
|
|
|
|
when: mirror_javadev is defined and mirror_javadev | length > 0
|
|
|
|
|
|
|
|
- name: Remove greenfoot/bluej debs
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: "/tmp/{{ item }}"
|
|
|
|
state: absent
|
|
|
|
loop:
|
|
|
|
- bluej.deb
|
|
|
|
- greenfoot.deb
|
|
|
|
when: mirror_javadev is defined and mirror_javadev | length > 0
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Anpassungen für Arduino
|
|
|
|
# - modemmanager dinstallieren, soll die Probleme mit wechselnden
|
|
|
|
# Device Namen lössen (ungetestet)
|
|
|
|
# - Udev-Rule, so dass die Devices mit 0666 angelegt werden, wie
|
|
|
|
# Warnung des Debian Pakets "arduino" wegen der dialout Gruppe
|
|
|
|
# bleiben leider.
|
|
|
|
|
|
|
|
- name: Remove modemmanager to fix arduino problems
|
|
|
|
ansible.builtin.apt:
|
|
|
|
name: modemmanager
|
|
|
|
state: absent
|
|
|
|
|
|
|
|
- name: Copy arduino udev rule
|
|
|
|
copy:
|
|
|
|
src: files/52-arduino.rules
|
|
|
|
dest: /etc/udev/rules.d/52-arduino.rules
|
|
|
|
mode: '0644'
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
|
|
|
|
- name: relaod udev rules
|
|
|
|
ansible.builtin.command: udevadm control --reload-rules
|
|
|
|
|
|
|
|
- name: trigger udev update
|
|
|
|
ansible.builtin.command: udevadm trigger
|
2023-09-06 14:43:55 +02:00
|
|
|
|
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
#########
|
|
|
|
# Firefox ESR Anpassungen
|
|
|
|
# Lesezeichen und Startseite müssen in der
|
|
|
|
# Datei firefox_policies.json für die eigene Schule
|
|
|
|
# angepasst werden.
|
|
|
|
- name: Create firefox policies directory
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: /etc/firefox-esr/policies
|
|
|
|
state: directory
|
|
|
|
mode: '0755'
|
2023-09-06 14:43:55 +02:00
|
|
|
|
2023-09-13 16:14:09 +02:00
|
|
|
- name: Create a symbolic link firefox to firefox-esr
|
|
|
|
ansible.builtin.file:
|
|
|
|
src: /etc/firefox-esr
|
|
|
|
dest: /etc/firefox
|
|
|
|
state: link
|
|
|
|
|
|
|
|
- name: Copy firefox policy
|
|
|
|
ansible.builtin.copy:
|
|
|
|
src: firefox_policies.json
|
|
|
|
dest: /etc/firefox-esr/policies/policies.json
|
|
|
|
|
|
|
|
- name: Remove file (delete file)
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: /etc/firefox-esr/policies/firefox_policies.json
|
|
|
|
state: absent
|
|
|
|
|