1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8with lib;
9
10let
11
12 cfg = config.services.xserver.desktopManager.xterm;
13 xSessionEnabled = config.services.xserver.enable;
14
15in
16
17{
18 options = {
19
20 services.xserver.desktopManager.xterm.enable = mkOption {
21 type = types.bool;
22 default = versionOlder config.system.stateVersion "19.09" && xSessionEnabled;
23 defaultText = literalExpression ''versionOlder config.system.stateVersion "19.09" && config.services.xserver.enable;'';
24 description = "Enable a xterm terminal as a desktop manager.";
25 };
26
27 };
28
29 config = mkIf cfg.enable {
30
31 services.xserver.desktopManager.session = singleton {
32 name = "xterm";
33 start = ''
34 ${pkgs.xterm}/bin/xterm -ls &
35 waitPID=$!
36 '';
37 };
38
39 environment.systemPackages = [ pkgs.xterm ];
40
41 };
42
43}