diff options
author | Jakob Odersky <jakob@odersky.com> | 2018-12-26 10:21:13 +0100 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2018-12-26 10:21:13 +0100 |
commit | 037cd77d521d36ddcd061d305c05c2538af5716b (patch) | |
tree | 5d7f2e4d3c23271b874b076313ea2fde54463a99 /home/.local | |
parent | a686d0105185fb5ec578879fd6160eefb951d83c (diff) | |
download | dotfiles-037cd77d521d36ddcd061d305c05c2538af5716b.tar.gz dotfiles-037cd77d521d36ddcd061d305c05c2538af5716b.tar.bz2 dotfiles-037cd77d521d36ddcd061d305c05c2538af5716b.zip |
Refactor systemd service status system
Diffstat (limited to 'home/.local')
-rwxr-xr-x | home/.local/lib/dbusmonitor (renamed from home/.local/bin/dbusmonitor) | 6 | ||||
-rw-r--r-- | home/.local/share/systemd/user/backup.service | 8 | ||||
-rw-r--r-- | home/.local/share/systemd/user/backup.timer | 12 | ||||
-rw-r--r-- | home/.local/share/systemd/user/dbusmonitor.service | 9 | ||||
-rw-r--r-- | home/.local/share/systemd/user/internet-metered.target | 3 | ||||
-rw-r--r-- | home/.local/share/systemd/user/internet-unmetered.target | 3 |
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 |