about summary refs log tree commit diff
path: root/nixos/modules/programs
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2024-04-26 18:02:41 +0200
committerGitHub <noreply@github.com>2024-04-26 18:02:41 +0200
commit02f79ad8016b9d4f8b2edb764ab5abae66f517c3 (patch)
treeb5b68dcc7336ab804bf5a7885e8fb1d709a1d183 /nixos/modules/programs
parentc28e93ac207280b4dc0223a34c07df1709a85284 (diff)
parent91322305ebae62dc373af3672687bb30c8567310 (diff)
Merge pull request #306535 from khaneliman/wshowkeys
wshowkeys: add cfg.package option
Diffstat (limited to 'nixos/modules/programs')
-rw-r--r--nixos/modules/programs/wshowkeys.nix34
1 files changed, 19 insertions, 15 deletions
diff --git a/nixos/modules/programs/wshowkeys.nix b/nixos/modules/programs/wshowkeys.nix
index f7b71d2bb0c89..1fef33e047175 100644
--- a/nixos/modules/programs/wshowkeys.nix
+++ b/nixos/modules/programs/wshowkeys.nix
@@ -1,27 +1,31 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
 let
   cfg = config.programs.wshowkeys;
-in {
-  meta.maintainers = with maintainers; [ primeos ];
-
+in
+{
   options = {
     programs.wshowkeys = {
-      enable = mkEnableOption ''
+      enable = lib.mkEnableOption ''
         wshowkeys (displays keypresses on screen on supported Wayland
         compositors). It requires root permissions to read input events, but
         these permissions are dropped after startup'';
+      package = lib.mkPackageOption pkgs "wshowkeys" { };
     };
   };
 
-  config = mkIf cfg.enable {
-    security.wrappers.wshowkeys =
-      { setuid = true;
-        owner = "root";
-        group = "root";
-        source = "${pkgs.wshowkeys}/bin/wshowkeys";
-      };
+  config = lib.mkIf cfg.enable {
+    security.wrappers.wshowkeys = {
+      setuid = true;
+      owner = "root";
+      group = "root";
+      source = lib.getExe cfg.package;
+    };
   };
+
+  meta.maintainers = with lib.maintainers; [ primeos ];
 }