Fluxbox: adding system support (as a module)

Changed files
+31 -8
nixos
modules
services
x11
window-managers
pkgs
applications
window-managers
fluxbox
+1
nixos/modules/module-list.nix
···
./services/x11/window-managers/awesome.nix
#./services/x11/window-managers/compiz.nix
./services/x11/window-managers/default.nix
+
./services/x11/window-managers/fluxbox.nix
./services/x11/window-managers/icewm.nix
./services/x11/window-managers/bspwm.nix
./services/x11/window-managers/metacity.nix
+28
nixos/modules/services/x11/window-managers/fluxbox.nix
···
+
{ config, lib, pkgs, ... }:
+
+
with lib;
+
+
let
+
cfg = config.services.xserver.windowManager.fluxbox;
+
in
+
{
+
###### interface
+
options = {
+
services.xserver.windowManager.fluxbox.enable = mkOption {
+
default = false;
+
description = "Enable the Fluxbox window manager.";
+
};
+
};
+
+
###### implementation
+
config = mkIf cfg.enable {
+
services.xserver.windowManager.session = singleton {
+
name = "fluxbox";
+
start = ''
+
${pkgs.fluxbox}/bin/startfluxbox &
+
waitPID=$!
+
'';
+
};
+
environment.systemPackages = [ pkgs.fluxbox ];
+
};
+
}
+2 -8
pkgs/applications/window-managers/fluxbox/default.nix
···
name = "fluxbox-${version}";
version = "1.3.5";
-
buildInputs = [
-
pkgconfig
-
freetype fribidi
-
libXext libXft libXpm libXrandr libXrender xextproto
-
libXinerama
-
imlib2
-
];
+
buildInputs = [ pkgconfig freetype fribidi libXext libXft libXpm libXrandr libXrender xextproto libXinerama imlib2 ];
src = fetchurl {
url = "mirror://sourceforge/fluxbox/${name}.tar.bz2";
···
};
meta = {
-
description = "Full-featured, light-resource X window manager.";
+
description = "Full-featured, light-resource X window manager";
longDescription = ''
Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources.
It is very light on resources and easy to handle but yet full of features to make an easy,