Move slim options into the displayManager attribute set.
Add an enable flag to slim which is by default set to be true. svn path=/nixos/branches/modular-nixos/; revision=15009
This commit is contained in:
parent
313fa38e2e
commit
0ff58754ae
@ -4,41 +4,65 @@
|
|||||||
let
|
let
|
||||||
inherit (pkgs.lib) mkOption;
|
inherit (pkgs.lib) mkOption;
|
||||||
|
|
||||||
options = { services = { xserver = {
|
slimOptions = {
|
||||||
|
|
||||||
slim = {
|
theme = mkOption {
|
||||||
|
default = null;
|
||||||
|
example = pkgs.fetchurl {
|
||||||
|
url = http://download.berlios.de/slim/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.
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
theme = mkOption {
|
defaultUser = mkOption {
|
||||||
default = null;
|
default = "";
|
||||||
example = pkgs.fetchurl {
|
example = "login";
|
||||||
url = http://download.berlios.de/slim/slim-wave.tar.gz;
|
description = "
|
||||||
sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy";
|
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.
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
hideCursor = mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "
|
||||||
|
Hide the mouse cursor on the login screen.
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
options = { services = { xserver = { displayManager = {
|
||||||
|
|
||||||
|
slim = slimOptions // {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
default = true;
|
||||||
description = "
|
description = "
|
||||||
The theme for the SLiM login manager. If not specified, SLiM's
|
Whether to enable slim as the display manager.
|
||||||
default theme is used. See <link
|
|
||||||
xlink:href='http://slim.berlios.de/themes01.php'/> for a
|
|
||||||
collection of themes.
|
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultUser = mkOption {
|
};
|
||||||
default = "";
|
|
||||||
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.
|
|
||||||
";
|
|
||||||
};
|
|
||||||
|
|
||||||
hideCursor = mkOption {
|
}; /* displayManager */ }; /* xserver */ }; /* services */ };
|
||||||
default = false;
|
|
||||||
example = true;
|
copyOldOptions = { services = { xserver = {
|
||||||
description = "
|
|
||||||
Hide the mouse cursor on the login screen.
|
# Declare old options.
|
||||||
";
|
slim = slimOptions;
|
||||||
};
|
|
||||||
|
# Copy the old options into the new options.
|
||||||
|
displayManager = {
|
||||||
|
slim = config.services.xserver.slim;
|
||||||
};
|
};
|
||||||
|
|
||||||
}; /* xserver */ }; /* services */ };
|
}; /* xserver */ }; /* services */ };
|
||||||
@ -49,7 +73,9 @@ in
|
|||||||
let
|
let
|
||||||
xcfg = config.services.xserver;
|
xcfg = config.services.xserver;
|
||||||
dmcfg = xcfg.displayManager;
|
dmcfg = xcfg.displayManager;
|
||||||
cfg = xcfg.slim;
|
cfg = dmcfg.slim;
|
||||||
|
|
||||||
|
inherit (pkgs.lib) mkIf;
|
||||||
|
|
||||||
slimConfig = pkgs.writeText "slim.cfg" ''
|
slimConfig = pkgs.writeText "slim.cfg" ''
|
||||||
xauth_path ${dmcfg.xauthBin}
|
xauth_path ${dmcfg.xauthBin}
|
||||||
@ -80,9 +106,10 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
mkIf cfg.enable {
|
||||||
require = [
|
require = [
|
||||||
options
|
options
|
||||||
|
copyOldOptions
|
||||||
];
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user