53 lines
1.1 KiB
Nix
53 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
|
|
cfg = config.services.copy-com;
|
|
|
|
in
|
|
|
|
{
|
|
options = {
|
|
|
|
services.copy-com = {
|
|
|
|
enable = mkOption {
|
|
default = false;
|
|
description = "
|
|
Enable the copy.com client.
|
|
|
|
The first time copy.com is run, it needs to be configured. Before enabling run
|
|
copy_console manually.
|
|
";
|
|
};
|
|
|
|
user = mkOption {
|
|
description = "The user for which copy should run.";
|
|
};
|
|
|
|
debug = mkOption {
|
|
default = false;
|
|
description = "Output more.";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.systemPackages = [ pkgs.postfix ];
|
|
|
|
systemd.services."copy-com-${cfg.user}" = {
|
|
description = "Copy.com Client";
|
|
after = [ "network.target" "local-fs.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.copy-com}/bin/copy_console ${if cfg.debug then "-consoleOutput -debugToConsole=dirwatch,path-watch,csm_path,csm -debug -console" else ""}";
|
|
User = "${cfg.user}";
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
}
|
|
|