Merge pull request #24651 from edanaher/add-fvwm-window-manager

fvwm module: init; now fvwm can be used as an xserver.windowManager

Changed files
+42
nixos
modules
services
x11
window-managers
+1
nixos/modules/services/x11/window-managers/default.nix
···
./dwm.nix
./exwm.nix
./fluxbox.nix
+
./fvwm.nix
./herbstluftwm.nix
./i3.nix
./jwm.nix
+41
nixos/modules/services/x11/window-managers/fvwm.nix
···
+
{ config, lib, pkgs, ... }:
+
+
with lib;
+
+
let
+
cfg = config.services.xserver.windowManager.fvwm;
+
fvwm = pkgs.fvwm.override { gestures = cfg.gestures; };
+
in
+
+
{
+
+
###### interface
+
+
options = {
+
services.xserver.windowManager.fvwm = {
+
enable = mkEnableOption "Fvwm window manager";
+
+
gestures = mkOption {
+
default = false;
+
type = types.bool;
+
description = "Whether or not to enable libstroke for gesture support";
+
};
+
};
+
};
+
+
+
###### implementation
+
+
config = mkIf cfg.enable {
+
services.xserver.windowManager.session = singleton
+
{ name = "fvwm";
+
start =
+
''
+
${fvwm}/bin/fvwm &
+
waitPID=$!
+
'';
+
};
+
+
environment.systemPackages = [ fvwm ];
+
};
+
}