caddy: `withPlugins` better error messages for untagged plugins (#368657)
[NixPkgs.git] / nixos / modules / services / x11 / window-managers / default.nix
blobe54a9bd1cfa8be234a59bcbf275215c2199163d0
1 { config, lib, ... }:
3 let
4   inherit (lib) mkOption types;
5   cfg = config.services.xserver.windowManager;
6 in
9   imports = [
10     ./2bwm.nix
11     ./afterstep.nix
12     ./berry.nix
13     ./bspwm.nix
14     ./cwm.nix
15     ./clfswm.nix
16     ./dk.nix
17     ./dwm.nix
18     ./e16.nix
19     ./evilwm.nix
20     ./exwm.nix
21     ./fluxbox.nix
22     ./fvwm2.nix
23     ./fvwm3.nix
24     ./hackedbox.nix
25     ./herbstluftwm.nix
26     ./hypr.nix
27     ./i3.nix
28     ./jwm.nix
29     ./leftwm.nix
30     ./lwm.nix
31     ./metacity.nix
32     ./mlvwm.nix
33     ./mwm.nix
34     ./openbox.nix
35     ./pekwm.nix
36     ./notion.nix
37     ./ragnarwm.nix
38     ./ratpoison.nix
39     ./sawfish.nix
40     ./smallwm.nix
41     ./stumpwm.nix
42     ./spectrwm.nix
43     ./tinywm.nix
44     ./twm.nix
45     ./windowmaker.nix
46     ./wmderland.nix
47     ./wmii.nix
48     ./xmonad.nix
49     ./yeahwm.nix
50     ./qtile.nix
51     ./none.nix
52   ];
54   options = {
56     services.xserver.windowManager = {
58       session = mkOption {
59         internal = true;
60         default = [ ];
61         example = [
62           {
63             name = "wmii";
64             start = "...";
65           }
66         ];
67         description = ''
68           Internal option used to add some common line to window manager
69           scripts before forwarding the value to the
70           `displayManager`.
71         '';
72         apply = map (
73           d:
74           d
75           // {
76             manage = "window";
77           }
78         );
79       };
81     };
83   };
85   config = {
86     services.xserver.displayManager.session = cfg.session;
87   };