* Allow the SLiM theme to be overriden.

* Delete the SLiM log file on X startup.

svn path=/nixos/trunk/; revision=8832
This commit is contained in:
Eelco Dolstra 2007-06-05 11:51:59 +00:00
parent f8ac666090
commit 566c723986
2 changed files with 38 additions and 0 deletions
system
upstart-jobs

View File

@ -596,6 +596,22 @@
} }
{
name = ["services" "xserver" "slim" "theme"];
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.
";
}
{ {
name = ["services" "httpd" "enable"]; name = ["services" "httpd" "enable"];
default = false; default = false;

View File

@ -21,6 +21,7 @@
let let
getCfg = option: config.get ["services" "xserver" option]; getCfg = option: config.get ["services" "xserver" option];
getCfg2 = option: config.get (["services" "xserver"] ++ option);
optional = condition: x: if condition then [x] else []; optional = condition: x: if condition then [x] else [];
@ -236,6 +237,22 @@ login_cmd exec ${stdenv.bash}/bin/sh ${clientScript}
"; ";
# Unpack the SLiM theme, or use the default.
slimThemesDir =
let
theme = getCfg2 ["slim" "theme"];
unpackedTheme = stdenv.mkDerivation {
name = "slim-theme";
buildCommand = "
ensureDir $out
cd $out
unpackFile ${theme}
ln -s * default
";
};
in if theme == null then "${slim}/share/slim/themes" else unpackedTheme;
in in
@ -288,6 +305,7 @@ rec {
start on network-interfaces start on network-interfaces
start script start script
rm -f /var/state/opengl-driver rm -f /var/state/opengl-driver
${if videoDriver == "nvidia" ${if videoDriver == "nvidia"
then "ln -sf ${nvidiaDrivers} /var/state/opengl-driver" then "ln -sf ${nvidiaDrivers} /var/state/opengl-driver"
@ -295,9 +313,13 @@ rec {
then "ln -sf ${mesa} /var/state/opengl-driver" then "ln -sf ${mesa} /var/state/opengl-driver"
else "" else ""
} }
rm -f /var/log/slim.log
end script end script
env SLIM_CFGFILE=${slimConfig} env SLIM_CFGFILE=${slimConfig}
env SLIM_THEMESDIR=${slimThemesDir}
env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup
env XKB_BINDIR=${xorg.xkbcomp}/bin # Needed for the Xkb extension. env XKB_BINDIR=${xorg.xkbcomp}/bin # Needed for the Xkb extension.
env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/ # related to xorg-sys-opengl - needed to load libglx for (AI)GLX support (for compiz) env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/ # related to xorg-sys-opengl - needed to load libglx for (AI)GLX support (for compiz)