From c8c2763c9ee8037ebda06a4b7f6bb74b6be09a53 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 20 May 2017 13:01:25 +0200 Subject: [PATCH] khd: add option to manage config in /etc/khdrc --- default.nix | 2 +- modules/services/{khd.nix => khd/default.nix} | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) rename modules/services/{khd.nix => khd/default.nix} (76%) diff --git a/default.nix b/default.nix index c5bf6e55..2b414752 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 similarity index 76% rename from modules/services/khd.nix rename to modules/services/khd/default.nix index 336e61e3..454e88a7 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 =