aboutsummaryrefslogtreecommitdiff
path: root/home/.local
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2018-12-26 10:21:13 +0100
committerJakob Odersky <jakob@odersky.com>2018-12-26 10:21:13 +0100
commit037cd77d521d36ddcd061d305c05c2538af5716b (patch)
tree5d7f2e4d3c23271b874b076313ea2fde54463a99 /home/.local
parenta686d0105185fb5ec578879fd6160eefb951d83c (diff)
downloaddotfiles-037cd77d521d36ddcd061d305c05c2538af5716b.tar.gz
dotfiles-037cd77d521d36ddcd061d305c05c2538af5716b.tar.bz2
dotfiles-037cd77d521d36ddcd061d305c05c2538af5716b.zip
Refactor systemd service status system
Diffstat (limited to 'home/.local')
-rwxr-xr-xhome/.local/lib/dbusmonitor (renamed from home/.local/bin/dbusmonitor)6
-rw-r--r--home/.local/share/systemd/user/backup.service8
-rw-r--r--home/.local/share/systemd/user/backup.timer12
-rw-r--r--home/.local/share/systemd/user/dbusmonitor.service9
-rw-r--r--home/.local/share/systemd/user/internet-metered.target3
-rw-r--r--home/.local/share/systemd/user/internet-unmetered.target3
6 files changed, 39 insertions, 2 deletions
diff --git a/home/.local/bin/dbusmonitor b/home/.local/lib/dbusmonitor
index f3b3d4a..4e5713d 100755
--- a/home/.local/bin/dbusmonitor
+++ b/home/.local/lib/dbusmonitor
@@ -18,9 +18,11 @@ def check_metered(changed):
if (value == 2 or value == 4):
# start unit (replace any conflicting requests that might have been
# enqueued to systemctl but not yet run)
- systemd.StartUnit("unmetered-internet.target", "replace")
+ systemd.StopUnit("internet-metered.target", "replace")
+ systemd.StartUnit("internet-unmetered.target", "replace")
else:
- systemd.StopUnit("unmetered-internet.target", "replace")
+ systemd.StopUnit("internet-unmetered.target", "replace")
+ systemd.StartUnit("internet-metered.target", "replace")
nm.PropertiesChanged.connect(check_metered)
loop.run()
diff --git a/home/.local/share/systemd/user/backup.service b/home/.local/share/systemd/user/backup.service
new file mode 100644
index 0000000..74e216e
--- /dev/null
+++ b/home/.local/share/systemd/user/backup.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=copy home data to remote storage
+Requisite=internet-unmetered.target
+After=internet-unmetered.target
+
+[Service]
+Type=simple
+ExecStart=%h/bin/backup
diff --git a/home/.local/share/systemd/user/backup.timer b/home/.local/share/systemd/user/backup.timer
new file mode 100644
index 0000000..0843bd7
--- /dev/null
+++ b/home/.local/share/systemd/user/backup.timer
@@ -0,0 +1,12 @@
+[Unit]
+Description=run backup script periodically
+Requisite=internet-unmetered.target
+After=internet-unmetered.target
+
+[Timer]
+OnCalendar=0/2:00:00
+RandomizedDelaySec=10min
+Persistent=true
+
+[Install]
+WantedBy=internet-unmetered.target
diff --git a/home/.local/share/systemd/user/dbusmonitor.service b/home/.local/share/systemd/user/dbusmonitor.service
new file mode 100644
index 0000000..ff60d31
--- /dev/null
+++ b/home/.local/share/systemd/user/dbusmonitor.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=user service to listen to system dbus events
+
+[Service]
+Type=simple
+ExecStart=%h/.local/lib/dbusmonitor
+
+[Install]
+WantedBy=default.target \ No newline at end of file
diff --git a/home/.local/share/systemd/user/internet-metered.target b/home/.local/share/systemd/user/internet-metered.target
new file mode 100644
index 0000000..8d840a5
--- /dev/null
+++ b/home/.local/share/systemd/user/internet-metered.target
@@ -0,0 +1,3 @@
+[Unit]
+Description=current connection to the internet is metered
+Conflicts=internet-unmetered.target \ No newline at end of file
diff --git a/home/.local/share/systemd/user/internet-unmetered.target b/home/.local/share/systemd/user/internet-unmetered.target
new file mode 100644
index 0000000..db8393f
--- /dev/null
+++ b/home/.local/share/systemd/user/internet-unmetered.target
@@ -0,0 +1,3 @@
+[Unit]
+Description=current connection to the internet is not metered
+Conflicts=internet-metered.target \ No newline at end of file