nixos/preload: init
[NixPkgs.git] / nixos / modules / services / x11 / touchegg.nix
blobf1103c054c57fa3c978e663c84803d39e2708f1d
1 { config, lib, pkgs, ... }:
3 with lib;
5 let cfg = config.services.touchegg;
7 in {
8   meta = {
9     maintainers = teams.pantheon.members;
10   };
12   ###### interface
13   options.services.touchegg = {
14     enable = mkEnableOption (lib.mdDoc "touchegg, a multi-touch gesture recognizer");
16     package = mkOption {
17       type = types.package;
18       default = pkgs.touchegg;
19       defaultText = literalExpression "pkgs.touchegg";
20       description = lib.mdDoc "touchegg derivation to use.";
21     };
22   };
24   ###### implementation
25   config = mkIf cfg.enable {
26     systemd.services.touchegg = {
27       description = "Touchegg Daemon";
28       serviceConfig = {
29         Type = "simple";
30         ExecStart = "${cfg.package}/bin/touchegg --daemon";
31         Restart = "on-failure";
32       };
33       wantedBy = [ "multi-user.target" ];
34     };
36     environment.systemPackages = [ cfg.package ];
37   };