aboutsummaryrefslogtreecommitdiff
path: root/dot_config/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config/systemd')
-rw-r--r--dot_config/systemd/user/kanshi.service14
-rw-r--r--dot_config/systemd/user/mbsync.service9
-rw-r--r--dot_config/systemd/user/mbsync.timer10
-rw-r--r--dot_config/systemd/user/sway-session-pre.target18
-rw-r--r--dot_config/systemd/user/sway-session-shutdown.target10
-rw-r--r--dot_config/systemd/user/sway-session.target18
-rw-r--r--dot_config/systemd/user/swaybg-random.service5
-rw-r--r--dot_config/systemd/user/swayidle.service14
-rw-r--r--dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer1
-rw-r--r--dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-Downloads.timer1
-rw-r--r--dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-tmp.timer1
-rw-r--r--dot_config/systemd/user/wayland-session-pre.target18
-rw-r--r--dot_config/systemd/user/wayland-session.target18
-rw-r--r--dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service1
-rw-r--r--dot_config/systemd/user/wayland-session.target.wants/symlink_swaybg-random.service (renamed from dot_config/systemd/user/default.target.wants/symlink_swaybg-random.service)0
-rw-r--r--dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service1
16 files changed, 136 insertions, 3 deletions
diff --git a/dot_config/systemd/user/kanshi.service b/dot_config/systemd/user/kanshi.service
new file mode 100644
index 0000000..381b9e4
--- /dev/null
+++ b/dot_config/systemd/user/kanshi.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Dynamic output configuration
+Documentation=man:kanshi(1)
+PartOf=wayland-session.target
+Requires=wayland-session.target
+After=wayland-session.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/kanshi
+Restart=always
+
+[Install]
+WantedBy=wayland-session.target
diff --git a/dot_config/systemd/user/mbsync.service b/dot_config/systemd/user/mbsync.service
new file mode 100644
index 0000000..da0f146
--- /dev/null
+++ b/dot_config/systemd/user/mbsync.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Mailbox synchronization service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/mbsync -a
+
+[Install]
+WantedBy=default.target
diff --git a/dot_config/systemd/user/mbsync.timer b/dot_config/systemd/user/mbsync.timer
new file mode 100644
index 0000000..b613c7f
--- /dev/null
+++ b/dot_config/systemd/user/mbsync.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Mailbox synchronization timer
+
+[Timer]
+OnBootSec=2m
+OnUnitActiveSec=15m
+Unit=mbsync.service
+
+[Install]
+WantedBy=timers.target
diff --git a/dot_config/systemd/user/sway-session-pre.target b/dot_config/systemd/user/sway-session-pre.target
new file mode 100644
index 0000000..3215544
--- /dev/null
+++ b/dot_config/systemd/user/sway-session-pre.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session-pre.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Session services which should run early before the sway session is brought up
+Documentation=man:systemd.special(7)
+Requires=basic.target
+Before=sway-session.target
+RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=wayland-session-pre.target
+After=wayland-session-pre.target
diff --git a/dot_config/systemd/user/sway-session-shutdown.target b/dot_config/systemd/user/sway-session-shutdown.target
new file mode 100644
index 0000000..3e21266
--- /dev/null
+++ b/dot_config/systemd/user/sway-session-shutdown.target
@@ -0,0 +1,10 @@
+[Unit]
+Description=Shutdown running Sway session
+DefaultDependencies=no
+StopWhenUnneeded=true
+
+Conflicts=graphical-session.target graphical-session-pre.target
+After=graphical-session.target graphical-session-pre.target
+
+Conflicts=sway-session.target
+After=sway-session.target
diff --git a/dot_config/systemd/user/sway-session.target b/dot_config/systemd/user/sway-session.target
new file mode 100644
index 0000000..4637f0f
--- /dev/null
+++ b/dot_config/systemd/user/sway-session.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Current sway user session
+Documentation=man:systemd.special(7)
+Requires=basic.target
+#RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=wayland-session.target
+Wants=wayland-session-pre.target
+After=wayland-session-pre.target
diff --git a/dot_config/systemd/user/swaybg-random.service b/dot_config/systemd/user/swaybg-random.service
index 37cd49d..06d7c29 100644
--- a/dot_config/systemd/user/swaybg-random.service
+++ b/dot_config/systemd/user/swaybg-random.service
@@ -1,12 +1,11 @@
[Unit]
-Description=randomize background
+Description=Randomize Wayland background
[Service]
Type=exec
Restart=always
RuntimeMaxSec=1h
-
ExecStart=/home/rak/bin/swaybg-random
[Install]
-WantedBy=default.target
+WantedBy=wayland-session.target
diff --git a/dot_config/systemd/user/swayidle.service b/dot_config/systemd/user/swayidle.service
new file mode 100644
index 0000000..536eaf9
--- /dev/null
+++ b/dot_config/systemd/user/swayidle.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Idle manager for Wayland
+Documentation=man:swayidle(1)
+PartOf=wayland-session.target
+Requires=wayland-session.target
+After=wayland-session.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/swayidle -w
+Restart=always
+
+[Install]
+WantedBy=wayland-session.target
diff --git a/dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer b/dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer
new file mode 100644
index 0000000..adba734
--- /dev/null
+++ b/dot_config/systemd/user/timers.target.wants/symlink_mbsync.timer
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/mbsync.timer
diff --git a/dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-Downloads.timer b/dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-Downloads.timer
new file mode 100644
index 0000000..87e279f
--- /dev/null
+++ b/dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-Downloads.timer
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/tmpreaper@.timer
diff --git a/dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-tmp.timer b/dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-tmp.timer
new file mode 100644
index 0000000..87e279f
--- /dev/null
+++ b/dot_config/systemd/user/timers.target.wants/symlink_tmpreaper@-home-rak-tmp.timer
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/tmpreaper@.timer
diff --git a/dot_config/systemd/user/wayland-session-pre.target b/dot_config/systemd/user/wayland-session-pre.target
new file mode 100644
index 0000000..e4057ed
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session-pre.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session-pre.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Session services which should run early before the wayland session is brought up
+Documentation=man:systemd.special(7)
+Requires=basic.target
+Before=wayland-session.target
+RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=graphical-session-pre.target
+After=graphical-session-pre.target
diff --git a/dot_config/systemd/user/wayland-session.target b/dot_config/systemd/user/wayland-session.target
new file mode 100644
index 0000000..f4cc2b7
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session.target
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: LGPL-2.1+
+#
+# This file is inspired from systemd's `graphical-session.target`
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Current wayland user session
+Documentation=man:systemd.special(7)
+Requires=basic.target
+RefuseManualStart=yes
+StopWhenUnneeded=yes
+BindsTo=graphical-session.target
+Wants=graphical-session-pre.target
+After=graphical-session-pre.target
diff --git a/dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service b/dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service
new file mode 100644
index 0000000..7d5903e
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session.target.wants/symlink_kanshi.service
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/kanshi.service
diff --git a/dot_config/systemd/user/default.target.wants/symlink_swaybg-random.service b/dot_config/systemd/user/wayland-session.target.wants/symlink_swaybg-random.service
index 2ebb1f9..2ebb1f9 100644
--- a/dot_config/systemd/user/default.target.wants/symlink_swaybg-random.service
+++ b/dot_config/systemd/user/wayland-session.target.wants/symlink_swaybg-random.service
diff --git a/dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service b/dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service
new file mode 100644
index 0000000..a53991f
--- /dev/null
+++ b/dot_config/systemd/user/wayland-session.target.wants/symlink_swayidle.service
@@ -0,0 +1 @@
+/home/rak/.config/systemd/user/swayidle.service