herbstluftwm module: add configFile option

based on the equivalent for i3

Changed files
+19 -4
nixos
modules
services
x11
window-managers
+19 -4
nixos/modules/services/x11/window-managers/herbstluftwm.nix
···
{
options = {
-
services.xserver.windowManager.herbstluftwm.enable = mkEnableOption "herbstluftwm";
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton {
name = "herbstluftwm";
-
start = "
-
${pkgs.herbstluftwm}/bin/herbstluftwm
-
";
};
environment.systemPackages = [ pkgs.herbstluftwm ];
};
···
{
options = {
+
services.xserver.windowManager.herbstluftwm = {
+
enable = mkEnableOption "herbstluftwm";
+
+
configFile = mkOption {
+
default = null;
+
type = with types; nullOr path;
+
description = ''
+
Path to the herbstluftwm configuration file. If left at the
+
default value, $XDG_CONFIG_HOME/herbstluftwm/autostart will
+
be used.
+
'';
+
};
+
};
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton {
name = "herbstluftwm";
+
start =
+
let configFileClause = optionalString
+
(cfg.configFile != null)
+
''-c "${cfg.configFile}"''
+
;
+
in "${pkgs.herbstluftwm}/bin/herbstluftwm ${configFileClause}";
};
environment.systemPackages = [ pkgs.herbstluftwm ];
};