nixos/wmderland: init at 2020-07-17

takagiy 875e1f08 b2485104

Changed files
+62
nixos
modules
services
x11
window-managers
+1
nixos/modules/services/x11/window-managers/default.nix
···
./tinywm.nix
./twm.nix
./windowmaker.nix
+
./wmderland.nix
./wmii.nix
./xmonad.nix
./yeahwm.nix
+61
nixos/modules/services/x11/window-managers/wmderland.nix
···
+
{ 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;
+
};
+
}