1{ config, lib, pkgs, ... }:
2
3with lib;
4
5let
6 cfg = config.services.xserver.windowManager.stumpwm;
7in
8
9{
10 options = {
11 services.xserver.windowManager.stumpwm = {
12 enable = mkOption {
13 type = types.bool;
14 default = false;
15 example = true;
16 description = "Enable the stumpwm tiling window manager.";
17 };
18 };
19 };
20
21 config = mkIf cfg.enable {
22 services.xserver.windowManager.session = singleton {
23 name = "stumpwm";
24 start = ''
25 ${pkgs.stumpwm}/bin/stumpwm &
26 waitPID=$!
27 '';
28 };
29 environment.systemPackages = [ pkgs.stumpwm ];
30 };
31}