34 lines
932 B
Nix
34 lines
932 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let cfg = config.sydnix.dropbox;
|
|
in {
|
|
options = {
|
|
sydnix.dropbox = {
|
|
enable = mkEnableOption "Dropbox";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.systemPackages = [ pkgs.dropbox-cli ];
|
|
systemd.user.services.dropbox = {
|
|
description = "Dropbox";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
environment = {
|
|
QT_PLUGIN_PATH = "/run/current-system/sw/" + pkgs.qt5.qtbase.qtPluginPrefix;
|
|
QML2_IMPORT_PATH = "/run/current-system/sw/" + pkgs.qt5.qtbase.qtQmlPrefix;
|
|
};
|
|
serviceConfig = {
|
|
ExecStart = "${lib.getBin pkgs.dropbox}/bin/dropbox";
|
|
ExecReload = "${lib.getBin pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
|
KillMode = "control-group"; # upstream recommends process
|
|
Restart = "on-failure";
|
|
PrivateTmp = true;
|
|
ProtectSystem = "full";
|
|
Nice = 10;
|
|
};
|
|
};
|
|
};
|
|
}
|