diff --git a/hosts/dumpyourvms/dumpyourvms.nix b/hosts/dumpyourvms/dumpyourvms.nix
index b14880ab..846232d1 100644
--- a/hosts/dumpyourvms/dumpyourvms.nix
+++ b/hosts/dumpyourvms/dumpyourvms.nix
@@ -91,6 +91,31 @@ in
       ExecStop = "${pkgs.bash}/bin/sh -c 'echo ON >/sys/kernel/debug/vgaswitcheroo/switch'";
     };
     wantedBy = [ "multi-user.target" ];
+
+  systemd.user.services."battery-low" = {
+    enable = true;
+    description = "Notify user if battery is below 13%";
+    partOf = ["graphical-session.target"];
+    wantedBy = ["graphical-session.target"];
+    serviceConfig = {
+      Type = "simple";
+      ExecStart = lib.getExe (pkgs.writeShellApplication {
+        name = "battery-low-notification";
+        text = ''
+          if [ "$(${pkgs.coreutils}/bin/cat /sys/class/power_supply/BAT0/status)" != "Charging" ] && (( 13 >= $(${pkgs.coreutils}/bin/cat /sys/class/power_supply/BAT0/capacity) ));
+          then ${pkgs.lib.getExe pkgs.libnotify} --urgency=critical "low battery" "$(${pkgs.coreutils}/bin/cat /sys/class/power_supply/BAT0/capacity)";
+          else echo; fi;
+        '';
+      });
+    };
+  };
+  systemd.user.timers."battery-low" = {
+    wantedBy = ["timers.target"];
+    timerConfig = {
+      # Every Minute
+      OnCalendar = "*-*-* *:0/3";
+      Unit = "battery-low.service";
+    };
   };
 
   # Increase console font size for HiDPI display