36 lines
886 B
Nix
36 lines
886 B
Nix
{ 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 ];
|
|
};
|
|
}
|