diff options
Diffstat (limited to 'nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix')
-rw-r--r-- | nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix b/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix new file mode 100644 index 000000000000..b5ef36f58d54 --- /dev/null +++ b/nixpkgs/nixos/modules/services/x11/window-managers/fvwm2.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.fvwm2; + fvwm2 = pkgs.fvwm2.override { enableGestures = cfg.gestures; }; +in + +{ + + imports = [ + (mkRenamedOptionModule + [ "services" "xserver" "windowManager" "fvwm" ] + [ "services" "xserver" "windowManager" "fvwm2" ]) + ]; + + ###### interface + + options = { + services.xserver.windowManager.fvwm2 = { + enable = mkEnableOption "Fvwm2 window manager"; + + gestures = mkOption { + default = false; + type = types.bool; + description = lib.mdDoc "Whether or not to enable libstroke for gesture support"; + }; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton + { name = "fvwm2"; + start = + '' + ${fvwm2}/bin/fvwm & + waitPID=$! + ''; + }; + + environment.systemPackages = [ fvwm2 ]; + }; +} |