summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/programs/oblogout.nix171
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix38
-rw-r--r--pkgs/applications/graphics/cinepaint/install.patch24
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix34
-rw-r--r--pkgs/applications/graphics/mirage/default.nix31
-rw-r--r--pkgs/applications/misc/batti/default.nix51
-rw-r--r--pkgs/applications/misc/bleachbit/default.nix43
-rw-r--r--pkgs/applications/misc/gnome15/default.nix39
-rw-r--r--pkgs/applications/misc/hamster-time-tracker/default.nix42
-rw-r--r--pkgs/applications/misc/pmenu/default.nix36
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix4
-rw-r--r--pkgs/applications/office/tryton/default.nix55
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix33
-rw-r--r--pkgs/applications/video/key-mon/default.nix28
-rw-r--r--pkgs/applications/video/recordmydesktop/default.nix29
-rw-r--r--pkgs/applications/video/recordmydesktop/gtk.nix37
-rw-r--r--pkgs/applications/video/recordmydesktop/qt.nix37
-rw-r--r--pkgs/development/libraries/libindicate/default.nix66
-rw-r--r--pkgs/development/libraries/libsexy/default.nix24
-rw-r--r--pkgs/development/python-modules/goocalendar/default.nix15
-rw-r--r--pkgs/development/python-modules/libsexy/default.nix27
-rw-r--r--pkgs/development/python-modules/matplotlib/2.nix5
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix5
-rw-r--r--pkgs/tools/X11/oblogout/default.nix36
-rw-r--r--pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch66
-rw-r--r--pkgs/tools/X11/winswitch/default.nix47
-rw-r--r--pkgs/tools/system/bootchart/default.nix31
-rw-r--r--pkgs/top-level/aliases.nix19
-rw-r--r--pkgs/top-level/all-packages.nix50
-rw-r--r--pkgs/top-level/python-packages.nix4
30 files changed, 109 insertions, 1018 deletions
diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix
index 720c29b1eae..a039b0623b5 100644
--- a/nixos/modules/programs/oblogout.nix
+++ b/nixos/modules/programs/oblogout.nix
@@ -1,176 +1,11 @@
-# Global configuration for oblogout.
-
 { config, lib, pkgs, ... }:
 
 with lib;
 
-let cfg = config.programs.oblogout;
-
-in
 {
-  ###### interface
-
-  options = {
-
-    programs.oblogout = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to install OBLogout and create <filename>/etc/oblogout.conf</filename>.
-          See <filename>${pkgs.oblogout}/share/doc/README</filename>.
-        '';
-      };
-
-      opacity = mkOption {
-        type = types.int;
-        default = 70;
-        description = ''
-          Opacity percentage of Cairo rendered backgrounds.
-        '';
-      };
-
-      bgcolor = mkOption {
-        type = types.str;
-        default = "black";
-        description = ''
-          Colour name or hex code (#ffffff) of the background color.
-        '';
-      };
-
-      buttontheme = mkOption {
-        type = types.str;
-        default = "simplistic";
-        description = ''
-          Icon theme for the buttons, must be in the themes folder of
-          the package, or in
-          <filename>~/.themes/&lt;name&gt;/oblogout/</filename>.
-        '';
-      };
-
-      buttons = mkOption {
-        type = types.str;
-        default =  "cancel, logout, restart, shutdown, suspend, hibernate";
-        description = ''
-          List and order of buttons to show.
-        '';
-      };
-
-      cancel = mkOption {
-        type = types.str;
-        default =  "Escape";
-        description = ''
-          Cancel logout/shutdown shortcut.
-        '';
-      };
-
-      shutdown = mkOption {
-        type = types.str;
-        default = "S";
-        description = ''
-          Shutdown shortcut.
-        '';
-      };
-
-      restart = mkOption {
-        type = types.str;
-        default = "R";
-        description = ''
-          Restart shortcut.
-        '';
-      };
-
-      suspend = mkOption {
-        type = types.str;
-        default = "U";
-        description = ''
-          Suspend shortcut.
-        '';
-      };
-
-      logout = mkOption {
-        type = types.str;
-        default = "L";
-        description = ''
-          Logout shortcut.
-        '';
-      };
-
-      lock = mkOption {
-        type = types.str;
-        default = "K";
-        description = ''
-          Lock session shortcut.
-        '';
-      };
-
-      hibernate = mkOption {
-        type = types.str;
-        default =  "H";
-        description = ''
-          Hibernate shortcut.
-        '';
-      };
-
-      clogout = mkOption {
-        type = types.str;
-        default = "openbox --exit";
-        description = ''
-          Command to logout.
-        '';
-      };
-
-      clock = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to lock screen.
-        '';
-      };
-
-      cswitchuser = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          Command to switch user.
-        '';
-      };
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.oblogout ];
-
-    environment.etc."oblogout.conf".text = ''
-      [settings]
-      usehal = false
-
-      [looks]
-      opacity = ${toString cfg.opacity}
-      bgcolor = ${cfg.bgcolor}
-      buttontheme = ${cfg.buttontheme}
-      buttons = ${cfg.buttons}
 
-      [shortcuts]
-      cancel = ${cfg.cancel}
-      shutdown = ${cfg.shutdown}
-      restart = ${cfg.restart}
-      suspend = ${cfg.suspend}
-      logout = ${cfg.logout}
-      lock = ${cfg.lock}
-      hibernate = ${cfg.hibernate}
+  imports = [
+    (mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
+  ];
 
-      [commands]
-      shutdown = systemctl poweroff
-      restart = systemctl reboot
-      suspend = systemctl suspend
-      hibernate = systemctl hibernate
-      logout = ${cfg.clogout}
-      lock = ${cfg.clock}
-      switchuser = ${cfg.cswitchuser}
-    '';
-  };
 }
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
deleted file mode 100644
index 2b70ea3b450..00000000000
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
-  flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
-  pythonPackages, gettext, intltool, babl, gegl,
-  glib, makedepend, xorgproto, libXmu, openexr,
-  libGLU, libGL, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
-
-let
-  inherit (pythonPackages) python pygtk;
-in stdenv.mkDerivation rec {
-  name = "cinepaint-1.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/cinepaint/${name}.tgz";
-    sha256 = "0b5g4bkq62yiz1cnb2vfij0a8fw5w5z202v5dm4dh89k7cj0yq4w";
-  };
-
-  buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
-    libexif zlib libX11 python pygtk gettext intltool babl
-    gegl glib makedepend xorgproto libXmu openexr libGLU libGL
-    libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  hardeningDisable = [ "format" ];
-
-  patches = [ ./install.patch ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  NIX_LDFLAGS = "-lm -llcms -ljpeg -lpng -lX11";
-
-  meta = {
-    homepage = http://www.cinepaint.org/;
-    license = stdenv.lib.licenses.free;
-    description = "Image editor which supports images over 8bpp and ICC profiles";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/graphics/cinepaint/install.patch b/pkgs/applications/graphics/cinepaint/install.patch
deleted file mode 100644
index f15ff1c4414..00000000000
--- a/pkgs/applications/graphics/cinepaint/install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dfb182f..5adaaa5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -138,7 +138,7 @@ STRING(REPLACE "/" "\\/" ESCAPEDPREFIX ${PREFIX})
- # Note that for MacOS this needs to be revised 
- # for the @OSX_ICC...@ variables
- ADD_CUSTOM_COMMAND(
--   OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    COMMAND  sed -e s/\@platform\@//g
- 		-e s/\@prefix\@/${ESCAPEDPREFIX}/g 
- 	        -e s/\@exec_prefix\@/\${prefix}/g
-@@ -155,8 +155,8 @@ ADD_CUSTOM_COMMAND(
- 
- ADD_CUSTOM_TARGET(RCFile ALL echo
-       ""
--      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/user_install 
--              ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
-+      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/user_install 
-+              ${CMAKE_CURRENT_BINARY_DIR}/gimprc
-    )
- 
- 
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
deleted file mode 100644
index c16c0d88b46..00000000000
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, python27Packages }:
-
-python27Packages.buildPythonApplication rec {
-    name = "mcomix-${version}";
-    version = "1.2.1";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mcomix/${name}.tar.bz2";
-      sha256 = "0fzsf9pklhfs1rzwzj64c0v30b74nk94p93h371rpg45qnfiahvy";
-    };
-
-    propagatedBuildInputs = with python27Packages; [ pygtk pillow setuptools ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Image viewer designed to handle comic books";
-      longDescription = ''
-        MComix is an user-friendly, customizable image viewer. It is specifically
-        designed to handle comic books, but also serves as a generic viewer.
-        It reads images in ZIP, RAR, 7Zip or tar archives as well as plain image
-        files. It is written in Python and uses GTK through the PyGTK bindings,
-        and runs on both Linux and Windows.
-
-        MComix is a fork of the Comix project, and aims to add bug fixes and
-        stability improvements after Comix development came to a halt in late 2009.
-      '';
-      homepage = http://mcomix.sourceforge.net/;
-      license = stdenv.lib.licenses.gpl2;
-      maintainers = with stdenv.lib.maintainers; [ AndersonTorres ];
-    };
-}
-# TODO:
-# - error in check phase
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
deleted file mode 100644
index fbe8f10c72f..00000000000
--- a/pkgs/applications/graphics/mirage/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pythonPackages, libX11, gettext }:
-
-pythonPackages.buildPythonApplication rec {
-    pname = "mirage";
-    version = "0.9.5.2";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/mirageiv/${pname}-${version}.tar.bz2";
-      sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
-    };
-
-    doCheck = false;
-
-    nativeBuildInputs = [ gettext ];
-
-    buildInputs = [ stdenv libX11 gettext ];
-
-    patchPhase = ''
-      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
-    '';
-
-    propagatedBuildInputs = with pythonPackages; [ pygtk pillow ];
-
-    meta = {
-      description = "Simple image viewer written in PyGTK";
-
-      homepage = http://mirageiv.sourceforge.net/;
-
-      license = stdenv.lib.licenses.gpl2;
-    };
-}
diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix
deleted file mode 100644
index 8b994c55de3..00000000000
--- a/pkgs/applications/misc/batti/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl
-, pkgconfig, gettext, pythonPackages
-, gtk2, gdk-pixbuf, upower
-, makeWrapper }:
-
-let
-  inherit (pythonPackages) dbus-python pygtk python;
-in stdenv.mkDerivation rec {
-
-  pname = "batti";
-  version = "0.3.8";
-
-  src = fetchurl {
-    url = "https://batti-gtk.googlecode.com/files/${pname}-${version}.tar.gz";
-    sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6";
-  };
-
-  buildInputs = with stdenv.lib;
-  [ pkgconfig gettext python gtk2 pygtk dbus-python gdk-pixbuf upower makeWrapper ];
-
-  dontConfigure = true;
-
-  buildPhase = ''
-    python setup.py build
-  '';
-
-  installPhase = ''
-    python setup.py install --prefix $out
-    wrapProgram "$out/bin/batti" \
-      --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-
-  meta = with stdenv.lib; {
-    description = "An {UPower,GTK}-based battery monitor for the system tray";
-    longDescription = ''
-      Batti is a simple battery monitor for the system tray. Batti
-      uses UPower, and if that is missing DeviceKit.Power, for it's
-      power information.
-    '';
-    homepage = http://batti-gtk.googlecode.com/;
-    license = licenses.lgpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
-    broken = true;  # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520
-  };
-}
-
-# TODO: fix the "icon not found" problems...
diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix
index 01eb69baadd..225a5c5fc37 100644
--- a/pkgs/applications/misc/bleachbit/default.nix
+++ b/pkgs/applications/misc/bleachbit/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, pythonPackages, fetchurl, gettext }:
+{ stdenv
+, pythonPackages
+, fetchurl
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, gtk3
+, libnotify
+}:
+
 pythonPackages.buildPythonApplication rec {
   pname = "bleachbit";
   version = "3.0";
@@ -10,7 +20,24 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "18ns9hms671b4l0189m1m2agprkydnpvyky9q2f5hxf35i9cn67d";
   };
 
-  nativeBuildInputs = [ gettext ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libnotify
+  ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    chardet
+    pygobject3
+    requests
+    scandir
+  ];
 
   # Patch the many hardcoded uses of /usr/share/ and /usr/bin
   postPatch = ''
@@ -20,15 +47,17 @@ pythonPackages.buildPythonApplication rec {
 
   dontBuild = true;
 
-  installFlags = [ "prefix=${placeholder "out"}" ];
+  installFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-  propagatedBuildInputs = with pythonPackages; [ pygtk ];
+  strictDeps = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://bleachbit.sourceforge.net;
     description = "A program to clean your computer";
     longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy.";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ leonardoce ];
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leonardoce ];
   };
 }
diff --git a/pkgs/applications/misc/gnome15/default.nix b/pkgs/applications/misc/gnome15/default.nix
deleted file mode 100644
index 41d535b3510..00000000000
--- a/pkgs/applications/misc/gnome15/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, gnome_python, gnome_python_desktop }:
-
-stdenv.mkDerivation {
-  name = "gnome15-2016-06-10";
-
-  src = fetchFromGitHub {
-    owner = "achilleas-k";
-    repo = "gnome15";
-    rev = "1077c890d9ba8ef7a5e448e70a792de5c7443c84";
-    sha256 = "0z5k2rgvv5zyi3lbbk6svncypidj44qzfchivb4vlr7clmh16m95";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2.pkgs.wrapPython ];
-  buildInputs = [ python2 ];
-  propagatedBuildInputs = with python2.pkgs; [
-    pygtk keyring virtkey pillow dbus-python pyinotify lxml pyxdg pyusb gnome_python gnome_python_desktop
-    python-uinput xlib pyudev pyinputevent
-  ];
-
-  postPatch = ''
-    touch README
-    export UDEV_RULES_PATH="$out/lib/udev/rules.d"
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A set of tools for configuring the Logitech G15 keyboard";
-    # Doesn't work with new `keyring` library which is Python 3-only now.
-    # https://github.com/Gnome15/gnome15/issues/29
-    broken = true;
-    license = licenses.gpl3;
-    homepage = https://gnome15.org/;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/pkgs/applications/misc/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix
deleted file mode 100644
index 9360e220ab6..00000000000
--- a/pkgs/applications/misc/hamster-time-tracker/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
-, intltool, dbus-glib, gnome_python
-, hicolor-icon-theme
-, wafHook
-}:
-
-# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
-# this message:
-#
-#   WARNING:root:Could not import wnck - workspace tracking will be disabled
-
-pythonPackages.buildPythonApplication rec {
-  name = "hamster-time-tracker-1.04";
-
-  src = fetchzip {
-    name = "${name}-src";
-    url = "https://github.com/projecthamster/hamster/archive/${name}.tar.gz";
-    sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
-  };
-
-  nativeBuildInputs = [ wafHook intltool ];
-  buildInputs = [
-    docbook2x libxslt gnome-doc-utils dbus-glib hicolor-icon-theme
-  ];
-
-  propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];
-
-  postFixup = ''
-    wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
-  '';
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "Time tracking application";
-    homepage = https://projecthamster.wordpress.com/;
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/misc/pmenu/default.nix b/pkgs/applications/misc/pmenu/default.nix
deleted file mode 100644
index bd3796a572b..00000000000
--- a/pkgs/applications/misc/pmenu/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitLab, python2Packages, gnome-menus }:
-
-stdenv.mkDerivation {
-  pname = "pmenu";
-  version = "2018-01-01";
-
-  src = fetchFromGitLab {
-    owner = "o9000";
-    repo = "pmenu";
-    rev = "f98a5bdf20deb0b7f0543e5ce6a8f5574f695e07";
-    sha256 = "131nqafbmbfpgsgss27pz4cyb9fb29m5h1ai1fyvcn286rr9dnp2";
-  };
-
-  nativeBuildInputs = [ python2Packages.wrapPython ];
-
-  buildInputs = [ python2Packages.pygtk gnome-menus ];
-
-  pythonPath = [ python2Packages.pygtk ];
-    
-  installPhase = ''
-    mkdir -p $out/bin $out/share/applications
-    ./install.sh $out
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = {
-    homepage = https://gitlab.com/o9000/pmenu;
-    description = "Start menu for Linux/BSD";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
index f537627f976..7dd3792a3cb 100644
--- a/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, lua, perl, python3
 , pciutils, dbus-glib, libcanberra-gtk2, libproxy
-, libsexy, enchant2, libnotify, openssl, isocodes
+, enchant2, libnotify, openssl, isocodes
 , desktop-file-utils
 , meson, ninja
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy
-    libsexy libnotify openssl desktop-file-utils
+    libnotify openssl desktop-file-utils
     isocodes
   ];
 
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index 4422aaa2b44..971f2f645f8 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, python2Packages
+, python3Packages
 , pkgconfig
 , librsvg
 , gobject-introspection
@@ -7,40 +7,59 @@
 , gtk3
 , gtkspell3
 , gnome3
+, glib
 , goocanvas2
+, gdk-pixbuf
+, pango
+, fontconfig
+, freetype
+, wrapGAppsHook
 }:
 
 with stdenv.lib;
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "4.8.5";
-  src = python2Packages.fetchPypi {
+  version = "5.4.0";
+
+  disabled = !python3Packages.isPy3k;
+
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
+    sha256 = "0wbq8y8z0n6c5b3h5ynlawn3z79a3hkb1fkmblz4pwnj0jfnbswd";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
-  propagatedBuildInputs = with python2Packages; [
-    chardet
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
     dateutil
-    pygtk
-    librsvg
     pygobject3
     goocalendar
-    cdecimal
+    pycairo
   ];
+
   buildInputs = [
     atk
-    gtk3
+    gdk-pixbuf
+    glib
     gnome3.adwaita-icon-theme
-    gtkspell3
     goocanvas2
+    fontconfig
+    freetype
+    gtk3
+    gtkspell3
+    librsvg
+    pango
   ];
-  makeWrapperArgs = [
-    ''--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"''
-    ''--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"''
-    ''--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"''
-  ];
+
+  strictDeps = false;
+
+  doCheck = false;
+
   meta = {
     description = "The client of the Tryton application platform";
     longDescription = ''
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
deleted file mode 100644
index fc591dd710e..00000000000
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, python27Packages, makeWrapper }:
-
-let
-  inherit (python27Packages) pygtk python;
-in stdenv.mkDerivation rec {
-  version = "0.4.8";
-  pname = "diffuse";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
-  };
-
-  buildInputs = [ python pygtk makeWrapper ];
-
-  buildPhase = ''
-    python ./install.py --prefix="$out" --sysconfdir="$out/etc" --pythonbin="${python}/bin/python"
-    wrapProgram "$out/bin/diffuse" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
-  '';
-
-  # no-op, everything is done in buildPhase
-  installPhase = "true";
-
-  # NOTE: diffuse installs a .desktop file itself
-
-  meta = with stdenv.lib; {
-    description = "Graphical diff and merge tool";
-    homepage = http://diffuse.sourceforge.net/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
deleted file mode 100644
index 7dc350da647..00000000000
--- a/pkgs/applications/video/key-mon/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, gnome2, librsvg, pythonPackages }:
-
-pythonPackages.buildPythonApplication rec {
-  pname = "key-mon";
-  version = "1.17";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/key-mon/${pname}-${version}.tar.gz";
-    sha256 = "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q";
-  };
-
-  propagatedBuildInputs =
-    [ gnome2.python_rsvg librsvg pythonPackages.pygtk pythonPackages.xlib ];
-
-  doCheck = false;
-
-  preFixup = ''
-      export makeWrapperArgs="--set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://code.google.com/archive/p/key-mon;
-    description = "Utility to show live keyboard and mouse status for teaching and screencasts";
-    license = licenses.asl20;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/default.nix b/pkgs/applications/video/recordmydesktop/default.nix
deleted file mode 100644
index e4d6e14d098..00000000000
--- a/pkgs/applications/video/recordmydesktop/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchsvn, autoreconfHook, zlib, popt, alsaLib, libvorbis, libtheora
-, libICE, libSM, libX11, libXext, libXfixes, libXdamage }:
-
-stdenv.mkDerivation rec {
-  pname = "recordmydesktop";
-  version = "0.3.8.1-svn${rev}";
-  rev = "602";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/recordmydesktop;
-    inherit rev;
-    sha256 = "1avirkc4ymrd575m616pi6wpgq1i0r5sb3qahps1g18sjpxks0lf";
-  };
-
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = [
-    zlib popt alsaLib libICE libSM libX11 libXext
-    libXfixes libXdamage libvorbis libtheora
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Desktop session recorder";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/gtk.nix b/pkgs/applications/video/recordmydesktop/gtk.nix
deleted file mode 100644
index cf02825501f..00000000000
--- a/pkgs/applications/video/recordmydesktop/gtk.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, pythonPackages, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "gtk-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/gtk-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "010aykgjfxhyiixq9a9fg3p1a1ixz59m1vkn16hpy0lybgf4dsby";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = with pythonPackages; [
-    python pygtk wrapPython
-  ];
-
-  pythonPath = with pythonPackages; [ pygtk ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/video/recordmydesktop/qt.nix b/pkgs/applications/video/recordmydesktop/qt.nix
deleted file mode 100644
index 573a18f62ce..00000000000
--- a/pkgs/applications/video/recordmydesktop/qt.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig
-, glib, pythonPackages, qt4, jack2, xwininfo }:
-
-let
-  binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ];
-
-in stdenv.mkDerivation {
-  pname = "qt-recordmydesktop";
-  version = "0.3.8-svn${recordmydesktop.rev}";
-
-  src = fetchsvn {
-    url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/qt-recordmydesktop;
-    inherit (recordmydesktop) rev;
-    sha256 = "0vz7amrmz317sbx2cv2186d0r57as4l26xa9rpim5gbvzk20caqc";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-
-  buildInputs = [ glib qt4 ] ++ (with pythonPackages; [
-    python wrapPython pyqt4
-  ]);
-
-  pythonPath = with pythonPackages; [ pyqt4 ];
-
-  postInstall = ''
-    makeWrapperArgs="--prefix PATH : ${binPath}"
-    wrapPythonPrograms
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GTK frontend for recordmydesktop";
-    homepage = http://recordmydesktop.sourceforge.net/;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
deleted file mode 100644
index 2d7cad84f21..00000000000
--- a/pkgs/development/libraries/libindicate/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# TODO: Resolve the issues with the Mono bindings.
-
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
-, glib, dbus-glib, libdbusmenu
-, gtkVersion ? "3", gtk2 ? null, gtk3 ? null
-, python2Packages, gobject-introspection, vala, gnome-doc-utils
-, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
- }:
-
-with lib;
-
-let
-  inherit (python2Packages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
-          in "libindicate-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
-
-  src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicate-${version}.tar.gz";
-    sha256 = "10am0ymajx633b33anf6b79j37k61z30v9vaf5f9fwk1x5cw1q21";
-  };
-
-  nativeBuildInputs = [ pkgconfig autoconf gobject-introspection vala gnome-doc-utils ];
-
-  buildInputs = [
-    glib dbus-glib libdbusmenu
-    python pygobject2 pygtk
-  ] ++ (if gtkVersion == "2"
-    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
-    else [ gtk3 ]);
-
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' \
-      --replace 'pyglib-2.0-python$PYTHON_VERSION' 'pyglib-2.0-python'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
-
-  configureFlags = [
-    "CFLAGS=-Wno-error"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-gtk=${gtkVersion}"
-  ];
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "localstatedir=\${TMPDIR}"
-  ];
-
-  meta = {
-    description = "Library for raising indicators via DBus";
-    homepage = https://launchpad.net/libindicate;
-    license = with licenses; [ lgpl21 lgpl3 ];
-    platforms = platforms.linux;
-    maintainers = [ maintainers.msteen ];
-  };
-}
diff --git a/pkgs/development/libraries/libsexy/default.nix b/pkgs/development/libraries/libsexy/default.nix
deleted file mode 100644
index cb22d9f97bc..00000000000
--- a/pkgs/development/libraries/libsexy/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig
-, glib, gtk2, libxml2, pango
-}:
-
-stdenv.mkDerivation {
-  name = "libsexy-0.1.11";
-
-  src = fetchurl {
-    url = http://releases.chipx86.com/libsexy/libsexy/libsexy-0.1.11.tar.gz;
-    sha256 = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ glib gtk2 libxml2 pango ];
-
-  meta = with stdenv.lib; {
-    description = "A collection of GTK widgets";
-    homepage = https://blog.chipx86.com/tag/libsexy/;
-    license = licenses.lgpl21;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/python-modules/goocalendar/default.nix b/pkgs/development/python-modules/goocalendar/default.nix
index 644b68386fe..9fc0acc30af 100644
--- a/pkgs/development/python-modules/goocalendar/default.nix
+++ b/pkgs/development/python-modules/goocalendar/default.nix
@@ -16,17 +16,22 @@ buildPythonPackage rec {
   pname = "GooCalendar";
   version = "0.6";
 
-  disabled = isPy3k;
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "4c22c93e19b933d10d8ea1c67a67f485267af82175ef59419427dd39d1e3af18";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+  ];
+
   propagatedBuildInputs = [
-    pygtk
     pygobject3
   ];
+
   buildInputs = [
     gtk3
     goocanvas2
@@ -37,8 +42,8 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A calendar widget for GTK using PyGoocanvas.";
-    homepage    = https://goocalendar.tryton.org/;
-    license     = licenses.gpl2;
+    homepage = https://goocalendar.tryton.org/;
+    license = licenses.gpl2;
     maintainers = [ maintainers.udono ];
   };
 }
diff --git a/pkgs/development/python-modules/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix
deleted file mode 100644
index 78e0dae2634..00000000000
--- a/pkgs/development/python-modules/libsexy/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, glib, python }:
-
-buildPythonPackage rec {
-  pname = "libsexy";
-  version = "0.1.9";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://releases.chipx86.com/libsexy/sexy-python/sexy-python-${version}.tar.gz";
-    sha256 = "05bgcsxwkp63rlr8wg6znd46cfbhrzc5wh70jabsi654pxxjb39d";
-  };
-
-  nativeBuildInputs = [ pkgconfig pygtk ];
-
-  propagatedBuildInputs = [
-    pygtk libsexy glib pango libxml2
-  ];
-
-  postInstall = ''
-    ln -s $out/${python.sitePackages}/gtk-2.0/* $out/${python.sitePackages}
-  '';
-
-  meta = {
-    description = "Python libsexy bindings";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/python-modules/matplotlib/2.nix b/pkgs/development/python-modules/matplotlib/2.nix
index 5a45b02a240..8ea530489e2 100644
--- a/pkgs/development/python-modules/matplotlib/2.nix
+++ b/pkgs/development/python-modules/matplotlib/2.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchPypi, python, buildPythonPackage, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection, functools32, subprocess32
 , fetchpatch
 , enableGhostscript ? false, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -14,7 +13,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -45,7 +43,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt4 ]
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index ab03149e72d..9f9d1010d98 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchPypi, python, buildPythonPackage, isPy3k, pycairo, backports_functools_lru_cache
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
-, freetype, libpng, pkgconfig, mock, pytz, pygobject3
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3, gobject-introspection
 , enableGhostscript ? true, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 # darwin has its own "MacOSX" backend
 , enableTk ? !stdenv.isDarwin, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
@@ -13,7 +12,6 @@
 }:
 
 assert enableGhostscript -> ghostscript != null;
-assert enableGtk2 -> pygtk != null;
 assert enableTk -> (tcl != null)
                 && (tk != null)
                 && (tkinter != null)
@@ -46,7 +44,6 @@ buildPythonPackage rec {
     [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
-    ++ stdenv.lib.optional enableGtk2 pygtk
     ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt5 ];
diff --git a/pkgs/tools/X11/oblogout/default.nix b/pkgs/tools/X11/oblogout/default.nix
deleted file mode 100644
index 9acd113d0ab..00000000000
--- a/pkgs/tools/X11/oblogout/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, intltool, file, pythonPackages, cairo }:
-
-pythonPackages.buildPythonApplication {
-  pname = "oblogout-unstable";
-  version = "2009-11-18";
-
-  src = fetchFromGitHub {
-    owner = "nikdoof";
-    repo = "oblogout";
-    rev = "ee023158c03dee720a1af9b1307b14ed5a95f5a0";
-    sha256 = "0nj87q94idb5ki4wnb2xipfgc6k6clr3rmm4xxh46b58z4zhhbmj";
-  };
-
-  nativeBuildInputs = [ intltool file pythonPackages.distutils_extra ];
-
-  buildInputs = [ cairo ];
-
-  propagatedBuildInputs = [ pythonPackages.pygtk pythonPackages.pillow pythonPackages.dbus-python ];
-
-  patches = [ ./oblogout-0.3-fixes.patch ];
-
-  postPatch = ''
-    substituteInPlace data/oblogout --replace sys.prefix \"$out/${pythonPackages.python.sitePackages}\"
-    substituteInPlace oblogout/__init__.py --replace sys.prefix \"$out\"
-    mkdir -p $out/share/doc
-    cp -a README $out/share/doc
-  '';
-
-  meta = {
-    description = "Openbox logout script";
-    homepage = https://launchpad.net/oblogout;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch b/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
deleted file mode 100644
index c58103c6d40..00000000000
--- a/pkgs/tools/X11/oblogout/oblogout-0.3-fixes.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/data/oblogout b/data/oblogout
-index 8058c4a..dfe5285 100755
---- a/data/oblogout
-+++ b/data/oblogout
-@@ -77,8 +77,10 @@ def main(argv = None):
-             config = 'data/oblogout.conf'
-         elif os.path.isfile('%s/.config/oblogout.conf' % os.getenv("HOME")):
-             config = '%s/.config/oblogout.conf' % os.getenv("HOME")
--        else:
-+        elif os.path.isfile('/etc/oblogout.conf'):
-             config = '/etc/oblogout.conf'
-+        else:
-+            config = sys.prefix + '/etc/oblogout.conf'
-                 
-     # Check config in local path, if it exists pass it on     
-     if not os.path.isfile(config):
-diff --git a/data/oblogout.conf b/data/oblogout.conf
-index 810872c..b1c1009 100644
---- a/data/oblogout.conf
-+++ b/data/oblogout.conf
-@@ -1,11 +1,11 @@
- [settings]
--usehal = true
-+usehal = false
- 
- [looks]
- opacity = 70
- bgcolor = black
- buttontheme = simplistic
--buttons = cancel, logout, restart, shutdown, suspend, lock
-+buttons = cancel, logout, restart, shutdown, suspend
- 
- [shortcuts]
- cancel = Escape
-@@ -17,11 +17,11 @@ lock = K
- hibernate = H
- 
- [commands]
--shutdown = shutdown -h now
--restart = reboot
--suspend = pmi action suspend
--hibernate = pmi action hibernate
--safesuspend = safesuspend
--lock = gnome-screensaver-command -l
--switchuser = gdm-control --switch-user
-+shutdown = systemctl poweroff
-+restart = systemctl reboot
-+suspend = systemctl suspend
-+hibernate = systemctl hibernate
-+# safesuspend = safesuspend
-+# lock = gnome-screensaver-command -l
-+# switchuser = gdm-control --switch-user
- logout = openbox --exit
-diff --git a/oblogout/__init__.py b/oblogout/__init__.py
-index b9e4e01..12f521f 100644
---- a/oblogout/__init__.py
-+++ b/oblogout/__init__.py
-@@ -138,7 +138,7 @@ class OpenboxLogout():
-             self.logger.debug("Rendering Fade")
-             # Convert Pixbuf to PIL Image
-             wh = (pb.get_width(),pb.get_height())
--            pilimg = Image.fromstring("RGB", wh, pb.get_pixels())
-+            pilimg = Image.frombytes("RGB", wh, pb.get_pixels())
-             
-             pilimg = pilimg.point(lambda p: (p * self.opacity) / 255 )
- 
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
deleted file mode 100644
index 404cef72a3e..00000000000
--- a/pkgs/tools/X11/winswitch/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, pythonPackages
-, which, xpra, xmodmap }:
-
-let
-  base = pythonPackages.buildPythonApplication rec {
-    pname = "winswitch";
-    namePrefix = "";
-    version = "0.12.23";
-
-    src = fetchurl {
-      url = "http://winswitch.org/src/${pname}-${version}.src.tar.bz2";
-      sha256 = "1m0akjcdlsgng426rwvzlcl76kjm993icj0pggvha40cizig1yd9";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [
-      pygtk twisted pycrypto pyasn1 which xpra xmodmap
-    ];
-
-    patchPhase = ''
-      sed -i -r -e 's|(PREFIX_DIR *= *).*|\1"'"$out"'"|'             \
-                -e 's|(PREFIX_SEARCH_ORDER *= *).*|\1["'"$out"'"]|'  \
-                -e 's|(ETC_SEARCH_ORDER *= *).*|\1["'"$out/etc"'"]|' \
-                -e 's|(BIN_SEARCH_ORDER *= *).*|\1["'"$out/bin"'"]|' \
-                winswitch/util/paths.py
-
-      sed -i -e '/elif *LINUX:/,/distro_helper/{
-        s/elif *LINUX:.*/else: name = "NixOS"/p
-        /distro_helper/!d
-      }' winswitch/util/distro_packaging_util.py
-    '';
-
-    preInstall = ''
-      # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-      python setup.py install_data --install-dir=$out --root=$out
-      sed -i '/data_files = data_files/d' setup.py
-    '';
-
-    doCheck = false;
-
-    meta.platforms = stdenv.lib.platforms.linux;
-    meta.broken = true;
-  };
-in stdenv.lib.overrideDerivation base (b: {
-  postFixup = b.postFixup + ''
-    sed -i -e 's/\''${PATH:+:}\$PATH//g' "$out/bin"/*
-  '';
-})
diff --git a/pkgs/tools/system/bootchart/default.nix b/pkgs/tools/system/bootchart/default.nix
deleted file mode 100644
index d3f692b70e7..00000000000
--- a/pkgs/tools/system/bootchart/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{stdenv, fetchFromGitHub, pkgconfig, glib, gtk2, python2Packages }:
-
-stdenv.mkDerivation rec {
-  version = "0.14.8";
-  pname = "bootchart";
-
-  src = fetchFromGitHub {
-    owner = "mmeeks";
-    repo = "bootchart";
-    rev = version;
-    sha256 = "12ja2hp6f49416zfjdx0kjfmlkh9wl9b7wz7gk372kps4gjnypqx";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gtk2 python2Packages.python python2Packages.wrapPython python2Packages.pygtk ];
-  pythonPath = with python2Packages; [ pygtk pycairo ];
-
-  installPhase = ''
-    make install DESTDIR=$out BINDIR=/bin PY_LIBDIR=/lib/${python2Packages.python.libPrefix}
-    wrapProgram $out/bin/pybootchartgui \
-      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.bootchart.org/;
-    description = "Performance analysis and visualization of the GNU/Linux boot process";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 1ec0b1f1b3e..b0d8b0dd0dd 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -48,9 +48,11 @@ mapAliases ({
   at_spi2_core = at-spi2-core; # added 2018-02-25
   bar-xft = lemonbar-xft;  # added 2015-01-16
   bashCompletion = bash-completion; # Added 2016-09-28
+  batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
   beegfs = throw "beegfs has been removed."; # added 2019-11-24
   bridge_utils = bridge-utils;  # added 2015-02-20
   bro = zeek; # added 2019-09-29
+  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # added 2019-12-10
   btrfsProgs = btrfs-progs; # added 2016-01-03
   bittorrentSync = throw "bittorrentSync has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync14 = throw "bittorrentSync14 has been deprecated by resilio-sync."; # added 2019-06-03
@@ -60,6 +62,7 @@ mapAliases ({
   cantarell_fonts = cantarell-fonts; # added 2018-03-03
   checkbashism = checkbashisms; # added 2016-08-16
   cide = throw "deprecated in 2019-09-11: abandoned by upstream";
+  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
   cifs_utils = cifs-utils; # added 2016-08
   ckb = ckb-next; # added 2018-10-21
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
@@ -81,6 +84,7 @@ mapAliases ({
   dbus_daemon = dbus.daemon; # added 2018-04-25
   dbus_glib = dbus-glib; # added 2018-02-25
   dbus_libs = dbus; # added 2018-04-25
+  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
   dbus_tools = dbus.out; # added 2018-04-25
   deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # added 2018-02-23
   deadpixi-sam = deadpixi-sam-unstable;
@@ -129,6 +133,7 @@ mapAliases ({
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   glib_networking = glib-networking; # added 2018-02-25
   gnome-mpv = celluloid; # added 2019-08-22
+  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # added 2019-12-10
   gmic_krita_qt = gmic-qt-krita; # added 2019-09-07
   gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
   gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
@@ -163,6 +168,7 @@ mapAliases ({
   gupnp_igd = gupnp-igd; # added 2018-02-25
   gupnptools = gupnp-tools;  # added 2015-12-19
   gutenberg = zola;  # added 2018-11-17
+  hamster-time-traker = throw "hamster-time-tracker has been removed from nixpkgs, as it was unmaintained."; # added 2019-12-10
   heimdalFull = heimdal; # added 2018-05-01
   hepmc = hepmc2; # added 2019-08-05
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
@@ -184,6 +190,7 @@ mapAliases ({
   keepassx2-http = keepassx-reboot; # added 2016-10-17
   keybase-go = keybase;  # added 2016-08-24
   krename-qt5 = krename; # added 2017-02-18
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # 2019-12-10
   kvm = qemu_kvm; # added 2018-04-25
   letsencrypt = certbot; # added 2016-05-16
   libaudit = audit; # added 2018-04-25
@@ -191,6 +198,9 @@ mapAliases ({
   libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
   libcap_manpages = libcap.doc; # added 2016-04-29
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
+  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   libcap_progs = libcap.out; # added 2016-04-29
   libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
   libdbusmenu-glib = libdbusmenu; # added 2018-05-01
@@ -210,6 +220,7 @@ mapAliases ({
   libsysfs = sysfsutils; # added 2018-04-25
   libtidy = html-tidy;  # added 2014-12-21
   libudev = udev; # added 2018-04-25
+  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # 2019-12-10
   links = links2; # added 2016-01-31
   linux_rpi0 = linux_rpi1;
   linuxPackages_rpi0 = linuxPackages_rpi1;
@@ -224,6 +235,8 @@ mapAliases ({
   mariadb-client = hiPrio mariadb.client; #added 2019.07.28
   mbedtls_1_3 = throw "End of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # added 2019-12-08
   mess = mame; # added 2019-10-30
+  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
+  mirage = throw "mirage has been femoved from nixpkgs, as it's unmaintained"; # added 2019-12-10
   mysql-client = hiPrio mariadb.client;
   memtest86 = memtest86plus; # added 2019-05-08
   mesa_noglu = mesa; # added 2019-05-28
@@ -263,6 +276,7 @@ mapAliases ({
   nxproxy = nx-libs; # added 2019-02-15
   nylas-mail-bin = throw "deprecated in 2019-09-11: abandoned by upstream";
   opencascade_oce = opencascade; # added 2018-04-25
+  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # added 2019-12-10
   opencl-icd = ocl-icd; # added 2017-01-20
   openexr_ctl = ctl; # added 2018-04-25
   openjpeg_2_1 = openjpeg_2; # added 2018-10-25
@@ -318,6 +332,7 @@ mapAliases ({
   processing3 = processing; # added 2019-08-16
   procps-ng = procps; # added 2018-06-08
   pyo3-pack = maturin;
+  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
   pulseaudioLight = pulseaudio; # added 2018-04-25
   phonon-backend-gstreamer = throw "Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22
   phonon-backend-vlc = throw "Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22
@@ -332,6 +347,9 @@ mapAliases ({
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
   rssglx = rss-glx; #added 2015-03-25
+  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
+  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
   ruby_2_0_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_1_0 = throw "deprecated 2018-0213: use a newer version of ruby";
   ruby_2_2_9 = throw "deprecated 2018-0213: use a newer version of ruby";
@@ -435,6 +453,7 @@ mapAliases ({
   weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
   wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
+  winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
   wireguard = wireguard-tools; # added 2018-05-19
   morituri = whipper; # added 2018-09-13
   xfceUnstable = xfce4-14; # added 2019-09-17
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ed15aab8b21..cff5ed262b3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1226,8 +1226,6 @@ in
 
   boot = callPackage ../development/tools/build-managers/boot { };
 
-  bootchart = callPackage ../tools/system/bootchart { };
-
   bowtie2 = callPackage ../applications/science/biology/bowtie2 { };
 
   boxfs = callPackage ../tools/filesystems/boxfs { };
@@ -3550,10 +3548,6 @@ in
 
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
-  gnome15 = callPackage ../applications/misc/gnome15 {
-    inherit (gnome2) gnome_python gnome_python_desktop;
-  };
-
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-keysign = callPackage ../tools/security/gnome-keysign { };
@@ -5850,8 +5844,6 @@ in
 
   pythonIRClib = pythonPackages.pythonIRClib;
 
-  pythonSexy = pythonPackages.libsexy;
-
   pyditz = callPackage ../applications/misc/pyditz {
     pythonPackages = python27Packages;
   };
@@ -5985,18 +5977,8 @@ in
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};
 
-  recordmydesktop = callPackage ../applications/video/recordmydesktop { };
-
   rx = callPackage ../applications/graphics/rx { };
 
-  gtk-recordmydesktop = callPackage ../applications/video/recordmydesktop/gtk.nix {
-    jack2 = jack2Full;
-  };
-
-  qt-recordmydesktop = callPackage ../applications/video/recordmydesktop/qt.nix {
-    jack2 = jack2Full;
-  };
-
   qt-box-editor = libsForQt5.callPackage ../applications/misc/qt-box-editor { };
 
   recutils = callPackage ../tools/misc/recutils { };
@@ -12461,10 +12443,6 @@ in
 
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
-  libindicate-gtk2 = libindicate.override { gtkVersion = "2"; };
-  libindicate-gtk3 = libindicate.override { gtkVersion = "3"; };
-  libindicate = callPackage ../development/libraries/libindicate { };
-
   libindicator-gtk2 = libindicator.override { gtkVersion = "2"; };
   libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
   libindicator = callPackage ../development/libraries/libindicator { };
@@ -16574,8 +16552,6 @@ in
 
   libsass = callPackage ../development/libraries/libsass { };
 
-  libsexy = callPackage ../development/libraries/libsexy { };
-
   libsepol = callPackage ../os-specific/linux/libsepol { };
 
   libsmbios = callPackage ../os-specific/linux/libsmbios { };
@@ -18018,8 +17994,6 @@ in
 
   batik = callPackage ../applications/graphics/batik { };
 
-  batti = callPackage ../applications/misc/batti { };
-
   baudline = callPackage ../applications/audio/baudline { };
 
 
@@ -18287,12 +18261,6 @@ in
     python = python27;
   };
 
-  cinepaint = callPackage ../applications/graphics/cinepaint {
-    fltk = fltk13;
-    libpng = libpng12;
-    cmake = cmake_2_8;
-  };
-
   codeblocks = callPackage ../applications/editors/codeblocks { };
   codeblocksFull = codeblocks.override { contribPlugins = true; };
 
@@ -18387,8 +18355,6 @@ in
     inherit (pkgs.gnome2) libart_lgpl libgnomeui;
   };
 
-  diffuse = callPackage ../applications/version-management/diffuse { };
-
   direwolf = callPackage ../applications/misc/direwolf { };
 
   dirt = callPackage ../applications/audio/dirt {};
@@ -19249,10 +19215,6 @@ in
 
   hakuneko = callPackage ../tools/misc/hakuneko { };
 
-  hamster-time-tracker = callPackage ../applications/misc/hamster-time-tracker {
-    inherit (gnome2) gnome_python;
-  };
-
   hashit = callPackage ../tools/misc/hashit { };
 
   hello = callPackage ../applications/misc/hello { };
@@ -19653,8 +19615,6 @@ in
 
   keyfinder-cli = libsForQt5.callPackage ../applications/audio/keyfinder-cli { };
 
-  keymon = callPackage ../applications/video/key-mon { };
-
   kgraphviewer = libsForQt5.callPackage ../applications/graphics/kgraphviewer { };
 
   khal = callPackage ../applications/misc/khal { };
@@ -19971,8 +19931,6 @@ in
 
   meme = callPackage ../applications/graphics/meme { };
 
-  mcomix = callPackage ../applications/graphics/mcomix { };
-
   mendeley = libsForQt5.callPackage ../applications/office/mendeley {
     gconf = pkgs.gnome2.GConf;
   };
@@ -20022,8 +19980,6 @@ in
 
   meh = callPackage ../applications/graphics/meh {};
 
-  mirage = callPackage ../applications/graphics/mirage { };
-
   mixxx = libsForQt5.callPackage ../applications/audio/mixxx {
     inherit (vamp) vampSDK;
   };
@@ -20454,8 +20410,6 @@ in
     inherit (gnome2) libglade;
   };
 
-  oblogout = callPackage ../tools/X11/oblogout { };
-
   obs-linuxbrowser = callPackage ../applications/video/obs-studio/linuxbrowser.nix { };
 
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio { };
@@ -20702,8 +20656,6 @@ in
 
   plugin-torture = callPackage ../applications/audio/plugin-torture { };
 
-  pmenu = callPackage ../applications/misc/pmenu { };
-
   polar-bookshelf = callPackage ../applications/misc/polar-bookshelf { };
 
   poezio = python3Packages.poezio;
@@ -21901,8 +21853,6 @@ in
 
   wily = callPackage ../applications/editors/wily { };
 
-  winswitch = callPackage ../tools/X11/winswitch { };
-
   wings = callPackage ../applications/graphics/wings {
     erlang = erlangR21;
   };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index afe689167ac..face76e104b 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2668,10 +2668,6 @@ in {
 
   latexcodec = callPackage ../development/python-modules/latexcodec {};
 
-  libsexy = callPackage ../development/python-modules/libsexy {
-    inherit (pkgs) libsexy pkgconfig;
-  };
-
   libselinux = pipe pkgs.libselinux [
     toPythonModule