feat(desktop): systemd user scope service and timers setup

This commit is contained in:
Matthieu Bessat 2025-10-07 12:46:18 +02:00
parent ca6d364df7
commit 85f1f01fb7
2 changed files with 87 additions and 0 deletions

View file

@ -0,0 +1,51 @@
# Main task of the role to setup systemd user scope services and timer
# Expected var "user_systemd_services" and "template_dir"
- name: Setup systemd user services folder
file:
path: "{{ home }}/.config/systemd/user"
state: directory
recurse: true
- name: Setup user units file
template:
src: "{{ template_dir }}/{{ unit.name }}.service"
dest: "{{ home }}/.config/systemd/user/{{ unit.name }}.service"
loop_control:
loop_var: unit
with_items: "{{ user_systemd_services }}"
- name: Setup user timers
with_items: "{{ systemd_services.user }}"
loop_control:
loop_var: unit
when: "unit.timer is defined and unit.timer"
template:
src: "{{ template_dir }}/{{ unit.name }}.timer"
dest: "{{ home }}/.config/systemd/user/{{ unit.name }}.timer"
- name: Enable user services
with_items: "{{ user_systemd_services }}"
loop_control:
loop_var: unit
systemd_service:
daemon_reload: true
scope: user
name: "{{ unit.name }}"
state: started
enabled: true
- name: Enable user timers
with_items: "{{ systemd_services.user }}"
loop_control:
loop_var: unit
when: "unit.timer is defined and unit.timer"
systemd_service:
scope: user
name: "{{ unit.name }}.timer"
state: started
enabled: true
- name: Reload user daemon
systemd_service:
scope: user
daemon_reload: true