summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@gmail.com>2014-09-02 19:42:54 -0300
committerMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2014-09-21 00:03:44 +0100
commit90fcd66599f7ea22dcc64474e71a04ac9d673e75 (patch)
treef27aa7f32afd7b20a1eafe61098edb0f4ade1167
parent4f85f64153f8d9894f8dc8ab22a33e20634b1c8f (diff)
downloadnixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.tar
nixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.tar.gz
nixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.tar.bz2
nixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.tar.lz
nixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.tar.xz
nixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.tar.zst
nixpkgs-90fcd66599f7ea22dcc64474e71a04ac9d673e75.zip
AfterStep (version 2.2.12): New Package
AfterStep is a beautiful window manager, inspired by NEXTStep interface

Closes #4177
-rw-r--r--nixos/modules/services/x11/window-managers/afterstep.nix28
-rw-r--r--pkgs/applications/window-managers/afterstep/default.nix42
-rw-r--r--pkgs/top-level/all-packages.nix8
3 files changed, 77 insertions, 1 deletions
diff --git a/nixos/modules/services/x11/window-managers/afterstep.nix b/nixos/modules/services/x11/window-managers/afterstep.nix
new file mode 100644
index 00000000000..395dabb86b5
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/afterstep.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.afterstep;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.afterstep.enable = mkOption {
+      default = false;
+      description = "Enable the Afterstep window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "afterstep";
+      start = ''
+        ${pkgs.afterstep}/bin/afterstep &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.afterstep ];
+  };
+}
diff --git a/pkgs/applications/window-managers/afterstep/default.nix b/pkgs/applications/window-managers/afterstep/default.nix
new file mode 100644
index 00000000000..962942905db
--- /dev/null
+++ b/pkgs/applications/window-managers/afterstep/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig
+, libjpeg, libtiff, libpng, freetype
+, fltk, gtk
+, libX11, libXext, libICE
+, dbus, dbus_libs
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "afterstep-${version}";
+  version = "2.2.12";
+  sourceName = "AfterStep-${version}";
+
+  src = fetchurl {
+    urls = [ "ftp://ftp.afterstep.org/stable/${sourceName}.tar.bz2" ];
+    sha256 = "1j7vkx1ig4kzwffdxnkqv3kld9qi3sam4w2nhq18waqjsi8xl5gz";
+  };
+
+  buildInputs = [ pkgconfig libjpeg libtiff libpng freetype fltk gtk libX11 libXext libICE dbus dbus_libs ];
+
+  # A strange type of bug: dbus is not immediately found by pkgconfig
+  preConfigure = ''
+     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A NEXTStep-inspired window manager";
+    longDescription = ''
+      AfterStep is a window manager for the Unix X Window
+      System. Originally based on the look and feel of the NeXTStep
+      interface, it provides end users with a consistent, clean, and
+      elegant desktop. The goal of AfterStep development is to provide
+      for flexibility of desktop configuration, improving aestetics,
+      and efficient use of system resources.
+    '';
+    homepage = http://www.afterstep.org/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a2684f67108..a160c21fef7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -167,7 +167,7 @@ let
   x11 = xlibsWrapper;
 
   # `xlibs' is the set of X library components.  This used to be the
-  # old modular X llibraries project (called `xlibs') but now it's just
+  # old modular X libraries project (called `xlibs') but now it's just
   # the set of packages in the modular X.org tree (which also includes
   # non-library components like the server, drivers, fonts, etc.).
   xlibs = xorg // {xlibs = xlibsWrapper;};
@@ -8456,6 +8456,12 @@ let
 
   aewan = callPackage ../applications/editors/aewan { };
 
+  afterstep = callPackage ../applications/window-managers/afterstep {
+    inherit (xlibs) libX11 libXext libICE;
+    fltk = fltk13;
+    gtk = gtk2;
+  };
+
   alchemy = callPackage ../applications/graphics/alchemy { };
 
   alock = callPackage ../misc/screensavers/alock { };