1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-27 16:11:58 +00:00
nixpkgs/nixos/modules/services/x11/window-managers/default.nix
_1126 7536d41287 stumpwm: update and refactoring
This commit updates the stumpwm to version 0.9.8. Futhermore, it
refactors the expression quite a lot:

* stumpwm has been moved from lisp modules to window-managers.
* stumpwm has been added to the window managers NixOS knows about, this
  enables the user to add stumpwm as a default window manager in his
  NixOS configuration like with Xmonad or i3.
* the package has been split into stumpwm and stumpwmContrib. This is
  due to the fact that development of stumpwm and its extension modules
  has been split into two repositories. As of today, the release is the
  last one before this split. This split into two packages only reflect
  those upcoming upstream changes already.

It is planned to make the addition of the extension modules voluntarily,
like with Xmonads option "enableContribAndExtras". Furthermore it might
be possible to add an option to compile stumpwm with clisp instead of
sbcl.
2014-10-05 14:50:08 +02:00

64 lines
1.3 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.windowManager;
in
{
imports =
[ ./compiz.nix
./openbox.nix
./metacity.nix
./none.nix
./twm.nix
./wmii.nix
./xmonad.nix
./i3.nix
./herbstluftwm.nix
./bspwm.nix
./stumpwm.nix
];
options = {
services.xserver.windowManager = {
session = mkOption {
internal = true;
default = [];
example = [{
name = "wmii";
start = "...";
}];
description = ''
Internal option used to add some common line to window manager
scripts before forwarding the value to the
<varname>displayManager</varname>.
'';
apply = map (d: d // {
manage = "window";
});
};
default = mkOption {
type = types.str;
default = "none";
example = "wmii";
description = "Default window manager loaded if none have been chosen.";
apply = defaultWM:
if any (w: w.name == defaultWM) cfg.session then
defaultWM
else
throw "Default window manager (${defaultWM}) not found.";
};
};
};
config = {
services.xserver.displayManager.session = cfg.session;
};
}