From 9d2701be3269416bc6fd39988bbb24fa27210e28 Mon Sep 17 00:00:00 2001 From: Raphael Dannecker Date: Sat, 24 Jan 2026 12:16:56 +0100 Subject: [PATCH] Make roles --- files/user/.gtk-bookmarks | 4 - files/user/.local/share/user-places.xbel | 224 ----------------------- files/user/Desktop/shares.desktop | 8 - files/user/Desktop/virtualbox.desktop | 8 - playbook.yml | 94 ---------- roles/vm_base/handlers/main.yml | 3 + roles/vm_base/tasks/main.yml | 50 +++++ roles/vm_mount/tasks/main.yml | 34 +++- roles/vm_virtualbox/tasks/main.yml | 38 ++++ vm_deb.yml | 11 ++ 10 files changed, 129 insertions(+), 345 deletions(-) delete mode 100644 files/user/.gtk-bookmarks delete mode 100644 files/user/.local/share/user-places.xbel delete mode 100644 files/user/Desktop/shares.desktop delete mode 100644 files/user/Desktop/virtualbox.desktop delete mode 100644 playbook.yml create mode 100644 roles/vm_base/handlers/main.yml create mode 100644 roles/vm_base/tasks/main.yml create mode 100644 roles/vm_virtualbox/tasks/main.yml create mode 100644 vm_deb.yml diff --git a/files/user/.gtk-bookmarks b/files/user/.gtk-bookmarks deleted file mode 100644 index 124c05f..0000000 --- a/files/user/.gtk-bookmarks +++ /dev/null @@ -1,4 +0,0 @@ -file:///lmn/media/Home_Server Home_Server -file:///lmn/media/Tausch Tausch -file:///lmn/media/Home_Server/transfer Transfer -file:///media/host Host/Linux diff --git a/files/user/.local/share/user-places.xbel b/files/user/.local/share/user-places.xbel deleted file mode 100644 index 0030a2f..0000000 --- a/files/user/.local/share/user-places.xbel +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - 4 - false - false - false - false - false - true - false - false - - - - Home@VM - - - - - - 1769025114/0 - true - - - - - Home@Server - - - - - - 1719382517/5 - true - - - - - Transfer - - - - - - 1719382517/6 - true - - - - - Tausch - - - - - - 1769181059/1 - - - - - Host/Linux - - - - - - 1769180402/1 - - - - - Desktop - - - - - - 1769025114/1 - true - - - - - Documents - - - - - - 1769025114/2 - true - true - - - - - Downloads - - - - - - 1769025114/3 - true - - - - - Music - - - - - - 1769025114/6 - true - true - - - - - Pictures - - - - - - 1769025114/7 - true - true - - - - - Videos - - - - - - 1769025114/8 - true - true - - - - - Network - - - - - - 1769025114/4 - true - - - - - Trash - - - - - - 1769025114/5 - true - - - - - Modified Today - - - - - - 1769025114/9 - true - - - - - Modified Yesterday - - - - - - 1769025114/10 - true - - - - - - - /org/kde/fstab///server.pn.steinbeis.schule/default-school/share:/lmn/media/Tausch - true - - - - - - - /org/freedesktop/UDisks2/block_devices/sda1 - true - ba350c92-f373-4779-9aec-cdcc4f447c80 - - - - - - - /org/kde/fstab///server.pn.steinbeis.schule/default-school/teachers/da:/lmn/media/Home_Server - true - - - - diff --git a/files/user/Desktop/shares.desktop b/files/user/Desktop/shares.desktop deleted file mode 100644 index 32de00d..0000000 --- a/files/user/Desktop/shares.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=Netzlaufwerke einbinden -GenericName=Netzlaufwerke einbinden -Comment= -Exec=sudo /usr/local/bin/lmn-parse-vminfo -Type=Application -Icon=udiskie-mount -Terminal=true diff --git a/files/user/Desktop/virtualbox.desktop b/files/user/Desktop/virtualbox.desktop deleted file mode 100644 index 40ff394..0000000 --- a/files/user/Desktop/virtualbox.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=Oracle VirtualBox -GenericName=Virtualisierung Software -Comment= -Exec=VirtualBox -Type=Application -Icon=virtualbox -Terminal=false diff --git a/playbook.yml b/playbook.yml deleted file mode 100644 index f123437..0000000 --- a/playbook.yml +++ /dev/null @@ -1,94 +0,0 @@ ---- -# playbook.yml - -- name: Install base vm - hosts: all - become: true - remote_user: root - roles: - - vm_mount - tasks: - - - name: Install lxqt - ansible.builtin.apt: - name: - - lxqt - - spice-vdagent - - vim - - git - # - dolphin - - mariadb-server - - extrepo - update_cache: true - - - name: Remove screensaver - ansible.builtin.apt: - name: - - xscreensaver - autoremove: true - state: absent - - # - name: Set link to dolphin - # ansible.builtin.file: - # src: /usr/bin/dolphin - # dest: /usr/local/bin/pcmanfm-qt - # state: link - - - name: Activate contrib and non-free repos for extrepo - ansible.builtin.lineinfile: - dest: /etc/extrepo/config.yaml - regexp: '^#\s*-\s*(contrib|non-free)' - line: '- \1' - backrefs: true - - - name: Enable VirtualBox repository using extrepo - ansible.builtin.command: - cmd: extrepo enable virtualbox - - - name: Update package cache - ansible.builtin.apt: - update_cache: true - cache_valid_time: 0 - - - name: Install Virtualbox - ansible.builtin.apt: - name: - - virtualbox-7.2 - update_cache: true - - - name: Copy user home - ansible.builtin.copy: - src: user/ - dest: /home/user - mode: '0644' - owner: user - group: user - - - name: Allow sudo without password for user - ansible.builtin.lineinfile: - path: /etc/sudoers.d/95-user - line: 'user ALL=(root) NOPASSWD: ALL' - create: true - owner: root - group: root - mode: '0700' - - - name: Enable autologin for user - ansible.builtin.copy: - content: | - [Autologin] - User=user - Session=lxqt.desktop - dest: /etc/sddm.conf - mode: '0644' - - - name: Set grub default to zero - ansible.builtin.lineinfile: - dest: /etc/default/grub - regexp: '^GRUB_TIMEOUT=.*' - line: GRUB_TIMEOUT=0 - notify: Update grub - - handlers: - - name: Update grub - ansible.builtin.command: update-grub diff --git a/roles/vm_base/handlers/main.yml b/roles/vm_base/handlers/main.yml new file mode 100644 index 0000000..4d912db --- /dev/null +++ b/roles/vm_base/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: Update grub + ansible.builtin.command: update-grub diff --git a/roles/vm_base/tasks/main.yml b/roles/vm_base/tasks/main.yml new file mode 100644 index 0000000..83503af --- /dev/null +++ b/roles/vm_base/tasks/main.yml @@ -0,0 +1,50 @@ +--- +- name: Install packages + ansible.builtin.apt: + name: + - lxqt + - spice-vdagent + - vim + - git + - mariadb-server + - extrepo + update_cache: true + +- name: Remove screensaver + ansible.builtin.apt: + name: + - xscreensaver + autoremove: true + state: absent + +- name: Activate contrib and non-free repos for extrepo + ansible.builtin.lineinfile: + dest: /etc/extrepo/config.yaml + regexp: '^#\s*-\s*(contrib|non-free)' + line: '- \1' + backrefs: true + +- name: Allow sudo without password for user + ansible.builtin.lineinfile: + path: /etc/sudoers.d/95-user + line: 'user ALL=(root) NOPASSWD: ALL' + create: true + owner: root + group: root + mode: '0700' + +- name: Enable autologin for user + ansible.builtin.copy: + content: | + [Autologin] + User=user + Session=lxqt.desktop + dest: /etc/sddm.conf + mode: '0644' + +- name: Set grub default to zero + ansible.builtin.lineinfile: + dest: /etc/default/grub + regexp: '^GRUB_TIMEOUT=.*' + line: GRUB_TIMEOUT=0 + notify: Update grub diff --git a/roles/vm_mount/tasks/main.yml b/roles/vm_mount/tasks/main.yml index d5ae3de..5c630ad 100644 --- a/roles/vm_mount/tasks/main.yml +++ b/roles/vm_mount/tasks/main.yml @@ -1,11 +1,9 @@ --- - - name: Install packages for lmn-vminfo.service ansible.builtin.apt: name: - cifs-utils - krb5-user - # - python3-pip - python3-impacket - name: Provide lmn-parse-vminfo script @@ -28,11 +26,6 @@ file:///lmn/media/Tausch Tausch mode: '0644' -# - name: Install impacket pip package -# ansible.builtin.pip: -# name: impacket -# break_system_packages: true - - name: Provide lmn-vminfo.service and timer ansible.builtin.copy: src: "{{ item }}" @@ -46,3 +39,30 @@ ansible.builtin.systemd: name: lmn-vminfo.timer enabled: true + +- name: Create virtualbox desktop starter + ansible.builtin.copy: + dest: /home/user/Desktop/virtualbox.desktop + content: | + [Desktop Entry] + Name=Netzlaufwerke einbinden + GenericName=Netzlaufwerke einbinden + Exec=sudo /usr/local/bin/lmn-parse-vminfo + Type=Application + Icon=folder-open + Terminal=true + mode: '0640' + owner: user + group: user + +- name: Create bookmarks for filemanager + ansible.builtin.copy: + dest: /home/user/.gtk-bookmarks + content: | + file:///lmn/media/Home_Server Home_Server + file:///lmn/media/Tausch Tausch + file:///lmn/media/Home_Server/transfer Transfer + file:///media/host Host/Linux + mode: '0644' + owner: user + group: user diff --git a/roles/vm_virtualbox/tasks/main.yml b/roles/vm_virtualbox/tasks/main.yml new file mode 100644 index 0000000..474b5ad --- /dev/null +++ b/roles/vm_virtualbox/tasks/main.yml @@ -0,0 +1,38 @@ +--- +- name: Enable VirtualBox repository using extrepo + ansible.builtin.command: + cmd: extrepo enable virtualbox + register: extrepo_enable + changed_when: "'enabled' in extrepo_enable.stdout" + +- name: Update VirtualBox repository using extrepo + ansible.builtin.command: + cmd: extrepo update virtualbox + register: extrepo_update + changed_when: "'No updates' not in extrepo_update.stdout" + +- name: Update package cache + ansible.builtin.apt: + update_cache: true + cache_valid_time: 0 + +- name: Install Virtualbox + ansible.builtin.apt: + name: + - virtualbox-7.2 + update_cache: true + +- name: Create virtualbox desktop starter + ansible.builtin.copy: + dest: /home/user/Desktop/virtualbox.desktop + content: | + [Desktop Entry] + Name=Oracle VirtualBox + GenericName=Virtualisierung Software + Exec=VirtualBox + Type=Application + Icon=virtualbox + Terminal=false + mode: '0640' + owner: user + group: user diff --git a/vm_deb.yml b/vm_deb.yml new file mode 100644 index 0000000..58e13f6 --- /dev/null +++ b/vm_deb.yml @@ -0,0 +1,11 @@ +--- +# playbook.yml + +- name: Install base vm + hosts: all + become: true + remote_user: root + roles: + - vm_base + - vm_mount + - vm_virtualbox