at master 922 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8with lib; 9 10let 11 cfg = config.services.xserver.windowManager.fvwm2; 12 fvwm2 = pkgs.fvwm2.override { enableGestures = cfg.gestures; }; 13in 14 15{ 16 17 imports = [ 18 (mkRenamedOptionModule 19 [ "services" "xserver" "windowManager" "fvwm" ] 20 [ "services" "xserver" "windowManager" "fvwm2" ] 21 ) 22 ]; 23 24 ###### interface 25 26 options = { 27 services.xserver.windowManager.fvwm2 = { 28 enable = mkEnableOption "Fvwm2 window manager"; 29 30 gestures = mkOption { 31 default = false; 32 type = types.bool; 33 description = "Whether or not to enable libstroke for gesture support"; 34 }; 35 }; 36 }; 37 38 ###### implementation 39 40 config = mkIf cfg.enable { 41 services.xserver.windowManager.session = singleton { 42 name = "fvwm2"; 43 start = '' 44 ${fvwm2}/bin/fvwm & 45 waitPID=$! 46 ''; 47 }; 48 49 environment.systemPackages = [ fvwm2 ]; 50 }; 51}