feat(desktop): systemd user scope service and timers setup
This commit is contained in:
parent
ca6d364df7
commit
85f1f01fb7
2 changed files with 87 additions and 0 deletions
51
ansible/roles/systemd_user/tasks/main.yaml
Normal file
51
ansible/roles/systemd_user/tasks/main.yaml
Normal 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
|
||||
36
ansible/setup_desktop_workstation.yaml
Normal file
36
ansible/setup_desktop_workstation.yaml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Desktop workstation non-root setup playbook
|
||||
# This playbook contains user setup for the graphical Sway desktop environment
|
||||
# that doesn't require root
|
||||
- hosts: workstation
|
||||
gather_facts: True
|
||||
vars:
|
||||
home: /home/{{ user }}
|
||||
tasks:
|
||||
- name: "Setup systemd user services and timers"
|
||||
include_role:
|
||||
name: systemd_user
|
||||
vars:
|
||||
user_systemd_services:
|
||||
- name: "cliphist"
|
||||
enabled: true
|
||||
- name: "kanshi"
|
||||
enabled: true
|
||||
- name: "gammastep"
|
||||
enabled: true
|
||||
- name: "swaybg"
|
||||
enabled: true
|
||||
# - name: "hourly_remainder"
|
||||
# enabled: true
|
||||
# timer: true
|
||||
template_dir: "systemd/user"
|
||||
|
||||
- name: Read glue scripts config
|
||||
ansible.builtin.slurp:
|
||||
src: "glue_scripts/config.yaml"
|
||||
register: glue_scripts_config_yaml
|
||||
- name: Install glue scripts
|
||||
ansible.builtin.include_tasks:
|
||||
file: install_glue_scripts.yaml
|
||||
vars:
|
||||
config: "{{ (glue_scripts_config_yaml.content | b64decode | from_yaml) }}"
|
||||
glue_scripts_config_yaml: "{{ lookup('file', 'desktop_glue_scripts/config.yaml') }}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue