about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2014-08-23 13:07:46 +0400
committerMichael Raskin <7c6f434c@mail.ru>2014-08-23 13:07:46 +0400
commit9b13792075b710fbe1c9299746303ecf2c221340 (patch)
treeded26b72c6ee0ab6b00202cd1503633610fdb4d4
parent8ba5e6fa243744bb9bf256ef2ca529c90d0e2624 (diff)
parent49fcac0d6b064d99ae00692763f6c638129b66d3 (diff)
downloadnixlib-9b13792075b710fbe1c9299746303ecf2c221340.tar
nixlib-9b13792075b710fbe1c9299746303ecf2c221340.tar.gz
nixlib-9b13792075b710fbe1c9299746303ecf2c221340.tar.bz2
nixlib-9b13792075b710fbe1c9299746303ecf2c221340.tar.lz
nixlib-9b13792075b710fbe1c9299746303ecf2c221340.tar.xz
nixlib-9b13792075b710fbe1c9299746303ecf2c221340.tar.zst
nixlib-9b13792075b710fbe1c9299746303ecf2c221340.zip
Merge pull request #3656 from AndersonTorres/fluxbox
Fluxbox: new package (1.3.5)
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/fluxbox.nix28
-rw-r--r--pkgs/applications/window-managers/fluxbox/default.nix33
-rw-r--r--pkgs/top-level/all-packages.nix2
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;