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}