{ pkgs , lib , config , ... }: with lib; let cfg = config.eboskma.programs.dropbox; in { options.eboskma.programs.dropbox = { enable = mkEnableOption "dropbox using the maestral client"; }; config = mkIf cfg.enable { systemd.user.services = { maestral = { Unit = { Description = "Maestral daemon"; }; Service = { Type = "notify"; NotifyAccess = "exec"; ExecStart = "${pkgs.maestral}/bin/maestral start -f"; ExecStop = "${pkgs.maestral}/bin/maestral stop"; ExecStopPost = ''${pkgs.bash}/bin/bash -c "if [[ $SERVICE_RESULT != success ]]; then notify-send Maestral 'Daemon failed'; fi"''; WatchdogSec = "30s"; }; Install = { WantedBy = [ "default.target" ]; }; }; }; home.packages = [ pkgs.maestral-gui pkgs.maestral ]; }; }