summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-05-20 13:01:25 +0200
committerDaiderd Jordan <daiderd@gmail.com>2017-05-20 13:01:25 +0200
commitc8c2763c9ee8037ebda06a4b7f6bb74b6be09a53 (patch)
tree042f0266fa24731377cc4ddcea27a2c087c6b426
parentf52109ae5a340642253495b2f3f69fe8268f951c (diff)
khd: add option to manage config in /etc/khdrc
-rw-r--r--default.nix2
-rw-r--r--modules/services/khd/default.nix (renamed from modules/services/khd.nix)15
2 files changed, 12 insertions, 5 deletions
diff --git a/default.nix b/default.nix
index c5bf6e5..2b41475 100644
--- a/default.nix
+++ b/default.nix
@@ -37,7 +37,7 @@ let
./modules/launchd
./modules/security
./modules/services/activate-system.nix
- ./modules/services/khd.nix
+ ./modules/services/khd
./modules/services/kwm.nix
./modules/services/emacs.nix
./modules/services/mopidy.nix
diff --git a/modules/services/khd.nix b/modules/services/khd/default.nix
index 336e61e..454e88a 100644
--- a/modules/services/khd.nix
+++ b/modules/services/khd/default.nix
@@ -18,7 +18,8 @@ in
services.khd.package = mkOption {
type = types.package;
- example = literalExample "pkgs.khd";
+ default = pkgs.khd;
+ defaultText = "pkgs.khd";
description = "This option specifies the khd package to use.";
};
@@ -27,18 +28,24 @@ in
default = false;
description = "Whether to enable accessibility permissions for the khd daemon.";
};
+
+ services.khd.khdConfig = mkOption {
+ type = types.lines;
+ default = "";
+ example = "alt + shift - r : kwmc quit";
+ };
};
config = mkIf cfg.enable {
- services.khd.package = mkDefault pkgs.khd;
-
security.accessibilityPrograms = mkIf cfg.enableAccessibilityAccess [ "${cfg.package}/bin/khd" ];
+ environment.etc."khdrc".text = cfg.khdConfig;
+
launchd.user.agents.khd = {
path = [ cfg.package pkgs.kwm config.environment.systemPath ];
- serviceConfig.Program = "${cfg.package}/bin/khd";
+ serviceConfig.ProgramArguments = [ "${cfg.package}/bin/khd" "-c" "/etc/khdrc" ];
serviceConfig.KeepAlive = true;
serviceConfig.ProcessType = "Interactive";
serviceConfig.Sockets.Listeners =