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