nixos/lightdm-gtk-greeter: don't wrap in module
This commit is contained in:
parent
7814a2f566
commit
b558eb8329
@ -15,34 +15,6 @@ let
|
|||||||
icons = cfg.iconTheme.package;
|
icons = cfg.iconTheme.package;
|
||||||
cursors = cfg.cursorTheme.package;
|
cursors = cfg.cursorTheme.package;
|
||||||
|
|
||||||
# The default greeter provided with this expression is the GTK greeter.
|
|
||||||
# Again, we need a few things in the environment for the greeter to run with
|
|
||||||
# fonts/icons.
|
|
||||||
wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" {
|
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
|
||||||
preferLocalBuild = true;
|
|
||||||
} ''
|
|
||||||
# This wrapper ensures that we actually get themes
|
|
||||||
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
|
|
||||||
$out/greeter \
|
|
||||||
--prefix PATH : "${lib.getBin pkgs.stdenv.cc.libc}/bin" \
|
|
||||||
--set GDK_PIXBUF_MODULE_FILE "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
|
|
||||||
--set GTK_PATH "${theme}:${pkgs.gtk3.out}" \
|
|
||||||
--set GTK_EXE_PREFIX "${theme}" \
|
|
||||||
--set GTK_DATA_PREFIX "${theme}" \
|
|
||||||
--set XDG_DATA_DIRS "${theme}/share:${icons}/share" \
|
|
||||||
--set XDG_CONFIG_HOME "${theme}/share" \
|
|
||||||
--set XCURSOR_PATH "${cursors}/share/icons"
|
|
||||||
|
|
||||||
cat - > $out/lightdm-gtk-greeter.desktop << EOF
|
|
||||||
[Desktop Entry]
|
|
||||||
Name=LightDM Greeter
|
|
||||||
Comment=This runs the LightDM Greeter
|
|
||||||
Exec=$out/greeter
|
|
||||||
Type=Application
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
|
|
||||||
gtkGreeterConf = writeText "lightdm-gtk-greeter.conf"
|
gtkGreeterConf = writeText "lightdm-gtk-greeter.conf"
|
||||||
''
|
''
|
||||||
[greeter]
|
[greeter]
|
||||||
@ -185,10 +157,16 @@ in
|
|||||||
config = mkIf (ldmcfg.enable && cfg.enable) {
|
config = mkIf (ldmcfg.enable && cfg.enable) {
|
||||||
|
|
||||||
services.xserver.displayManager.lightdm.greeter = mkDefault {
|
services.xserver.displayManager.lightdm.greeter = mkDefault {
|
||||||
package = wrappedGtkGreeter;
|
package = pkgs.lightdm_gtk_greeter.xgreeters;
|
||||||
name = "lightdm-gtk-greeter";
|
name = "lightdm-gtk-greeter";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
cursors
|
||||||
|
icons
|
||||||
|
theme
|
||||||
|
];
|
||||||
|
|
||||||
environment.etc."lightdm/lightdm-gtk-greeter.conf".source = gtkGreeterConf;
|
environment.etc."lightdm/lightdm-gtk-greeter.conf".source = gtkGreeterConf;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,18 @@
|
|||||||
{ stdenv, fetchurl, lightdm, pkgconfig, intltool
|
{ stdenv
|
||||||
, hicolor-icon-theme, makeWrapper
|
, lightdm_gtk_greeter
|
||||||
, useGTK2 ? false, gtk2, gtk3 # gtk3 seems better supported
|
, fetchurl
|
||||||
, exo, at-spi2-core
|
, lightdm
|
||||||
|
, pkgconfig
|
||||||
|
, intltool
|
||||||
|
, linkFarm
|
||||||
|
, wrapGAppsHook
|
||||||
|
, useGTK2 ? false
|
||||||
|
, gtk2
|
||||||
|
, gtk3 # gtk3 seems better supported
|
||||||
|
, exo
|
||||||
|
, at-spi2-core
|
||||||
|
, librsvg
|
||||||
|
, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
#ToDo: bad icons with gtk2;
|
#ToDo: bad icons with gtk2;
|
||||||
@ -20,14 +31,15 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
|
sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
|
||||||
buildInputs = [ lightdm exo intltool makeWrapper hicolor-icon-theme ]
|
buildInputs = [ lightdm exo librsvg hicolor-icon-theme ]
|
||||||
++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]);
|
++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]);
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--localstatedir=/var"
|
"--localstatedir=/var"
|
||||||
"--sysconfdir=/etc"
|
"--sysconfdir=/etc"
|
||||||
"--disable-indicator-services-command"
|
"--disable-indicator-services-command"
|
||||||
|
"--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook to wrap automatically
|
||||||
] ++ stdenv.lib.optional useGTK2 "--with-gtk2";
|
] ++ stdenv.lib.optional useGTK2 "--with-gtk2";
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
@ -44,10 +56,13 @@ stdenv.mkDerivation rec {
|
|||||||
postInstall = ''
|
postInstall = ''
|
||||||
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
|
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
|
||||||
--replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
|
--replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
|
||||||
wrapProgram "$out/sbin/lightdm-gtk-greeter" \
|
|
||||||
--prefix XDG_DATA_DIRS ":" "${hicolor-icon-theme}/share"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.xgreeters = linkFarm "lightdm-gtk-greeter-xgreeters" [{
|
||||||
|
path = "${lightdm_gtk_greeter}/share/xgreeters/lightdm-gtk-greeter.desktop";
|
||||||
|
name = "lightdm-gtk-greeter.desktop";
|
||||||
|
}];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://launchpad.net/lightdm-gtk-greeter;
|
homepage = https://launchpad.net/lightdm-gtk-greeter;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user