summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/lib/testing-python.nix1
-rw-r--r--nixos/lib/testing.nix1
-rw-r--r--nixos/modules/hardware/video/nvidia.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix1
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix12
-rw-r--r--nixos/modules/services/x11/display-managers/slim.nix160
-rw-r--r--nixos/modules/services/x11/xserver.nix1
-rw-r--r--nixos/release-combined.nix1
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/slim.nix66
-rw-r--r--pkgs/applications/display-managers/slim/default.nix55
-rw-r--r--pkgs/applications/display-managers/slim/no-logfile.patch80
-rw-r--r--pkgs/applications/display-managers/slim/run-once.patch12
-rw-r--r--pkgs/applications/display-managers/slim/runtime-paths.patch70
-rw-r--r--pkgs/applications/display-managers/slim/sort-sessions.patch40
-rw-r--r--pkgs/applications/display-managers/slim/themes.nix183
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix6
18 files changed, 18 insertions, 676 deletions
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index 21f6172e967..22a6e7a6cc0 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -258,7 +258,6 @@ in rec {
           inherit require;
           virtualisation.memorySize = 1024;
           services.xserver.enable = true;
-          services.xserver.displayManager.slim.enable = false;
           services.xserver.displayManager.auto.enable = true;
           services.xserver.windowManager.default = "icewm";
           services.xserver.windowManager.icewm.enable = true;
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 76706877103..a5f060a8d8e 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -248,7 +248,6 @@ in rec {
           inherit require;
           virtualisation.memorySize = 1024;
           services.xserver.enable = true;
-          services.xserver.displayManager.slim.enable = false;
           services.xserver.displayManager.auto.enable = true;
           services.xserver.windowManager.default = "icewm";
           services.xserver.windowManager.icewm.enable = true;
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 3ab2afc9740..1e18e927ec6 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -75,7 +75,7 @@ in
 
         Note that this configuration will only be successful when a display manager
         for which the <option>services.xserver.displayManager.setupCommands</option>
-        option is supported is used; notably, SLiM is not supported.
+        option is supported is used.
       '';
     };
 
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index b6fb7218da6..b48ca3fad93 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -232,7 +232,6 @@ in
       security.pam.services.kdm.enableKwallet = true;
       security.pam.services.lightdm.enableKwallet = true;
       security.pam.services.sddm.enableKwallet = true;
-      security.pam.services.slim.enableKwallet = true;
 
       xdg.portal.enable = true;
       xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index bf6b048654b..b66856fd4d4 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -1,9 +1,9 @@
 # This module declares the options to define a *display manager*, the
-# program responsible for handling X logins (such as xdm, gdb, or
-# SLiM).  The display manager allows the user to select a *session
-# type*.  When the user logs in, the display manager starts the
+# program responsible for handling X logins (such as LightDM, GDM, or SDDM).
+# The display manager allows the user to select a *session
+# type*. When the user logs in, the display manager starts the
 # *session script* ("xsession" below) to launch the selected session
-# type.  The session type defines two things: the *desktop manager*
+# type. The session type defines two things: the *desktop manager*
 # (e.g., KDE, Gnome or a plain xterm), and optionally the *window
 # manager* (e.g. kwin or twm).
 
@@ -196,7 +196,6 @@ let
         fi
       '') cfg.displayManager.extraSessionFilePackages}
 
-      
       ${concatMapStrings (pkg: ''
         if test -d ${pkg}/share/wayland-sessions; then
           mkdir -p "$out/share/wayland-sessions"
@@ -322,7 +321,7 @@ in
         execCmd = mkOption {
           type = types.str;
           example = literalExample ''
-            "''${pkgs.slim}/bin/slim"
+            "''${pkgs.lightdm}/bin/lightdm"
           '';
           description = "Command to start the display manager.";
         };
@@ -330,7 +329,6 @@ in
         environment = mkOption {
           type = types.attrsOf types.unspecified;
           default = {};
-          example = { SLIM_CFGFILE = "/etc/slim.conf"; };
           description = "Additional environment variables needed by the display manager.";
         };
 
diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix
index 124660a43f0..4b0948a5b7a 100644
--- a/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixos/modules/services/x11/display-managers/slim.nix
@@ -2,155 +2,15 @@
 
 with lib;
 
-let
-
-  dmcfg = config.services.xserver.displayManager;
-
-  cfg = dmcfg.slim;
-
-  slimConfig = pkgs.writeText "slim.cfg"
-    ''
-      xauth_path ${dmcfg.xauthBin}
-      default_xserver ${dmcfg.xserverBin}
-      xserver_arguments ${toString dmcfg.xserverArgs}
-      sessiondir ${dmcfg.session.desktops}/share/xsessions
-      login_cmd exec ${pkgs.runtimeShell} ${dmcfg.session.wrapper} "%session"
-      halt_cmd ${config.systemd.package}/sbin/shutdown -h now
-      reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
-      logfile /dev/stderr
-      ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)}
-      ${optionalString (cfg.defaultUser != null) ("focus_password yes")}
-      ${optionalString cfg.autoLogin "auto_login yes"}
-      ${optionalString (cfg.consoleCmd != null) "console_cmd ${cfg.consoleCmd}"}
-      ${cfg.extraConfig}
-    '';
-
-  # Unpack the SLiM theme, or use the default.
-  slimThemesDir =
-    let
-      unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; }
-        ''
-          mkdir -p $out
-          cd $out
-          unpackFile ${cfg.theme}
-          ln -s * default
-        '';
-    in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme;
-
-in
-
 {
-
-  ###### interface
-
-  options = {
-
-    services.xserver.displayManager.slim = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable SLiM as the display manager.
-        '';
-      };
-
-      theme = mkOption {
-        type = types.nullOr types.path;
-        default = pkgs.fetchurl {
-          url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-          sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-        };
-        defaultText = ''pkgs.fetchurl {
-          url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-          sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-        }'';
-        example = literalExample ''
-          pkgs.fetchurl {
-            url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
-            sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy";
-          }
-        '';
-        description = ''
-          The theme for the SLiM login manager.  If not specified, SLiM's
-          default theme is used.  See <link
-          xlink:href='http://slim.berlios.de/themes01.php'/> for a
-          collection of themes. TODO: berlios shut down.
-        '';
-      };
-
-      defaultUser = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "login";
-        description = ''
-          The default user to load. If you put a username here you
-          get it automatically loaded into the username field, and
-          the focus is placed on the password.
-        '';
-      };
-
-      autoLogin = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Automatically log in as the default user.
-        '';
-      };
-
-      extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = ''
-          Extra configuration options for SLiM login manager. Do not
-          add options that can be configured directly.
-        '';
-      };
-
-      consoleCmd = mkOption {
-        type = types.nullOr types.str;
-        default = ''
-          ${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ${pkgs.shadow}/bin/login
-        '';
-        defaultText = ''
-          ''${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ''${pkgs.shadow}/bin/login
-        '';
-        description = ''
-          The command to run when "console" is given as the username.
-        '';
-      };
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    services.xserver.displayManager.job =
-      { environment =
-          { SLIM_CFGFILE = slimConfig;
-            SLIM_THEMESDIR = slimThemesDir;
-          };
-        execCmd = "exec ${pkgs.slim}/bin/slim";
-      };
-
-    services.xserver.displayManager.sessionCommands =
-      ''
-        # Export the config/themes for slimlock.
-        export SLIM_THEMESDIR=${slimThemesDir}
-      '';
-
-    # Allow null passwords so that the user can login as root on the
-    # installation CD.
-    security.pam.services.slim = { allowNullPassword = true; startSession = true; };
-
-    # Allow slimlock to work.
-    security.pam.services.slimlock = {};
-
-    environment.systemPackages = [ pkgs.slim ];
-
-  };
-
+  # added 2019-11-11
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "slim" ] ''
+      The SLIM project is abandoned and their last release was in 2013.
+      Because of this it poses a security risk to your system.
+      Other issues include it not fully supporting systemd and logind sessions.
+      Please use a different display manager such as LightDM, SDDM, or GDM.
+      You can also use the startx module which uses Xinitrc.
+    '')
+  ];
 }
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index a8406544a72..70f01dbdbf5 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -557,7 +557,6 @@ in
           default = !( dmconf.auto.enable
                     || dmconf.gdm.enable
                     || dmconf.sddm.enable
-                    || dmconf.slim.enable
                     || dmconf.xpra.enable );
       in mkIf (default) true;
 
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 9e2109d88b5..1bcab5cab09 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -133,7 +133,6 @@ in rec {
         (all nixos.tests.proxy)
         (all nixos.tests.sddm.default)
         (all nixos.tests.simple)
-        (all nixos.tests.slim)
         (all nixos.tests.switchTest)
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 9db505a27d4..2f480f9ea3e 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -247,7 +247,6 @@ in
   shiori = handleTest ./shiori.nix {};
   signal-desktop = handleTest ./signal-desktop.nix {};
   simple = handleTest ./simple.nix {};
-  slim = handleTest ./slim.nix {};
   slurm = handleTest ./slurm.nix {};
   smokeping = handleTest ./smokeping.nix {};
   snapper = handleTest ./snapper.nix {};
diff --git a/nixos/tests/slim.nix b/nixos/tests/slim.nix
deleted file mode 100644
index 42c87dfa039..00000000000
--- a/nixos/tests/slim.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "slim";
-
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aszlig ];
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/user-account.nix ];
-    services.xserver.enable = true;
-    services.xserver.windowManager.default = "icewm";
-    services.xserver.windowManager.icewm.enable = true;
-    services.xserver.desktopManager.default = "none";
-    services.xserver.displayManager.slim = {
-      enable = true;
-
-      # Use a custom theme in order to get best OCR results
-      theme = pkgs.runCommand "slim-theme-ocr" {
-        nativeBuildInputs = [ pkgs.imagemagick ];
-      } ''
-        mkdir "$out"
-        convert -size 1x1 xc:white "$out/background.jpg"
-        convert -size 200x100 xc:white "$out/panel.jpg"
-        cat > "$out/slim.theme" <<EOF
-        background_color #ffffff
-        background_style tile
-
-        input_fgcolor #000000
-        msg_color #000000
-
-        session_color #000000
-        session_font Verdana:size=16:bold
-
-        username_msg Username:
-        username_font Verdana:size=16:bold
-        username_color #000000
-        username_x 50%
-        username_y 40%
-
-        password_msg Password:
-        password_x 50%
-        password_y 40%
-        EOF
-      '';
-    };
-  };
-
-  enableOCR = true;
-
-  testScript = { nodes, ... }: let
-    user = nodes.machine.config.users.users.alice;
-  in ''
-    startAll;
-    $machine->waitForText(qr/Username:/);
-    $machine->sendChars("${user.name}\n");
-    $machine->waitForText(qr/Password:/);
-    $machine->sendChars("${user.password}\n");
-
-    $machine->waitForFile('${user.home}/.Xauthority');
-    $machine->succeed('xauth merge ${user.home}/.Xauthority');
-    $machine->waitForWindow('^IceWM ');
-
-    # Make sure SLiM doesn't create a log file
-    $machine->fail('test -e /var/log/slim.log');
-  '';
-})
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
deleted file mode 100644
index e504c09e43e..00000000000
--- a/pkgs/applications/display-managers/slim/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, xorg, libjpeg, libpng
-, fontconfig, freetype, pam, dbus, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "slim-1.3.6";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/slim.berlios/${name}.tar.gz";
-    sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1";
-  };
-
-  patches =
-    [ # Allow the paths of the configuration file and theme directory to
-      # be set at runtime.
-      ./runtime-paths.patch
-
-      # Exit after the user's session has finished.  This works around
-      # slim's broken PAM session handling (see
-      # http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
-      ./run-once.patch
-
-      # Ensure that sessions appear in sort order, rather than in
-      # directory order.
-      ./sort-sessions.patch
-
-      # Allow to set logfile to a special "/dev/stderr" in order to continue
-      # logging to stderr and thus to the journal.
-      ./no-logfile.patch
-    ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/8eddda8072add075ebf56cf6d288bc1450d6b5f8/x11-misc/slim/files/slim-1.3.6-add-missing-libgen_h.patch";
-      sha256 = "0f82672s2r2cmdqfn2mbg3di76mbla9n0ik20p2gv4igi6p866xm";
-    });
-
-  preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
-
-  cmakeFlags = [ "-DUSE_PAM=1" ];
-
-  NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype -std=c++11";
-
-  enableParallelBuilding = true;
-
-  buildInputs =
-    [ cmake pkgconfig libjpeg libpng fontconfig freetype
-      pam dbus
-      xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper
-    ];
-
-  NIX_CFLAGS_LINK = "-lXmu";
-
-  meta = {
-    homepage = https://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/applications/display-managers/slim/no-logfile.patch b/pkgs/applications/display-managers/slim/no-logfile.patch
deleted file mode 100644
index f2f5f154993..00000000000
--- a/pkgs/applications/display-managers/slim/no-logfile.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/log.cpp b/log.cpp
-index b44677a..7c89dda 100644
---- a/log.cpp
-+++ b/log.cpp
-@@ -1,23 +1,31 @@
- #include "log.h"
- #include <iostream>
-+#include <cstring>
- 
- bool
- LogUnit::openLog(const char * filename)
- {
--	if (logFile.is_open()) {
-+	if (isFile && logFile.is_open()) {
- 		cerr << APPNAME
- 			<< ": opening a new Log file, while another is already open"
- 			<< endl;
--		logFile.close();
-+		closeLog();
- 	}
--	logFile.open(filename, ios_base::app);
- 
--	return !(logFile.fail());
-+	if (strcmp(filename, "/dev/stderr") == 0) {
-+		isFile = false;
-+		return true;
-+	} else {
-+		logFile.open(filename, ios_base::app);
-+		isFile = true;
-+		return !(logFile.fail());
-+	}
- }
- 
- void
- LogUnit::closeLog()
- {
-+	if (!isFile) return;
- 	if (logFile.is_open())
- 		logFile.close();
- }
-diff --git a/log.h b/log.h
-index b7810be..ad548a2 100644
---- a/log.h
-+++ b/log.h
-@@ -9,11 +9,14 @@
- #endif
- #include "const.h"
- #include <fstream>
-+#include <iostream>
- 
- using namespace std;
- 
- static class LogUnit {
- 	ofstream logFile;
-+	bool isFile;
-+	inline ostream &getStream() { return isFile ? logFile : cerr; }
- public:
- 	bool openLog(const char * filename);
- 	void closeLog();
-@@ -22,17 +25,17 @@ public:
- 
- 	template<typename Type>
- 	LogUnit & operator<<(const Type & text) {
--		logFile << text; logFile.flush();
-+		getStream() << text; getStream().flush();
- 		return *this;
- 	}
- 
- 	LogUnit & operator<<(ostream & (*fp)(ostream&)) {
--		logFile << fp; logFile.flush();
-+		getStream() << fp; getStream().flush();
- 		return *this;
- 	}
- 
- 	LogUnit & operator<<(ios_base & (*fp)(ios_base&)) {
--		logFile << fp; logFile.flush();
-+		getStream() << fp; getStream().flush();
- 		return *this;
- 	}
- } logStream;
diff --git a/pkgs/applications/display-managers/slim/run-once.patch b/pkgs/applications/display-managers/slim/run-once.patch
deleted file mode 100644
index 78f1454a883..00000000000
--- a/pkgs/applications/display-managers/slim/run-once.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
---- slim-1.3.6-orig/app.cpp	2013-10-15 11:02:55.629263422 +0200
-+++ slim-1.3.6/app.cpp	2013-10-15 13:00:10.141210784 +0200
-@@ -816,7 +822,7 @@
- 	StopServer();
- 	RemoveLock();
- 	while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
--	Run();
-+	exit(OK_EXIT);
- }
- 
- void App::KillAllClients(Bool top) {
diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch
deleted file mode 100644
index 5a8e07bfbf0..00000000000
--- a/pkgs/applications/display-managers/slim/runtime-paths.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -ru slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
---- slim-1.3.6-orig/app.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/app.cpp	2014-03-30 19:01:04.115414201 +0200
-@@ -200,7 +200,9 @@
- 
- 	/* Read configuration and theme */
- 	cfg = new Cfg;
--	cfg->readConf(CFGFILE);
-+	char *cfgfile = getenv("SLIM_CFGFILE");
-+	if (!cfgfile) cfgfile = CFGFILE;
-+	cfg->readConf(cfgfile);
- 	string themebase = "";
- 	string themefile = "";
- 	string themedir = "";
-@@ -208,7 +210,9 @@
- 	if (testing) {
- 		themeName = testtheme;
- 	} else {
--		themebase = string(THEMESDIR) + "/";
-+		char *themesdir = getenv("SLIM_THEMESDIR");
-+		if (!themesdir) themesdir = THEMESDIR;
-+		themebase = string(themesdir) + "/";
- 		themeName = cfg->getOption("current_theme");
- 		string::size_type pos;
- 		if ((pos = themeName.find(",")) != string::npos) {
-diff -ru slim-1.3.6-orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt
---- slim-1.3.6-orig/CMakeLists.txt	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/CMakeLists.txt	2014-03-30 19:16:48.445069729 +0200
-@@ -23,7 +23,7 @@
- 
- set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
- set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim")
--set(SYSCONFDIR "/etc")
-+set(SYSCONFDIR "$ENV{out}/etc")
- set(LIBDIR "/lib")
- set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man")
- 
-@@ -40,7 +40,7 @@
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPACKAGE=\"slim\"")
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DVERSION=\"${SLIM_VERSION}\"")
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"")
--set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"")
-+set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"/etc\"")
- 
- # Flags
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2")
-Only in slim-1.3.6: CMakeLists.txt~
-diff -ru slim-1.3.6-orig/slimlock.cpp slim-1.3.6/slimlock.cpp
---- slim-1.3.6-orig/slimlock.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/slimlock.cpp	2014-03-30 19:01:04.115414201 +0200
-@@ -106,13 +106,17 @@
- 	unsigned int cfg_passwd_timeout;
- 	// Read user's current theme
- 	cfg = new Cfg;
--	cfg->readConf(CFGFILE);
-+	char *cfgfile = getenv("SLIM_CFGFILE");
-+	if (!cfgfile) cfgfile = CFGFILE;
-+	cfg->readConf(cfgfile);
- 	cfg->readConf(SLIMLOCKCFG);
- 	string themebase = "";
- 	string themefile = "";
- 	string themedir = "";
- 	themeName = "";
--	themebase = string(THEMESDIR) + "/";
-+	char *themesdir = getenv("SLIM_THEMESDIR");
-+	if (!themesdir) themesdir = THEMESDIR;
-+	themebase = string(themesdir) + "/";
- 	themeName = cfg->getOption("current_theme");
- 	string::size_type pos;
- 	if ((pos = themeName.find(",")) != string::npos) {
diff --git a/pkgs/applications/display-managers/slim/sort-sessions.patch b/pkgs/applications/display-managers/slim/sort-sessions.patch
deleted file mode 100644
index cab5610f44f..00000000000
--- a/pkgs/applications/display-managers/slim/sort-sessions.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ru -x '*~' slim-1.3.6-orig/cfg.cpp slim-1.3.6/cfg.cpp
---- slim-1.3.6-orig/cfg.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/cfg.cpp	2016-01-30 10:35:51.108766802 +0100
-@@ -14,6 +14,7 @@
- #include <iostream>
- #include <unistd.h>
- #include <stdlib.h>
-+#include <algorithm>
- 
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -293,6 +294,8 @@
- 
- 	sessions.clear();
- 
-+        typedef pair<string,string> session_t;
-+
- 	if( !strSessionDir.empty() ) {
- 		DIR *pDir = opendir(strSessionDir.c_str());
- 
-@@ -325,7 +328,7 @@
-                                      }
-                              }
-                              desktop_file.close();
--                             pair<string,string> session(session_name,session_exec);
-+                             session_t session(session_name,session_exec);
-                              sessions.push_back(session);
-                              cout << session_exec << " - " << session_name << endl;
-                         }
-@@ -341,6 +344,10 @@
-         pair<string,string> session("","");
-         sessions.push_back(session);
- 	}
-+
-+        std::sort(sessions.begin(), sessions.end(), [](session_t& a, session_t& b) -> bool{
-+                return a.first < b.first;
-+        });
- }
- 
- pair<string,string> Cfg::nextSession() {
diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix
deleted file mode 100644
index b1be24f3e1d..00000000000
--- a/pkgs/applications/display-managers/slim/themes.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ stdenv, fetchurl, slim }:
-
-# Inspired on aspell buildDict expression
-
-let
-  buildTheme =
-    {fullName, src, version ? "testing"}:
-
-    stdenv. mkDerivation rec {
-      name = "${fullName}-${version}";
-
-      inherit src;
-
-      buildInputs = [ slim ];
-
-      dontBuild = true;
-
-      installPhase = ''
-        install -dm755 $out/share/slim/themes/${name}
-        install -m644 * $out/share/slim/themes/${name}
-      '';
-
-      meta = {
-        description = "Slim theme for ${fullName}";
-        platforms = stdenv.lib.platforms.linux;
-      };
-    };
-
-in {
-
-  archlinuxSimple = buildTheme {
-    fullName = "archlinux-simple";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-archlinux-simple.tar.gz";
-      sha256 = "7d60d6782fa86302646fe67253467c04692d247f89bdbe87178f690f32b270db";
-    };
-  };
-
-  capernoited = buildTheme {
-    fullName = "capernoited";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-capernoited.tar.gz";
-      sha256 = "fb9163c6a2656d60f088dc4f2173aa7556a6794495122acfa7d3be7182f16b41";
-    };
-  };
-
-  debianMoreblue = buildTheme {
-    fullName = "debian-moreblue";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-debian-moreblue.tar.bz2";
-      sha256 = "5b76929827d4a4d604ddca4f42668cca3309b6f7bd659901021c6f49d6d2c481";
-    };
-  };
-
-  fingerprint = buildTheme {
-    fullName = "fingerprint";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-fingerprint.tar.gz";
-      sha256 = "48b703f84ce7b814cda0824f65cafebf695cd71a14166b481bb44616097d3144";
-    };
-  };
-
-  flat = buildTheme {
-    fullName = "flat";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-flat.tar.gz";
-      sha256 = "0092d531540f9da8ef07ad173e527c4ef9c088d04962d142be3c11f0c5c0c5e9";
-    };
-  };
-
-  flower2 = buildTheme {
-    fullName = "flower2";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-flower2.tar.gz";
-      sha256 = "840faf6459ffd6c2c363160c85cb98000717f9a425102976336f5d8f68ed95ee";
-    };
-  };
-
-  gentooSimple = buildTheme {
-    fullName = "gentoo-simple";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-gentoo-simple.tar.bz2";
-      sha256 = "27c8614cc930ca200acf81f1192febc102501744939d5cbe997141e37c96d8c2";
-    };
-  };
-
-  lake = buildTheme {
-    fullName = "lake";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-lake.tar.gz";
-      sha256 = "f7d662e37068a6c64cbf910adf3c192f1b50724baa427a8c9487cb9f7ed95851";
-    };
-  };
-
-  lunar = buildTheme {
-    fullName = "lunar-0.4";
-    version = "";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-lunar-0.4.tar.bz2";
-      sha256 = "1543eb45e4d664377e0dd4f7f954aba005823034ba9692624398b3d58be87d76";
-    };
-  };
-
-  mindlock = buildTheme {
-    fullName = "mindlock";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-mindlock.tar.gz";
-      sha256 = "99a6e6acd55bf55ece18a3f644299517b71c1adc49efd87ce2d7e654fb67033c";
-    };
-  };
-
-  parallelDimensions = buildTheme {
-    fullName = "parallel-dimensions";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-parallel-dimensions.tar.gz";
-      sha256 = "2b17c3e6d3967a6a0744e20e6e05c9d3938f4ef04c62d49ddbd416bc4743046f";
-    };
-  };
-
-  previous = buildTheme {
-    fullName = "previous";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-previous.tar.gz";
-      sha256 = "1f2a69f8fc0dc8ed8eb86a4c1d1087ba7be486973fb81efab52a63c661d726f8";
-    };
-  };
-
-  rainbow = buildTheme {
-    fullName = "rainbow";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-rainbow.tar.gz";
-      sha256 = "d83e3afdb05be50cff7da037bb31208b2c152539d1a009740b13857f5f910072";
-    };
-  };
-
-  rear-window = buildTheme {
-    fullName = "rear-window";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-rear-window.tar.gz";
-      sha256 = "0b123706ccb67e94f626c183530ec5732b209bab155bc661d6a3f5cd5ee39511";
-    };
-  };
-
-  scotlandRoad = buildTheme {
-    fullName = "scotland-road";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-scotland-road.tar.gz";
-      sha256 = "fd60a434496ed39b968ffa1e5457b36cd12f64a4e2ecedffc675f97ca3f3bba1";
-    };
-  };
-
-  subway = buildTheme {
-    fullName = "subway";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-subway.tar.gz";
-      sha256 = "0205568e3e157973b113a83b26d8829ce9962a85ef7eb8a33d3ae2f3f9292253";
-    };
-  };
-
-  wave = buildTheme {
-    fullName = "wave";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
-      sha256 = "be75676da5bf8670daa48379bb9cc1be0b9a5faa09adbea967dfd7125320b959";
-    };
-  };
-
-  zenwalk = buildTheme {
-    fullName = "zenwalk";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-zenwalk.tar.gz";
-      sha256 = "f0f41d17ea505b0aa96a036e978fabaf673a51d3f81a919cb0d43364d4bc7a57";
-    };
-  };
-
-  nixosSlim = buildTheme {
-    fullName = "nixos-slim";
-    src = fetchurl {
-      url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-      sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-    };
-  };
-}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 262304cdbf0..99d412da8c1 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -351,6 +351,8 @@ mapAliases ({
   slurm-llnl-full = slurm-full; # renamed July 2017
   slurm-full = slurm; # added 2018-05-1
   smbclient = samba; # added 2018-04-25
+  slim = throw "slim has been removed. Please use a different display-manager"; # added 2019-11-11
+  slimThemes = throw "slimThemes has been removed because slim has been also"; # added 2019-11-11
   spaceOrbit = space-orbit; # addewd 2016-05-23
   speech_tools = speech-tools; # added 2018-04-25
   speedtest_cli = speedtest-cli;  # added 2015-02-17
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 37ee1237d58..36599a6722a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21068,16 +21068,10 @@ in
 
   skrooge = libsForQt5.callPackage ../applications/office/skrooge {};
 
-  slim = callPackage ../applications/display-managers/slim {
-    libpng = libpng12;
-  };
-
   smartgithg = callPackage ../applications/version-management/smartgithg {
     jre = openjdk11;
   };
 
-  slimThemes = recurseIntoAttrs (callPackage ../applications/display-managers/slim/themes.nix {});
-
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
   snapper = callPackage ../tools/misc/snapper { };