lmn-client/roles/lmn_fvs/tasks/main.yml
2023-09-07 10:59:30 +02:00

173 lines
3.9 KiB
YAML

---
- name: Preseed wireshark to allow users sniffing packets
ansible.builtin.debconf:
name: wireshark-common
question: wireshark-common/install-setuid
value: 'true'
vtype: boolean
- 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
- name: Install desktop EDU packages and some more
apt:
name:
- atftp
- codelite
- codelite-plugins
- curl
- elpa-color-theme-modern
- elpa-magit
- emacs
- git
- gitg
- gitk
- libnotify-bin ## needed for pwroff script
- neovim
- net-tools
- netcat-openbsd
- nmap
- pulseview
- sigrok
- sigrok-cli
- tmux
- tree
- ttf-mscorefonts-installer
- wireshark
autoremove: true
state: latest
environment:
http_proxy: '' # this is needed to avoid ttf-mscorefonts-installer picking up aptcacher
- name: Allow users to dump packets for wireshark without group membership
ansible.builtin.file:
path: /usr/bin/dumpcap
mode: '0755'
- name: Create firefox policies directory
ansible.builtin.file:
path: /etc/firefox-esr/policies
state: directory
mode: '0755'
- 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: policies.json
dest: /etc/firefox-esr/policies/
- name: Copy pwroff and bootorder scripts
copy:
src: "{{ item }}"
dest: /usr/local/sbin/
mode: 0755
loop:
- pwroff
- bootorder.sh
- name: Provide service and timer for pwroff script
copy:
src: "{{ item }}"
dest: "/etc/systemd/system/{{ item }}"
mode: 0644
with_items:
- pwroff.service
- pwroff.timer
- name: Enable pwroff.timer
systemd:
name: pwroff.timer
enabled: true
- name: Fix boot order
command: /usr/local/sbin/bootorder.sh
register: cmd_result
changed_when: cmd_result.stdout is not search('Nothing to do.')
- name: Copy dolphin config scripts
ansible.builtin.copy:
src: "{{ item }}"
dest: /usr/local/bin/
mode: 0755
loop:
- lmn-reset-dolphin.sh
- lmn-patch-dolphin.sh
- name: Configure KDE dolphin menu
ansible.builtin.copy:
src: lmn-dolphin.sh
dest: /etc/profile.d/
- name: Copy fvs-config.js to configure plasma
ansible.builtin.copy:
src: fvs-config.js
dest: /usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/fvs-config.js
mode: 0644
- name: Configure some KDE aspects
blockinfile:
path: /etc/xdg/kdeglobals
create: true
block: |
[KDE]
SingleClick=false
[KDE Action Restrictions][$i]
action/start_new_session=false
#action/switch_user=false
#action/lock_screen=false
- name: Shut down when idle for too long
ansible.builtin.copy:
dest: /etc/xdg/powermanagementprofilesrc
content: |
[AC][SuspendSession][$i]
idleTime=36000000
suspendType=8
- name: Start with empty session by default
ansible.builtin.copy:
dest: /etc/xdg/ksmserverrc
content: |
[General]
loginMode=emptySession
#- name: Disable automatic lock screen and user specific modifications
# ansible.builtin.copy:
# path: /etc/xdg/kscreenlockerrc
# create: true
# content: |
# [Daemon][$i]
# Autolock=false
# LockOnResume=false
#
- name: Patch sddm login screen to show hostname
blockinfile:
path: /usr/share/sddm/themes/debian-breeze/Main.qml
marker: // {mark} ANSIBLE MANAGED BLOCK
insertbefore: '\s+Battery {'
block: |
Text {
color: "#ffffff"
text: sddm.hostName
anchors.right: parent.right
anchors.rightMargin: 10
font.pointSize: config.fontSize
}