lock: 1.3.0 -> 1.3.4 (#364295)
[NixPkgs.git] / nixos / modules / services / x11 / window-managers / herbstluftwm.nix
blobb216aa49d7a3c45e0f5a667bbe7ae68d3159ec0a
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
8 with lib;
10 let
11   cfg = config.services.xserver.windowManager.herbstluftwm;
15   options = {
16     services.xserver.windowManager.herbstluftwm = {
17       enable = mkEnableOption "herbstluftwm";
19       package = mkPackageOption pkgs "herbstluftwm" { };
21       configFile = mkOption {
22         default = null;
23         type = with types; nullOr path;
24         description = ''
25           Path to the herbstluftwm configuration file.  If left at the
26           default value, $XDG_CONFIG_HOME/herbstluftwm/autostart will
27           be used.
28         '';
29       };
30     };
31   };
33   config = mkIf cfg.enable {
34     services.xserver.windowManager.session = singleton {
35       name = "herbstluftwm";
36       start =
37         let
38           configFileClause = optionalString (cfg.configFile != null) ''-c "${cfg.configFile}"'';
39         in
40         ''
41           ${cfg.package}/bin/herbstluftwm ${configFileClause} &
42           waitPID=$!
43         '';
44     };
45     environment.systemPackages = [ cfg.package ];
46   };