465a66ab3f
added two example jobs svn path=/nixos/trunk/; revision=11146
70 lines
1.4 KiB
Nix
70 lines
1.4 KiB
Nix
{ path, thisConfig, config, lib, pkgs, upstartHelpers } : with upstartHelpers; {
|
|
options = {
|
|
description = "synergy client lets you use a shared keyboard, mouse and clipboard";
|
|
|
|
configuration = mkOption {
|
|
description = "
|
|
The synergy server configuration file
|
|
";
|
|
};
|
|
screenName = mkOption {
|
|
default = "";
|
|
description = "
|
|
use screen-name instead the hostname to identify
|
|
this screen in the configuration.
|
|
";
|
|
apply = x: "-n '${x}'";
|
|
};
|
|
address = mkOption {
|
|
default = "";
|
|
description = "listen for clients on the given address";
|
|
apply = x: "-a '${x}'";
|
|
};
|
|
};
|
|
|
|
jobs =
|
|
[ ( rec {
|
|
name = "synergys";
|
|
|
|
extraEtc = [ (autoGeneratedEtcFile { name = name + ".conf"; content = thisConfig.configuration; }) ];
|
|
|
|
# TODO start only when X Server has started as well
|
|
job = "
|
|
description \"${name}\"
|
|
|
|
start on network-interfaces/started and xserver/started
|
|
stop on network-interfaces/stop or xserver/stop
|
|
|
|
exec ${pkgs.synergy}/bin/synergys -c /etc/${name}.conf -f ${configV "address"} ${configV "screenName"}
|
|
";
|
|
|
|
} ) ];
|
|
}
|
|
|
|
/* Example configuration
|
|
|
|
section: screens
|
|
laptop:
|
|
dm:
|
|
win:
|
|
end
|
|
section: aliases
|
|
laptop:
|
|
192.168.5.5
|
|
dm:
|
|
192.168.5.78
|
|
win:
|
|
192.168.5.54
|
|
end
|
|
section: links
|
|
laptop:
|
|
left = dm
|
|
dm:
|
|
right = laptop
|
|
left = win
|
|
win:
|
|
right = dm
|
|
end
|
|
|
|
*/
|