at 18.09-beta 954 B view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4 5let 6 cfg = config.services.xserver.windowManager.herbstluftwm; 7in 8 9{ 10 options = { 11 services.xserver.windowManager.herbstluftwm = { 12 enable = mkEnableOption "herbstluftwm"; 13 14 configFile = mkOption { 15 default = null; 16 type = with types; nullOr path; 17 description = '' 18 Path to the herbstluftwm configuration file. If left at the 19 default value, $XDG_CONFIG_HOME/herbstluftwm/autostart will 20 be used. 21 ''; 22 }; 23 }; 24 }; 25 26 config = mkIf cfg.enable { 27 services.xserver.windowManager.session = singleton { 28 name = "herbstluftwm"; 29 start = 30 let configFileClause = optionalString 31 (cfg.configFile != null) 32 ''-c "${cfg.configFile}"'' 33 ; 34 in "${pkgs.herbstluftwm}/bin/herbstluftwm ${configFileClause}"; 35 }; 36 environment.systemPackages = [ pkgs.herbstluftwm ]; 37 }; 38}