summary refs log tree commit diff
path: root/nixos/modules/services/x11
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-08-05 09:46:02 +0200
committerGitHub <noreply@github.com>2021-08-05 09:46:02 +0200
commit99fe362cf1f91df3d25972c6981b07216de5618d (patch)
tree6746361fe813c37a01023384d7765acd8d28377f /nixos/modules/services/x11
parentc385f340fc9897b111977318db6681a927bc3663 (diff)
parent39f65ee33dd09350635f2495d200707dd97452b7 (diff)
downloadnixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.tar
nixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.tar.gz
nixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.tar.bz2
nixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.tar.lz
nixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.tar.xz
nixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.tar.zst
nixpkgs-99fe362cf1f91df3d25972c6981b07216de5618d.zip
Merge pull request #131576 from j0hax/mlvwm
nixos/mlvwm: init at 0.9.3
Diffstat (limited to 'nixos/modules/services/x11')
-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 ];
+  };
+}