diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index f6f659b02afa..9206f43ea392 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -39,7 +39,7 @@ can select an alternative one by picking one of the following lines: = true; - = true; + = true; diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml index eee81bf64263..56ebf4816306 100644 --- a/nixos/doc/manual/development/option-declarations.xml +++ b/nixos/doc/manual/development/option-declarations.xml @@ -99,7 +99,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming"> As an example, we will take the case of display managers. There is a central display manager module for generic display manager options and a module file - per display manager backend (slim, sddm, gdm ...). + per display manager backend (sddm, gdm ...). @@ -146,7 +146,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming"> />), and to extend it in each backend module (, + linkend='ex-option-declaration-eot-backend-gdm' />, ). @@ -167,11 +167,11 @@ services.xserver.displayManager.enable = mkOption { }; - - Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>slim</literal> module + + Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>gdm</literal> module services.xserver.displayManager.enable = mkOption { - type = with types; nullOr (enum [ "slim" ]); + type = with types; nullOr (enum [ "gdm" ]); }; diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 7370614b70a9..407e0d11584c 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -135,6 +135,13 @@ networking.interfaces.<name>.… options. + + + The SLIM Display Manager has been removed, as it has been unmaintained since 2013. + Consider migrating to a different display manager such as LightDM (current default in NixOS), + SDDM, GDM, or using the startx module which uses Xinitrc. + + diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index 4d990cf551f3..d567d2687653 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -261,7 +261,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 767068771036..a5f060a8d8e3 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 3ab2afc97407..1e18e927ec6e 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 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 b6fb7218da6f..b48ca3fad939 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 bf6b048654b3..b66856fd4d44 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 124660a43f07..4b0948a5b7a5 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 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 a8406544a72f..70f01dbdbf59 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 9e2109d88b5f..1bcab5cab098 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 b285f817d964..a92a3ccd0d18 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -248,7 +248,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 42c87dfa039d..000000000000 --- 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" <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 e504c09e43e6..000000000000 --- 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 f2f5f1549930..000000000000 --- 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 -+#include - - 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 -+#include - - 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 - 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 78f1454a883e..000000000000 --- 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 5a8e07bfbf07..000000000000 --- 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 cab5610f44fb..000000000000 --- 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 - #include - #include -+#include - - #include - #include -@@ -293,6 +294,8 @@ - - sessions.clear(); - -+ typedef pair session_t; -+ - if( !strSessionDir.empty() ) { - DIR *pDir = opendir(strSessionDir.c_str()); - -@@ -325,7 +328,7 @@ - } - } - desktop_file.close(); -- pair 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 session("",""); - sessions.push_back(session); - } -+ -+ std::sort(sessions.begin(), sessions.end(), [](session_t& a, session_t& b) -> bool{ -+ return a.first < b.first; -+ }); - } - - pair 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 b1be24f3e1d6..000000000000 --- 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 262304cdbf0c..99d412da8c17 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 dbcdb3cf4a1e..0210a42d003c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21120,16 +21120,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 { };