forked from mirrors/nixpkgs
a65cf63f55
I doubt that ordering non-sysvinit services after network.target ever makes sense. In this case, CopyConsole requires DNS lookups and fails if these are not yet possible.
55 lines
1.3 KiB
Nix
55 lines
1.3 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.
|
|
NOTE: before enabling the client for the first time, it must be
|
|
configured by first running CopyConsole (command line) or CopyAgent
|
|
(graphical) as the appropriate user.
|
|
";
|
|
};
|
|
|
|
user = mkOption {
|
|
description = "The user for which the Copy.com client should be run.";
|
|
};
|
|
|
|
debug = mkOption {
|
|
default = false;
|
|
description = "Output more (debugging) messages to the console.";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.systemPackages = [ pkgs.postfix ];
|
|
|
|
systemd.services."copy-com-${cfg.user}" = {
|
|
description = "Copy.com client";
|
|
wants = [ "network-online.target" ];
|
|
after = [ "network-online.target" "local-fs.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.copy-com}/bin/CopyConsole ${if cfg.debug then "-consoleOutput -debugToConsole=dirwatch,path-watch,csm_path,csm -debug -console" else ""}";
|
|
User = "${cfg.user}";
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
}
|
|
|