1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-21 08:59:20 +03:00
nixpkgs/nixos/modules/services/x11/unclutter.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

90 lines
2.1 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.services.unclutter;
in
{
options.services.unclutter = {
enable = mkOption {
description = "Enable unclutter to hide your mouse cursor when inactive";
type = types.bool;
default = false;
};
package = mkPackageOption pkgs "unclutter" { };
keystroke = mkOption {
description = "Wait for a keystroke before hiding the cursor";
type = types.bool;
default = false;
};
timeout = mkOption {
description = "Number of seconds before the cursor is marked inactive";
type = types.int;
default = 1;
};
threshold = mkOption {
description = "Minimum number of pixels considered cursor movement";
type = types.int;
default = 1;
};
excluded = mkOption {
description = "Names of windows where unclutter should not apply";
type = types.listOf types.str;
default = [ ];
example = [ "" ];
};
extraOptions = mkOption {
description = "More arguments to pass to the unclutter command";
type = types.listOf types.str;
default = [ ];
example = [
"noevent"
"grab"
];
};
};
config = mkIf cfg.enable {
systemd.user.services.unclutter = {
description = "unclutter";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = ''
${cfg.package}/bin/unclutter \
-idle ${toString cfg.timeout} \
2020-02-14 01:28:03 +01:00
-jitter ${toString (cfg.threshold - 1)} \
${optionalString cfg.keystroke "-keystroke"} \
${concatMapStrings (x: " -" + x) cfg.extraOptions} \
-not ${concatStringsSep " " cfg.excluded} \
'';
serviceConfig.PassEnvironment = "DISPLAY";
serviceConfig.RestartSec = 3;
serviceConfig.Restart = "always";
};
};
2019-12-04 17:07:45 +01:00
2020-01-19 10:09:12 +01:00
imports = [
(mkRenamedOptionModule
2020-01-19 10:09:12 +01:00
[ "services" "unclutter" "threeshold" ]
[ "services" "unclutter" "threshold" ]
)
];
2019-12-04 17:07:45 +01:00
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
}