diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2017-05-20 13:13:21 +0200 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2017-05-20 13:14:17 +0200 |
| commit | 2fda5848bb5d3aac3b89fffa1523536839acd785 (patch) | |
| tree | c2d1f39d7049397ec9618d32158766348d5505e2 | |
| parent | 9f0b3c22c3c354219a209decaf84e38d8ce1b885 (diff) | |
kwm: add option to manage config in /etc/kwmrc
Fixes #24
| -rw-r--r-- | default.nix | 2 | ||||
| -rw-r--r-- | modules/services/kwm/default.nix (renamed from modules/services/kwm.nix) | 16 |
2 files changed, 13 insertions, 5 deletions
diff --git a/default.nix b/default.nix index 2b41475..8e3adac 100644 --- a/default.nix +++ b/default.nix @@ -38,7 +38,7 @@ let ./modules/security ./modules/services/activate-system.nix ./modules/services/khd - ./modules/services/kwm.nix + ./modules/services/kwm ./modules/services/emacs.nix ./modules/services/mopidy.nix ./modules/services/nix-daemon.nix diff --git a/modules/services/kwm.nix b/modules/services/kwm/default.nix index db2a0f6..0dfa741 100644 --- a/modules/services/kwm.nix +++ b/modules/services/kwm/default.nix @@ -18,7 +18,8 @@ in services.kwm.package = mkOption { type = types.path; - example = literalExample pkgs.kwm; + default = pkgs.kwm; + defaultText = "pkgs.kwm"; description = "This option specifies the kwm package to use"; }; @@ -27,16 +28,23 @@ in default = false; description = "Whether to enable accessibility permissions for the kwm daemon."; }; + + services.kwm.kwmConfig = mkOption { + type = types.lines; + default = ""; + example = ''kwmc rule owner="iTerm2" properties={role="AXDialog"}''; + }; }; config = mkIf cfg.enable { - services.kwm.package = mkDefault pkgs.kwm; - security.accessibilityPrograms = mkIf cfg.enableAccessibilityAccess [ "${cfg.package}/kwm" ]; + environment.etc."kwmrc".text = cfg.kwmConfig; + launchd.user.agents.kwm = { - serviceConfig.Program = "${cfg.package}/kwm"; + serviceConfig.ProgramArguments = [ "${cfg.package}/kwm" ] + ++ optionals (cfg.kwmConfig != "") [ "-c" "/etc/kwmrc" ]; serviceConfig.KeepAlive = true; serviceConfig.ProcessType = "Interactive"; serviceConfig.Sockets.Listeners = |
