* Merge splash-themes.nix into the regular options infrastructure.
svn path=/nixos/trunk/; revision=7576
This commit is contained in:
parent
56da3e7887
commit
2148123b9c
@ -3,13 +3,15 @@
|
|||||||
# defaults declared in options.nix if no value is given for an
|
# defaults declared in options.nix if no value is given for an
|
||||||
# option.
|
# option.
|
||||||
|
|
||||||
lib: config:
|
pkgs: config:
|
||||||
|
|
||||||
|
let lib = pkgs.library; in
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
# The option declarations, i.e., option names with defaults and
|
# The option declarations, i.e., option names with defaults and
|
||||||
# documentation.
|
# documentation.
|
||||||
declarations = import ./options.nix;
|
declarations = import ./options.nix {inherit pkgs;};
|
||||||
|
|
||||||
# Get the option named `name' from the user configuration, using
|
# Get the option named `name' from the user configuration, using
|
||||||
# its default value if it's not defined.
|
# its default value if it's not defined.
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
{pkgs}:
|
||||||
|
|
||||||
[
|
[
|
||||||
|
|
||||||
|
|
||||||
@ -237,6 +239,63 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
name = ["services" "ttyBackgrounds" "enable"];
|
||||||
|
default = true;
|
||||||
|
description = "
|
||||||
|
Whether to enable graphical backgrounds for the virtual consoles.
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
name = ["services" "ttyBackgrounds" "defaultTheme"];
|
||||||
|
default = pkgs.fetchurl {
|
||||||
|
url = http://www.bootsplash.de/files/themes/Theme-BabyTux.tar.bz2;
|
||||||
|
md5 = "a6d89d1c1cff3b6a08e2f526f2eab4e0";
|
||||||
|
};
|
||||||
|
description = "
|
||||||
|
The default theme for the virtual consoles. Themes can be found
|
||||||
|
at http://www.bootsplash.de/.
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
name = ["services" "ttyBackgrounds" "defaultSpecificThemes"];
|
||||||
|
default = [
|
||||||
|
{ tty = 6;
|
||||||
|
theme = pkgs.fetchurl { # Yeah!
|
||||||
|
url = http://www.bootsplash.de/files/themes/Theme-Pativo.tar.bz2;
|
||||||
|
md5 = "9e13beaaadf88d43a5293e7ab757d569";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{ tty = 10;
|
||||||
|
theme = pkgs.fetchurl {
|
||||||
|
url = http://www.bootsplash.de/files/themes/Theme-GNU.tar.bz2;
|
||||||
|
md5 = "61969309d23c631e57b0a311102ef034";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
description = "
|
||||||
|
This option sets specific themes for virtual consoles. If you
|
||||||
|
just want to set themes for additional consoles, use
|
||||||
|
<option>services.ttyBackgrounds.specificThemes</option>.
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
name = ["services" "ttyBackgrounds" "specificThemes"];
|
||||||
|
default = [
|
||||||
|
];
|
||||||
|
description = "
|
||||||
|
This option allows you to set specific themes for virtual
|
||||||
|
consoles.
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
name = ["services" "mingetty" "ttys"];
|
name = ["services" "mingetty" "ttys"];
|
||||||
default = [1 2 3 4 5 6];
|
default = [1 2 3 4 5 6];
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
{fetchurl}:
|
|
||||||
|
|
||||||
rec {
|
|
||||||
|
|
||||||
# Some themes.
|
|
||||||
|
|
||||||
themeBabyTux = fetchurl {
|
|
||||||
url = http://www.bootsplash.de/files/themes/Theme-BabyTux.tar.bz2;
|
|
||||||
md5 = "a6d89d1c1cff3b6a08e2f526f2eab4e0";
|
|
||||||
};
|
|
||||||
|
|
||||||
themeFrozenBubble = fetchurl {
|
|
||||||
url = http://www.bootsplash.de/files/themes/Theme-FrozenBubble.tar.bz2;
|
|
||||||
md5 = "da49f04988ab04b7e0de117b0d25061a";
|
|
||||||
};
|
|
||||||
|
|
||||||
themePativo = fetchurl { # Yeah!
|
|
||||||
url = http://www.bootsplash.de/files/themes/Theme-Pativo.tar.bz2;
|
|
||||||
md5 = "9e13beaaadf88d43a5293e7ab757d569";
|
|
||||||
};
|
|
||||||
|
|
||||||
themeGNU = fetchurl {
|
|
||||||
url = http://www.bootsplash.de/files/themes/Theme-GNU.tar.bz2;
|
|
||||||
md5 = "61969309d23c631e57b0a311102ef034";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# The splash screen.
|
|
||||||
|
|
||||||
splashScreen = themeBabyTux;
|
|
||||||
|
|
||||||
|
|
||||||
# The themes to use for each tty. For each tty except the first
|
|
||||||
# entry in the list, you can omit `theme' to get the same theme as
|
|
||||||
# the first one. If a tty does not appear, it doesn't get a
|
|
||||||
# theme (i.e., it will keep a black background).
|
|
||||||
|
|
||||||
ttyBackgrounds = [
|
|
||||||
{ tty = 1;
|
|
||||||
theme = themeBabyTux;
|
|
||||||
}
|
|
||||||
{ tty = 2;
|
|
||||||
}
|
|
||||||
{ tty = 3;
|
|
||||||
theme = themeGNU;
|
|
||||||
}
|
|
||||||
{ tty = 4;
|
|
||||||
theme = themeGNU;
|
|
||||||
}
|
|
||||||
{ tty = 5;
|
|
||||||
theme = themePativo;
|
|
||||||
}
|
|
||||||
{ tty = 10; # logging console
|
|
||||||
theme = themeGNU;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
@ -7,7 +7,7 @@ rec {
|
|||||||
|
|
||||||
# Make a configuration object from which we can retrieve option
|
# Make a configuration object from which we can retrieve option
|
||||||
# values.
|
# values.
|
||||||
config = import ./config.nix pkgs.library configuration;
|
config = import ./config.nix pkgs configuration;
|
||||||
|
|
||||||
|
|
||||||
pkgs = import ../pkgs/top-level/all-packages.nix {system = platform;};
|
pkgs = import ../pkgs/top-level/all-packages.nix {system = platform;};
|
||||||
@ -30,12 +30,6 @@ rec {
|
|||||||
nix = pkgs.nixUnstable; # we need the exportReferencesGraph feature
|
nix = pkgs.nixUnstable; # we need the exportReferencesGraph feature
|
||||||
|
|
||||||
|
|
||||||
# Splash configuration.
|
|
||||||
splashThemes = import ./splash-themes.nix {
|
|
||||||
inherit (pkgs) fetchurl;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
rootModules =
|
rootModules =
|
||||||
(config.get ["boot" "initrd" "extraKernelModules"]) ++
|
(config.get ["boot" "initrd" "extraKernelModules"]) ++
|
||||||
(config.get ["boot" "initrd" "kernelModules"]);
|
(config.get ["boot" "initrd" "kernelModules"]);
|
||||||
@ -100,7 +94,7 @@ rec {
|
|||||||
}
|
}
|
||||||
{ object = import ../helpers/unpack-theme.nix {
|
{ object = import ../helpers/unpack-theme.nix {
|
||||||
inherit (pkgs) stdenv;
|
inherit (pkgs) stdenv;
|
||||||
theme = splashThemes.splashScreen;
|
theme = config.get ["services" "ttyBackgrounds" "defaultTheme"];
|
||||||
};
|
};
|
||||||
symlink = "/etc/splash";
|
symlink = "/etc/splash";
|
||||||
}
|
}
|
||||||
@ -117,7 +111,7 @@ rec {
|
|||||||
|
|
||||||
# The services (Upstart) configuration for the system.
|
# The services (Upstart) configuration for the system.
|
||||||
upstartJobs = import ./upstart.nix {
|
upstartJobs = import ./upstart.nix {
|
||||||
inherit config pkgs nix splashThemes;
|
inherit config pkgs nix;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{config, pkgs, nix, splashThemes}:
|
{config, pkgs, nix}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@ -66,12 +66,6 @@ import ../upstart-jobs/gather.nix {
|
|||||||
inherit nix;
|
inherit nix;
|
||||||
})
|
})
|
||||||
|
|
||||||
# Transparent TTY backgrounds.
|
|
||||||
(import ../upstart-jobs/tty-backgrounds.nix {
|
|
||||||
inherit (pkgs) stdenv splashutils;
|
|
||||||
backgrounds = splashThemes.ttyBackgrounds;
|
|
||||||
})
|
|
||||||
|
|
||||||
# Handles the maintenance/stalled event (single-user shell).
|
# Handles the maintenance/stalled event (single-user shell).
|
||||||
(import ../upstart-jobs/maintenance-shell.nix {
|
(import ../upstart-jobs/maintenance-shell.nix {
|
||||||
inherit (pkgs) bash;
|
inherit (pkgs) bash;
|
||||||
@ -130,6 +124,40 @@ import ../upstart-jobs/gather.nix {
|
|||||||
(config.get ["services" "mingetty" "ttys"])
|
(config.get ["services" "mingetty" "ttys"])
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Transparent TTY backgrounds.
|
||||||
|
++ optional ["services" "ttyBackgrounds" "enable"]
|
||||||
|
(import ../upstart-jobs/tty-backgrounds.nix {
|
||||||
|
inherit (pkgs) stdenv splashutils;
|
||||||
|
|
||||||
|
backgrounds =
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
specificThemes =
|
||||||
|
config.get ["services" "ttyBackgrounds" "defaultSpecificThemes"]
|
||||||
|
++ config.get ["services" "ttyBackgrounds" "specificThemes"];
|
||||||
|
|
||||||
|
overridenTTYs = map (x: x.tty) specificThemes;
|
||||||
|
|
||||||
|
requiredTTYs =
|
||||||
|
(config.get ["services" "mingetty" "ttys"])
|
||||||
|
++ [10] /* !!! sync with syslog.conf */ ;
|
||||||
|
|
||||||
|
# Use the default theme for all the mingetty ttys and for the
|
||||||
|
# syslog tty, except those for which a specific theme is
|
||||||
|
# specified.
|
||||||
|
defaultTTYs =
|
||||||
|
pkgs.library.filter (x: !(pkgs.library.elem x overridenTTYs)) requiredTTYs;
|
||||||
|
|
||||||
|
in
|
||||||
|
(map (ttyNumber: {
|
||||||
|
tty = ttyNumber;
|
||||||
|
theme = config.get ["services" "ttyBackgrounds" "defaultTheme"];
|
||||||
|
}) defaultTTYs)
|
||||||
|
++ specificThemes;
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
# User-defined events.
|
# User-defined events.
|
||||||
++ (map makeJob (config.get ["services" "extraJobs"]))
|
++ (map makeJob (config.get ["services" "extraJobs"]))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user