aboutsummaryrefslogtreecommitdiff
path: root/modules/misc/numlock.nix
diff options
context:
space:
mode:
authorEvan Stoll <evanjsx@gmail.com>2019-07-28 21:41:02 -0400
committerRobert Helgesson <robert@rycee.net>2019-08-08 13:25:01 +0200
commite59b8b0c37f08f6b6a9399b24e9b67d90c9b8436 (patch)
treebfba832dfac6c7642490aabd14187278f14274a9 /modules/misc/numlock.nix
parent3743e8995aa7d7075ede22c772dd206e3d681e75 (diff)
numlock: add module
This adds an option `xsession.numlock` that enable the Num Lock key when starting a graphical session. Fixes #651
Diffstat (limited to 'modules/misc/numlock.nix')
-rw-r--r--modules/misc/numlock.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/misc/numlock.nix b/modules/misc/numlock.nix
new file mode 100644
index 00000000000..df11f22a780
--- /dev/null
+++ b/modules/misc/numlock.nix
@@ -0,0 +1,34 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.xsession.numlock;
+
+in
+
+{
+ options = {
+ xsession.numlock.enable = mkEnableOption "Num Lock";
+ };
+
+ config = mkIf cfg.enable {
+ systemd.user.services.numlockx = {
+ Unit = {
+ Description = "NumLockX";
+ After = [ "graphical-session-pre.target" ];
+ PartOf = [ "graphical-session.target" ];
+ };
+
+ Service = {
+ Type = "oneshot";
+ ExecStart = "${pkgs.numlockx}/bin/numlockx";
+ };
+
+ Install = {
+ WantedBy = [ "graphical-session.target" ];
+ };
+ };
+ };
+}