summary refs log tree commit diff
diff options
context:
space:
mode:
authortakagiy <takagiy.4dev@gmail.com>2020-10-27 21:07:36 +0900
committertakagiy <takagiy.4dev@gmail.com>2021-02-06 02:36:52 +0900
commit875e1f08538ae3ea7b4b007c344332c67aea8da6 (patch)
tree9cb4bedeaf87f22fb2609479a78c59fbeb37b0fe
parentb248510454fb9ab7d1857aede9d974be251e667c (diff)
downloadnixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.tar
nixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.tar.gz
nixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.tar.bz2
nixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.tar.lz
nixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.tar.xz
nixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.tar.zst
nixpkgs-875e1f08538ae3ea7b4b007c344332c67aea8da6.zip
nixos/wmderland: init at 2020-07-17
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/wmderland.nix61
2 files changed, 62 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 87702c58727..13557ac0190 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -36,6 +36,7 @@ in
     ./tinywm.nix
     ./twm.nix
     ./windowmaker.nix
+    ./wmderland.nix
     ./wmii.nix
     ./xmonad.nix
     ./yeahwm.nix
diff --git a/nixos/modules/services/x11/window-managers/wmderland.nix b/nixos/modules/services/x11/window-managers/wmderland.nix
new file mode 100644
index 00000000000..a6864a82771
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/wmderland.nix
@@ -0,0 +1,61 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.wmderland;
+in
+
+{
+  options.services.xserver.windowManager.wmderland = {
+    enable = mkEnableOption "wmderland";
+
+    extraSessionCommands = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Shell commands executed just before wmderland is started.
+      '';
+    };
+
+    extraPackages = mkOption {
+      type = with types; listOf package;
+      default = with pkgs; [
+        rofi
+        dunst
+        light
+        hsetroot
+        feh
+        rxvt-unicode
+      ];
+      example = literalExample ''
+        with pkgs; [
+          rofi
+          dunst
+          light
+          hsetroot
+          feh
+          rxvt-unicode
+        ]
+      '';
+      description = ''
+        Extra packages to be installed system wide.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "wmderland";
+      start = ''
+        ${cfg.extraSessionCommands}
+
+        ${pkgs.wmderland}/bin/wmderland &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [
+      pkgs.wmderland pkgs.wmderlandc
+    ] ++ cfg.extraPackages;
+  };
+}