From 7a38b0858fbed43e80f84a91da821eaaf657c5d7 Mon Sep 17 00:00:00 2001 From: Evan Danaher Date: Wed, 5 Apr 2017 11:12:46 -0400 Subject: fvwm module: init; now fvwm can be used as an xserver.windowManager --- .../services/x11/window-managers/default.nix | 1 + .../modules/services/x11/window-managers/fvwm.nix | 41 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 nixos/modules/services/x11/window-managers/fvwm.nix diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index f005decfa33..6d30fd3f4d6 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -14,6 +14,7 @@ in ./dwm.nix ./exwm.nix ./fluxbox.nix + ./fvwm.nix ./herbstluftwm.nix ./i3.nix ./jwm.nix diff --git a/nixos/modules/services/x11/window-managers/fvwm.nix b/nixos/modules/services/x11/window-managers/fvwm.nix new file mode 100644 index 00000000000..9a51b9cd660 --- /dev/null +++ b/nixos/modules/services/x11/window-managers/fvwm.nix @@ -0,0 +1,41 @@ +{ 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 ]; + }; +} -- cgit 1.4.1