about summary refs log tree commit diff
path: root/nixos/modules/services/x11/window-managers
diff options
context:
space:
mode:
authorAlexey Shmalko <rasen.dubi@gmail.com>2017-04-06 16:29:28 +0300
committerGitHub <noreply@github.com>2017-04-06 16:29:28 +0300
commitb8e71f296941c91b9b5ffba67723ca02d524e5b7 (patch)
tree52ca80c9d705efc05ef93a086f1ffd8491abdb97 /nixos/modules/services/x11/window-managers
parent7cef3e45b22097e72bdefb5c5d67c4d1d6e17dde (diff)
parent7a38b0858fbed43e80f84a91da821eaaf657c5d7 (diff)
downloadnixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.tar
nixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.tar.gz
nixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.tar.bz2
nixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.tar.lz
nixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.tar.xz
nixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.tar.zst
nixlib-b8e71f296941c91b9b5ffba67723ca02d524e5b7.zip
Merge pull request #24651 from edanaher/add-fvwm-window-manager
fvwm module: init; now fvwm can be used as an xserver.windowManager
Diffstat (limited to 'nixos/modules/services/x11/window-managers')
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/fvwm.nix41
2 files changed, 42 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 42785b251587..32ef34bdad2b 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -15,6 +15,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 000000000000..9a51b9cd6602
--- /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 ];
+  };
+}