diff --git a/defaults/main.yaml b/defaults/main.yaml index 8eebda3..be0fe02 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -1,4 +1,5 @@ --- +screensaver_package: mate-screensaver screensaver_locktime: 10 screensaver_theme: screensavers-popsquares screensaver_sleeptime: "{{screensaver_locktime}}" diff --git a/tasks/main.yaml b/tasks/main.yaml index 382c4d0..55ba0b6 100644 --- a/tasks/main.yaml +++ b/tasks/main.yaml @@ -1,74 +1,9 @@ --- -- name: ensure old screensavers are absent - apt: - pkg: - - light-locker - - xscreensaver - state: absent +- import_tasks: packages.yaml -- name: install required debian packages - apt: - pkg: - - mate-screensaver - - xscreensaver-gl - - python3 - - mate-power-manager - - xautolock - - xss-lock - - xbacklight - - i3lock +- import_tasks: none.yaml + when: screensaver_package == "none" -- name: gdmflexiserver dummy script - copy: - src: gdmflexiserver-fake.sh - dest: /usr/local/bin/gdmflexiserver - mode: 0755 - -# Bug: https://github.com/mate-desktop/mate-screensaver/issues/57 -# https://gist.github.com/alexander255/9b991816418e4e60ee7c -- name: mate-screensaver-helper-inhibition script - copy: - src: mate-screensaver-helper-inhibition.py - dest: /usr/local/bin/mate-screensaver-helper-inhibition - mode: 0755 - -- name: screensaver settings script - template: - src: screensaver-settings.sh.j2 - dest: /usr/local/bin/screensaver-settings - mode: 0755 - -- name: screensaver start script - template: - src: screensaver-start.sh.j2 - dest: /usr/local/bin/screensaver-start - mode: 0755 - -- name: screensaver lock script - template: - src: screensaver-lock.sh.j2 - dest: /usr/local/bin/screensaver-lock - mode: 0755 - -- import_role: - name: dconf-lock - vars: - dconf_lock_id: screensaver - dconf_lock_settings: - /org/mate/screensaver: - idle-activation-enabled: 'true' - lock-enabled: 'true' - mode: "'single'" - themes: "['{{screensaver_theme}}']" - /org/mate/desktop/session: - idle-delay: "{{ screensaver_locktime | int }}" - /org/mate/power-manager: - sleep-display-ac: "{{ screensaver_sleeptime | int * 60 }}" - dconf_lock_paths: - - /org/mate/desktop/session/idle-delay - - /org/mate/screensaver/idle-activation-enabled - - /org/mate/screensaver/lock-enabled - - /org/mate/screensaver/mode - - /org/mate/screensaver/themes - - /org/mate/power-manager/sleep-display-ac +- import_tasks: screensavers/mate-screensaver.yaml + when: screensaver_package == "mate-screensaver" diff --git a/tasks/none.yaml b/tasks/none.yaml new file mode 100644 index 0000000..2399fd0 --- /dev/null +++ b/tasks/none.yaml @@ -0,0 +1,9 @@ +--- + +- name: delete all screensaver packages + apt: + pkg: + - light-locker + - xscreensaver + - mate-screensaver + state: absent diff --git a/tasks/packages.yaml b/tasks/packages.yaml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/tasks/packages.yaml @@ -0,0 +1 @@ +--- diff --git a/tasks/screensavers/mate-screensaver.yaml b/tasks/screensavers/mate-screensaver.yaml new file mode 100644 index 0000000..382c4d0 --- /dev/null +++ b/tasks/screensavers/mate-screensaver.yaml @@ -0,0 +1,74 @@ +--- + +- name: ensure old screensavers are absent + apt: + pkg: + - light-locker + - xscreensaver + state: absent + +- name: install required debian packages + apt: + pkg: + - mate-screensaver + - xscreensaver-gl + - python3 + - mate-power-manager + - xautolock + - xss-lock + - xbacklight + - i3lock + +- name: gdmflexiserver dummy script + copy: + src: gdmflexiserver-fake.sh + dest: /usr/local/bin/gdmflexiserver + mode: 0755 + +# Bug: https://github.com/mate-desktop/mate-screensaver/issues/57 +# https://gist.github.com/alexander255/9b991816418e4e60ee7c +- name: mate-screensaver-helper-inhibition script + copy: + src: mate-screensaver-helper-inhibition.py + dest: /usr/local/bin/mate-screensaver-helper-inhibition + mode: 0755 + +- name: screensaver settings script + template: + src: screensaver-settings.sh.j2 + dest: /usr/local/bin/screensaver-settings + mode: 0755 + +- name: screensaver start script + template: + src: screensaver-start.sh.j2 + dest: /usr/local/bin/screensaver-start + mode: 0755 + +- name: screensaver lock script + template: + src: screensaver-lock.sh.j2 + dest: /usr/local/bin/screensaver-lock + mode: 0755 + +- import_role: + name: dconf-lock + vars: + dconf_lock_id: screensaver + dconf_lock_settings: + /org/mate/screensaver: + idle-activation-enabled: 'true' + lock-enabled: 'true' + mode: "'single'" + themes: "['{{screensaver_theme}}']" + /org/mate/desktop/session: + idle-delay: "{{ screensaver_locktime | int }}" + /org/mate/power-manager: + sleep-display-ac: "{{ screensaver_sleeptime | int * 60 }}" + dconf_lock_paths: + - /org/mate/desktop/session/idle-delay + - /org/mate/screensaver/idle-activation-enabled + - /org/mate/screensaver/lock-enabled + - /org/mate/screensaver/mode + - /org/mate/screensaver/themes + - /org/mate/power-manager/sleep-display-ac diff --git a/vars/main.yaml b/vars/main.yaml index ed97d53..6900926 100644 --- a/vars/main.yaml +++ b/vars/main.yaml @@ -1 +1,10 @@ --- + + +screensaver_debian_packages: + mate-screensaver: + - mate-screensaver + light-locker: + - light-locker + xscreensaver: + - xscreensaver