grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / x11 / window-managers / fvwm2.nix
blob909b3a475a9c2fbb2e5a022ea21fedd462ee7b0b
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.services.xserver.windowManager.fvwm2;
7   fvwm2 = pkgs.fvwm2.override { enableGestures = cfg.gestures; };
8 in
12   imports = [
13     (mkRenamedOptionModule
14       [ "services" "xserver" "windowManager" "fvwm" ]
15       [ "services" "xserver" "windowManager" "fvwm2" ])
16   ];
18   ###### interface
20   options = {
21     services.xserver.windowManager.fvwm2 = {
22       enable = mkEnableOption "Fvwm2 window manager";
24       gestures = mkOption {
25         default = false;
26         type = types.bool;
27         description = "Whether or not to enable libstroke for gesture support";
28       };
29     };
30   };
33   ###### implementation
35   config = mkIf cfg.enable {
36     services.xserver.windowManager.session = singleton
37       { name = "fvwm2";
38         start =
39           ''
40             ${fvwm2}/bin/fvwm &
41             waitPID=$!
42           '';
43       };
45     environment.systemPackages = [ fvwm2 ];
46   };