about summary refs log tree commit diff
path: root/fun/idual
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-04-25T23·24+0100
committerVincent Ambo <tazjin@google.com>2020-04-25T23·28+0100
commit6644d0031da7af16effda4287ea2da17506ee415 (patch)
tree0cd32cf4f408c981143c1ffedfbd44f88d41f895 /fun/idual
parent28bf77a1f12b720d4e1448434f3eda94814bcad4 (diff)
feat(fun/idual && nixos/camden): Add light alarm systemd units r/688
Adds a systemd unit to run the idual light alarm using a transient
timer created by systemd-run.
Diffstat (limited to 'fun/idual')
-rw-r--r--fun/idual/__init__.py2
-rw-r--r--fun/idual/default.nix11
2 files changed, 10 insertions, 3 deletions
diff --git a/fun/idual/__init__.py b/fun/idual/__init__.py
index 2c0f97170b54..ad103ef049b5 100644
--- a/fun/idual/__init__.py
+++ b/fun/idual/__init__.py
@@ -62,8 +62,10 @@ if __name__ == "__main__":
     #
     # The command sending doesn't always work, hence this brute-force
     # approach.
+    print('Initialising light controller')
     ctrl = LightController()
 
+    print('Turning on the lights. Wakey, wakey!')
     for i in range(9):
         ctrl.send_cmd('morning')
         time.sleep(0.2)
diff --git a/fun/idual/default.nix b/fun/idual/default.nix
index e051f1c812e4..1ac87ab47f0f 100644
--- a/fun/idual/default.nix
+++ b/fun/idual/default.nix
@@ -12,8 +12,13 @@ let
       python.broadlink
     ];
   };
-in lib.fix (self: {
   package = python3Packages.buildPythonPackage opts;
   script  = python3Packages.buildPythonApplication opts;
-  python  = python3.withPackages (_: [ self.package ]);
-})
+in {
+  inherit script;
+  python  = python3.withPackages (_: [ package ]);
+  setAlarm = pkgs.writeShellScriptBin "set-alarm" ''
+    echo "setting an alarm for ''${1}"
+    ${pkgs.systemd}/bin/systemd-run --user --on-calendar="''${1} Europe/London" --unit=light-alarm.service
+  '';
+}