summary refs log tree commit diff
path: root/nixos/modules/services/x11/window-managers
diff options
context:
space:
mode:
authorJohannes Arnold <johannes.arnold@stud.uni-hannover.de>2021-07-26 02:05:31 +0200
committerJohannes Arnold <johannes.arnold@stud.uni-hannover.de>2021-07-29 01:19:05 +0200
commit39f65ee33dd09350635f2495d200707dd97452b7 (patch)
tree59b4ccb38bfac13dc2a0d588947301317b1dc203 /nixos/modules/services/x11/window-managers
parent416e83bce2d63f29c6d019828f4c5c3b8482c56c (diff)
downloadnixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.tar
nixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.tar.gz
nixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.tar.bz2
nixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.tar.lz
nixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.tar.xz
nixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.tar.zst
nixpkgs-39f65ee33dd09350635f2495d200707dd97452b7.zip
nixos/mlvwm: init at 0.9.3
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/mlvwm.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 53285fbce87..d71738ea633 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -26,6 +26,7 @@ in
     ./leftwm.nix
     ./lwm.nix
     ./metacity.nix
+    ./mlvwm.nix
     ./mwm.nix
     ./openbox.nix
     ./pekwm.nix
diff --git a/nixos/modules/services/x11/window-managers/mlvwm.nix b/nixos/modules/services/x11/window-managers/mlvwm.nix
new file mode 100644
index 00000000000..08dd0402029
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/mlvwm.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.services.xserver.windowManager.mlvwm;
+
+in
+{
+
+  options.services.xserver.windowManager.mlvwm = {
+    enable = mkEnableOption "Macintosh-like Virtual Window Manager";
+
+    configFile = mkOption {
+      default = null;
+      type = with types; nullOr path;
+      description = ''
+        Path to the mlvwm configuration file.
+        If left at the default value, $HOME/.mlvwmrc will be used.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    services.xserver.windowManager.session = [{
+      name = "mlvwm";
+      start = ''
+        ${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null)
+          "-f /etc/mlvwm/mlvwmrc"
+        } &
+        waitPID=$!
+      '';
+    }];
+
+    environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) {
+      source = cfg.configFile;
+    };
+
+    environment.systemPackages = [ pkgs.mlvwm ];
+  };
+}