diff --git a/home-manager/modules/dropbox/default.nix b/home-manager/modules/dropbox/default.nix index c68b32d..2d2ec1e 100644 --- a/home-manager/modules/dropbox/default.nix +++ b/home-manager/modules/dropbox/default.nix @@ -1,4 +1,5 @@ -{ lib +{ pkgs +, lib , config , ... }: @@ -6,9 +7,30 @@ with lib; let cfg = config.eboskma.programs.dropbox; in { - options.eboskma.programs.dropbox = { enable = mkEnableOption "activate dropbox"; }; + options.eboskma.programs.dropbox = { enable = mkEnableOption "dropbox using the maestral client"; }; config = mkIf cfg.enable { - services.dropbox.enable = true; + 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 ]; }; }