1{ config, lib, pkgs, ... }: 2 3with lib; 4 5let 6 cfg = config.services.xserver.windowManager.clfswm; 7in 8 9{ 10 options = { 11 services.xserver.windowManager.clfswm = { 12 enable = mkEnableOption (lib.mdDoc "clfswm"); 13 package = mkOption { 14 type = types.package; 15 default = pkgs.lispPackages.clfswm; 16 defaultText = literalExpression "pkgs.lispPackages.clfswm"; 17 description = lib.mdDoc '' 18 clfswm package to use. 19 ''; 20 }; 21 }; 22 }; 23 24 config = mkIf cfg.enable { 25 services.xserver.windowManager.session = singleton { 26 name = "clfswm"; 27 start = '' 28 ${cfg.package}/bin/clfswm & 29 waitPID=$! 30 ''; 31 }; 32 environment.systemPackages = [ cfg.package ]; 33 }; 34}