{
  lib,
  pkgs,
  ...
}: {
  systemd = {
    services.immich-backup = let
      homeDir = "/home/notoh";
    in {
      script = with pkgs; ''
        echo $DISPLAY
        export DISPLAY=:0.0
        echo $DISPLAY
        export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
        ${lib.getExe immich-cli} upload --album-name "desktop screenshots" --recursive ${homeDir}/Pictures/screenshots
        ${lib.getExe libnotify} --app-name "immich-backup" --urgency=low --icon=dialog-information "immich backup completed"
      '';
      serviceConfig = {
        Type = "oneshot";
        User = "notoh";
      };
      environment = {
        IMMICH_CONFIG_DIR = "${homeDir}/.config/immich";
      };
    };
    timers.immich-backup = {
      wantedBy = ["timers.target"];
      description = "immich backup timer";
      timerConfig = {
        OnCalendar = "*-*-* 00:00:00";
        Persistent = true;
        Unit = "immich-backup.service";
      };
      unitConfig = {
        Description = "immich backup timer";
      };
    };
  };
}