aboutsummaryrefslogtreecommitdiffstats
path: root/roles/_workstation/sleep
diff options
context:
space:
mode:
Diffstat (limited to 'roles/_workstation/sleep')
-rw-r--r--roles/_workstation/sleep/tasks/main.yml12
-rw-r--r--roles/_workstation/sleep/templates/user-sleep@.service.j217
2 files changed, 29 insertions, 0 deletions
diff --git a/roles/_workstation/sleep/tasks/main.yml b/roles/_workstation/sleep/tasks/main.yml
new file mode 100644
index 0000000..1842adf
--- /dev/null
+++ b/roles/_workstation/sleep/tasks/main.yml
@@ -0,0 +1,12 @@
+---
+
+- name: generate user-sleep system service
+ ansible.builtin.template:
+ src: user-sleep@.service.j2
+ dest: /etc/systemd/system/user-sleep@.service
+ mode: "0755"
+
+- name: enable user-sleep system service
+ ansible.builtin.service:
+ name: user-sleep@1000
+ enabled: true
diff --git a/roles/_workstation/sleep/templates/user-sleep@.service.j2 b/roles/_workstation/sleep/templates/user-sleep@.service.j2
new file mode 100644
index 0000000..34d404d
--- /dev/null
+++ b/roles/_workstation/sleep/templates/user-sleep@.service.j2
@@ -0,0 +1,17 @@
+# managed by Ansible
+
+[Unit]
+Description=sleep.target of a systemd user session
+Before=suspend.target sleep.target hibernate.target
+StopWhenUnneeded=yes
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/systemctl --user start suspend.target
+ExecStop=/usr/bin/systemctl --user stop suspend.target
+User=%I
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%I/bus
+RemainAfterExit=yes
+
+[Install]
+WantedBy=suspend.target sleep.target hibernate.target
remember that computers suck.