nixos: update default cases from KDM/KDE4 to SDDM/KDE5

This commit is contained in:
Graham Christensen 2017-02-09 21:25:03 -05:00
parent 4000489266
commit b12564cc1b
No known key found for this signature in database
GPG Key ID: 06121D366FE9435C
12 changed files with 43 additions and 54 deletions

View File

@ -36,9 +36,8 @@ latter might look like this:
{ config, pkgs, ... }: { config, pkgs, ... }:
{ services.xserver.enable = true; { services.xserver.enable = true;
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
environment.systemPackages = [ pkgs.kde4.kscreensaver ];
} }
</programlisting> </programlisting>

View File

@ -25,7 +25,7 @@ Otherwise, you can only log into a plain undecorated
<command>xterm</command> window. Thus you should pick one or more of <command>xterm</command> window. Thus you should pick one or more of
the following lines: the following lines:
<programlisting> <programlisting>
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
services.xserver.desktopManager.xfce.enable = true; services.xserver.desktopManager.xfce.enable = true;
services.xserver.windowManager.xmonad.enable = true; services.xserver.windowManager.xmonad.enable = true;
services.xserver.windowManager.twm.enable = true; services.xserver.windowManager.twm.enable = true;
@ -35,9 +35,9 @@ services.xserver.windowManager.icewm.enable = true;
<para>NixOSs default <emphasis>display manager</emphasis> (the <para>NixOSs default <emphasis>display manager</emphasis> (the
program that provides a graphical login prompt and manages the X program that provides a graphical login prompt and manages the X
server) is SLiM. You can select KDEs <command>kdm</command> instead: server) is SLiM. You can select KDEs <command>sddm</command> instead:
<programlisting> <programlisting>
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
</programlisting> </programlisting>
</para> </para>

View File

@ -41,9 +41,9 @@
(DM is the program that provides a graphical login prompt (DM is the program that provides a graphical login prompt
and manages the X server.) and manages the X server.)
You can, for example, select KDEs You can, for example, select KDEs
<command>kdm</command> instead: <command>sddm</command> instead:
<programlisting> <programlisting>
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
</programlisting> </programlisting>
</para> </para>

View File

@ -65,22 +65,22 @@ options = {
</para> </para>
<section xml:id="sec-option-declarations-eot"><title>Extensible Option <section xml:id="sec-option-declarations-eot"><title>Extensible Option
Types</title> Types</title>
<para>Extensible option types is a feature that allow to extend certain types <para>Extensible option types is a feature that allow to extend certain types
declaration through multiple module files. declaration through multiple module files.
This feature only work with a restricted set of types, namely This feature only work with a restricted set of types, namely
<literal>enum</literal> and <literal>submodules</literal> and any composed <literal>enum</literal> and <literal>submodules</literal> and any composed
forms of them.</para> forms of them.</para>
<para>Extensible option types can be used for <literal>enum</literal> options <para>Extensible option types can be used for <literal>enum</literal> options
that affects multiple modules, or as an alternative to related that affects multiple modules, or as an alternative to related
<literal>enable</literal> options.</para> <literal>enable</literal> options.</para>
<para>As an example, we will take the case of display managers. There is a <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 central display manager module for generic display manager options and a
module file per display manager backend (slim, kdm, gdm ...). module file per display manager backend (slim, sddm, gdm ...).
</para> </para>
<para>There are two approach to this module structure: <para>There are two approach to this module structure:
@ -96,7 +96,7 @@ options = {
</para> </para>
<para>Both approachs have problems.</para> <para>Both approachs have problems.</para>
<para>Making backends independent can quickly become hard to manage. For <para>Making backends independent can quickly become hard to manage. For
display managers, there can be only one enabled at a time, but the type display managers, there can be only one enabled at a time, but the type
system can not enforce this restriction as there is no relation between system can not enforce this restriction as there is no relation between
@ -108,18 +108,18 @@ options = {
central module will require to change the central module option every time central module will require to change the central module option every time
a new backend is added or removed.</para> a new backend is added or removed.</para>
<para>By using extensible option types, it is possible to create a placeholder <para>By using extensible option types, it is possible to create a placeholder
option in the central module (<xref linkend='ex-option-declaration-eot-service' option in the central module (<xref linkend='ex-option-declaration-eot-service'
/>), and to extend it in each backend module (<xref />), and to extend it in each backend module (<xref
linkend='ex-option-declaration-eot-backend-slim' />, <xref linkend='ex-option-declaration-eot-backend-slim' />, <xref
linkend='ex-option-declaration-eot-backend-kdm' />).</para> linkend='ex-option-declaration-eot-backend-sddm' />).</para>
<para>As a result, <literal>displayManager.enable</literal> option values can <para>As a result, <literal>displayManager.enable</literal> option values can
be added without changing the main service module file and the type system be added without changing the main service module file and the type system
automatically enforce that there can only be a single display manager automatically enforce that there can only be a single display manager
enabled.</para> enabled.</para>
<example xml:id='ex-option-declaration-eot-service'><title>Extensible type <example xml:id='ex-option-declaration-eot-service'><title>Extensible type
placeholder in the service module</title> placeholder in the service module</title>
<screen> <screen>
services.xserver.displayManager.enable = mkOption { services.xserver.displayManager.enable = mkOption {
@ -127,29 +127,29 @@ services.xserver.displayManager.enable = mkOption {
type = with types; nullOr (enum [ ]); type = with types; nullOr (enum [ ]);
};</screen></example> };</screen></example>
<example xml:id='ex-option-declaration-eot-backend-slim'><title>Extending <example xml:id='ex-option-declaration-eot-backend-slim'><title>Extending
<literal>services.xserver.displayManager.enable</literal> in the <literal>services.xserver.displayManager.enable</literal> in the
<literal>slim</literal> module</title> <literal>slim</literal> module</title>
<screen> <screen>
services.xserver.displayManager.enable = mkOption { services.xserver.displayManager.enable = mkOption {
type = with types; nullOr (enum [ "slim" ]); type = with types; nullOr (enum [ "slim" ]);
};</screen></example> };</screen></example>
<example xml:id='ex-option-declaration-eot-backend-kdm'><title>Extending <example xml:id='ex-option-declaration-eot-backend-sdm'><title>Extending
<literal>services.foo.backend</literal> in the <literal>kdm</literal> <literal>services.foo.backend</literal> in the <literal>sdm</literal>
module</title> module</title>
<screen> <screen>
services.xserver.displayManager.enable = mkOption { services.xserver.displayManager.enable = mkOption {
type = with types; nullOr (enum [ "kdm" ]); type = with types; nullOr (enum [ "sddm" ]);
};</screen></example> };</screen></example>
<para>The placeholder declaration is a standard <literal>mkOption</literal> <para>The placeholder declaration is a standard <literal>mkOption</literal>
declaration, but it is important that extensible option declarations only use declaration, but it is important that extensible option declarations only use
the <literal>type</literal> argument.</para> the <literal>type</literal> argument.</para>
<para>Extensible option types work with any of the composed variants of <para>Extensible option types work with any of the composed variants of
<literal>enum</literal> such as <literal>enum</literal> such as
<literal>with types; nullOr (enum [ "foo" "bar" ])</literal> <literal>with types; nullOr (enum [ "foo" "bar" ])</literal>
or <literal>with types; listOf (enum [ "foo" "bar" ])</literal>.</para> or <literal>with types; listOf (enum [ "foo" "bar" ])</literal>.</para>
</section> </section>

View File

@ -607,8 +607,8 @@ $bootLoaderConfig
# services.xserver.xkbOptions = "eurosign:e"; # services.xserver.xkbOptions = "eurosign:e";
# Enable the KDE Desktop Environment. # Enable the KDE Desktop Environment.
# services.xserver.displayManager.kdm.enable = true; # services.xserver.displayManager.sddm.enable = true;
# services.xserver.desktopManager.kde4.enable = true; # services.xserver.desktopManager.kde5.enable = true;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
# users.extraUsers.guest = { # users.extraUsers.guest = {

View File

@ -6,8 +6,8 @@
{ {
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.kdm.enable = true; displayManager.sddm.enable = true;
desktopManager.kde4.enable = true; desktopManager.kde5.enable = true;
synaptics.enable = true; # for touchpad support on many laptops synaptics.enable = true; # for touchpad support on many laptops
}; };

View File

@ -22,7 +22,7 @@ in
}; };
###### implementation ###### implementation
config = mkIf config.hardware.bluetooth.enable { config = mkIf config.hardware.bluetooth.enable {
environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ]; environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];

View File

@ -1,5 +1,5 @@
# This module declares the options to define a *display manager*, the # This module declares the options to define a *display manager*, the
# program responsible for handling X logins (such as xdm, kdm, gdb, or # program responsible for handling X logins (such as xdm, gdb, or
# SLiM). The display manager allows the user to select a *session # SLiM). The display manager allows the user to select a *session
# type*. When the user logs in, the display manager starts the # type*. When the user logs in, the display manager starts the
# *session script* ("xsession" below) to launch the selected session # *session script* ("xsession" below) to launch the selected session

View File

@ -16,18 +16,8 @@ with lib;
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.videoDrivers = []; services.xserver.videoDrivers = [];
# Enable KDM. Any display manager will do as long as it supports XDMCP. # Enable GDM. Any display manager will do as long as it supports XDMCP.
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.kdm.enableXDMCP = true;
services.xserver.displayManager.kdm.extraConfig =
''
[General]
# We're headless, so don't bother starting an X server.
StaticServers=
[Xdmcp]
Xaccess=${pkgs.writeText "Xaccess" "localhost"}
'';
systemd.sockets.terminal-server = systemd.sockets.terminal-server =
{ description = "Terminal Server Socket"; { description = "Terminal Server Socket";

View File

@ -325,8 +325,8 @@ in rec {
kde = makeClosure ({ pkgs, ... }: kde = makeClosure ({ pkgs, ... }:
{ services.xserver.enable = true; { services.xserver.enable = true;
services.xserver.displayManager.kdm.enable = true; services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
}); });
xfce = makeClosure ({ pkgs, ... }: xfce = makeClosure ({ pkgs, ... }:

View File

@ -54,7 +54,7 @@ import ./make-test.nix ({ pkgs, ... }: {
client = client =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ imports = [ ./common/x11.nix ]; { imports = [ ./common/x11.nix ];
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
}; };
}; };

View File

@ -45,7 +45,7 @@ import ./make-test.nix ({ pkgs, ... }: {
client = client =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ imports = [ ./common/x11.nix ]; { imports = [ ./common/x11.nix ];
services.xserver.desktopManager.kde4.enable = true; services.xserver.desktopManager.kde5.enable = true;
}; };
}; };