diff options
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/x11/window-managers/fluxbox.nix | 28 | ||||
-rw-r--r-- | pkgs/applications/window-managers/fluxbox/default.nix | 33 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
4 files changed, 64 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 553f8db36966..feb590ad2491 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -296,6 +296,7 @@ ./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 diff --git a/nixos/modules/services/x11/window-managers/fluxbox.nix b/nixos/modules/services/x11/window-managers/fluxbox.nix new file mode 100644 index 000000000000..4748ce99ccf2 --- /dev/null +++ b/nixos/modules/services/x11/window-managers/fluxbox.nix @@ -0,0 +1,28 @@ +{ 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 ]; + }; +} diff --git a/pkgs/applications/window-managers/fluxbox/default.nix b/pkgs/applications/window-managers/fluxbox/default.nix new file mode 100644 index 000000000000..af6545b61515 --- /dev/null +++ b/pkgs/applications/window-managers/fluxbox/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig +, freetype, fribidi +, libXext, libXft, libXpm, libXrandr, libXrender, xextproto +, libXinerama +, imlib2 +}: + +stdenv.mkDerivation rec { + + name = "fluxbox-${version}"; + version = "1.3.5"; + + buildInputs = [ pkgconfig freetype fribidi libXext libXft libXpm libXrandr libXrender xextproto libXinerama imlib2 ]; + + src = fetchurl { + url = "mirror://sourceforge/fluxbox/${name}.tar.bz2"; + sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983"; + }; + + meta = { + 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, + and extremely fast, desktop experience. It is written in C++ and licensed under MIT license. + ''; + homepage = http://fluxbox.org/; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} +# Many thanks Jack Ryan from Nix-dev mailing list! diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aeb9589094d9..dac0abde0ddb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8751,6 +8751,8 @@ let debug = config.flashplayer.debug or false; }; + fluxbox = callPackage ../applications/window-managers/fluxbox { }; + freecad = callPackage ../applications/graphics/freecad { opencascade = opencascade_6_5; inherit (pythonPackages) matplotlib pycollada; |