This removes the need for ConsoleKit, so it's gone.wip/yesman
parent
ab86759eb3
commit
66f4d10843
@ -1,60 +0,0 @@ |
||||
{ config, pkgs, ... }: |
||||
|
||||
with pkgs.lib; |
||||
|
||||
let |
||||
|
||||
# `pam_console' maintains the set of locally logged in users in |
||||
# /var/run/console. This is obsolete, but D-Bus still uses it for |
||||
# its `at_console' feature. So maintain it using a ConsoleKit |
||||
# session script. Borrowed from |
||||
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-auth/consolekit/files/pam-foreground-compat.ck |
||||
updateVarRunConsole = pkgs.writeTextFile { |
||||
name = "var-run-console.ck"; |
||||
destination = "/etc/ConsoleKit/run-session.d/var-run-console.ck"; |
||||
executable = true; |
||||
|
||||
text = |
||||
'' |
||||
#! ${pkgs.stdenv.shell} -e |
||||
PATH=${pkgs.coreutils}/bin:${pkgs.gnused}/bin:${pkgs.glibc}/bin |
||||
TAGDIR=/var/run/console |
||||
|
||||
[ -n "$CK_SESSION_USER_UID" ] || exit 1 |
||||
|
||||
TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`" |
||||
|
||||
if [ "$1" = "session_added" ]; then |
||||
mkdir -p "$TAGDIR" |
||||
echo "$CK_SESSION_ID" >> "$TAGFILE" |
||||
fi |
||||
|
||||
if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then |
||||
sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE" |
||||
[ -s "$TAGFILE" ] || rm -f "$TAGFILE" |
||||
fi |
||||
''; |
||||
}; |
||||
|
||||
in |
||||
|
||||
{ |
||||
|
||||
config = { |
||||
|
||||
environment.systemPackages = [ pkgs.consolekit ]; |
||||
|
||||
services.dbus.packages = [ pkgs.consolekit ]; |
||||
|
||||
environment.etc = singleton |
||||
{ source = (pkgs.buildEnv { |
||||
name = "consolekit-config"; |
||||
pathsToLink = [ "/etc/ConsoleKit" ]; |
||||
paths = [ pkgs.consolekit pkgs.udev updateVarRunConsole ]; |
||||
}) + "/etc/ConsoleKit"; |
||||
target = "ConsoleKit"; |
||||
}; |
||||
|
||||
}; |
||||
|
||||
} |
Loading…
Reference in new issue