parent
c21ba4f7bb
commit
f0d1af9bd4
@ -0,0 +1,58 @@ |
||||
{ config, lib, pkgs, ... }: |
||||
|
||||
with lib; |
||||
|
||||
let cfg = config.services.tp-auto-kbbl; |
||||
|
||||
in { |
||||
meta.maintainers = with maintainers; [ sebtm ]; |
||||
|
||||
options = { |
||||
services.tp-auto-kbbl = { |
||||
enable = mkEnableOption "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux"; |
||||
|
||||
package = mkOption { |
||||
type = types.package; |
||||
default = pkgs.tp-auto-kbbl; |
||||
defaultText = literalExample "pkgs.tp-auto-kbbl"; |
||||
description = "Package providing <command>tp-auto-kbbl</command>."; |
||||
}; |
||||
|
||||
arguments = mkOption { |
||||
type = types.listOf types.str; |
||||
default = [ ]; |
||||
description = '' |
||||
List of arguments appended to <literal>./tp-auto-kbbl --device [device] [arguments]</literal> |
||||
''; |
||||
}; |
||||
|
||||
device = mkOption { |
||||
type = types.str; |
||||
default = "/dev/input/event0"; |
||||
description = "Device watched for activities."; |
||||
}; |
||||
|
||||
}; |
||||
}; |
||||
|
||||
config = mkIf cfg.enable { |
||||
environment.systemPackages = [ cfg.package ]; |
||||
|
||||
systemd.services.tp-auto-kbbl = { |
||||
serviceConfig = { |
||||
ExecStart = concatStringsSep " " |
||||
([ "${cfg.package}/bin/tp-auto-kbbl" "--device ${cfg.device}" ] ++ cfg.arguments); |
||||
Restart = "always"; |
||||
Type = "simple"; |
||||
}; |
||||
|
||||
unitConfig = { |
||||
Description = "Auto toggle keyboard backlight"; |
||||
Documentation = "https://github.com/saibotd/tp-auto-kbbl"; |
||||
After = [ "dbus.service" ]; |
||||
}; |
||||
|
||||
wantedBy = [ "multi-user.target" ]; |
||||
}; |
||||
}; |
||||
} |
@ -0,0 +1,33 @@ |
||||
{ lib |
||||
, fetchFromGitHub |
||||
, rustPlatform |
||||
, dbus |
||||
, pkg-config |
||||
, openssl |
||||
, libevdev |
||||
}: |
||||
|
||||
rustPlatform.buildRustPackage rec { |
||||
pname = "tp-auto-kbbl"; |
||||
version = "0.1.5"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "saibotd"; |
||||
repo = pname; |
||||
rev = version; |
||||
sha256 = "0db9h15zyz2sq5r1qmq41288i54rhdl30qy08snpsh6sx2q4443y"; |
||||
}; |
||||
|
||||
cargoSha256 = "0m1gcvshbd9cfb0v6f86kbcfjxb4p9cxynmxgi4nxkhaszfyf56c"; |
||||
|
||||
nativeBuildInputs = [ pkg-config ]; |
||||
buildInputs = [ dbus libevdev openssl ]; |
||||
|
||||
meta = with lib; { |
||||
description = "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux"; |
||||
homepage = "https://github.com/saibotd/tp-auto-kbbl"; |
||||
license = licenses.mit; |
||||
maintainers = with maintainers; [ sebtm ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
Loading…
Reference in new issue