diff options
author | worldofpeace <worldofpeace@protonmail.ch> | 2019-11-15 15:56:48 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-15 15:56:48 +0000 |
commit | 4583e293fd5f4df1246b658d802a1b519bc05cd8 (patch) | |
tree | 93d7c269358c5e3a8d0e7ab33cfa1498358f7475 /nixos | |
parent | d6fa5402bb7d35a7e7d0574d61a271c7e88ce079 (diff) | |
parent | 9c7db09e485529608dec9471067700d34ebdad0a (diff) | |
download | nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.tar nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.tar.gz nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.tar.bz2 nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.tar.lz nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.tar.xz nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.tar.zst nixpkgs-4583e293fd5f4df1246b658d802a1b519bc05cd8.zip |
Merge pull request #73251 from worldofpeace/remove-slim
nixos/slim: remove
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/doc/manual/configuration/x-windows.xml | 2 | ||||
-rw-r--r-- | nixos/doc/manual/development/option-declarations.xml | 10 | ||||
-rw-r--r-- | nixos/doc/manual/release-notes/rl-2003.xml | 7 | ||||
-rw-r--r-- | nixos/lib/testing-python.nix | 1 | ||||
-rw-r--r-- | nixos/lib/testing.nix | 1 | ||||
-rw-r--r-- | nixos/modules/hardware/video/nvidia.nix | 2 | ||||
-rw-r--r-- | nixos/modules/services/x11/desktop-managers/plasma5.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/x11/display-managers/default.nix | 12 | ||||
-rw-r--r-- | nixos/modules/services/x11/display-managers/slim.nix | 160 | ||||
-rw-r--r-- | nixos/modules/services/x11/xserver.nix | 1 | ||||
-rw-r--r-- | nixos/release-combined.nix | 1 | ||||
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | nixos/tests/slim.nix | 66 |
13 files changed, 29 insertions, 236 deletions
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index f6f659b02af..9206f43ea39 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: <programlisting> <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true; -<xref linkend="opt-services.xserver.displayManager.slim.enable"/> = true; +<xref linkend="opt-services.xserver.displayManager.gdm.enable"/> = true; </programlisting> </para> <para> diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml index eee81bf6426..56ebf481630 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"> <para> 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 ...). </para> <para> @@ -146,7 +146,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming"> />), and to extend it in each backend module (<xref - linkend='ex-option-declaration-eot-backend-slim' />, + linkend='ex-option-declaration-eot-backend-gdm' />, <xref linkend='ex-option-declaration-eot-backend-sddm' />). </para> @@ -167,11 +167,11 @@ services.xserver.displayManager.enable = mkOption { };</screen> </example> - <example xml:id='ex-option-declaration-eot-backend-slim'> - <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>slim</literal> module</title> + <example xml:id='ex-option-declaration-eot-backend-gdm'> + <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>gdm</literal> module</title> <screen> services.xserver.displayManager.enable = mkOption { - type = with types; nullOr (enum [ "slim" ]); + type = with types; nullOr (enum [ "gdm" ]); };</screen> </example> diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 7370614b70a..407e0d11584 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -135,6 +135,13 @@ <link linkend="opt-networking.interfaces">networking.interfaces.<name>.…</link> options. </para> </listitem> + <listitem> + <para> + 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. + </para> + </listitem> </itemizedlist> </section> diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index 4d990cf551f..d567d268765 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 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 b285f817d96..a92a3ccd0d1 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 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'); - ''; -}) |