nixos/sssd: create symlinks in /etc to fix sssctl

Without this, sssctl fails to read its configuration. Update the NixOS
test to ensure sssctl doesn't regress.

Changed files
+6
nixos
modules
services
misc
tests
+5
nixos/modules/services/misc/sssd.nix
···
};
config = mkMerge [
(mkIf cfg.enable {
+
# For `sssctl` to work.
+
environment.etc."sssd/sssd.conf".source = settingsFile;
+
environment.etc."sssd/conf.d".source = "${dataDir}/conf.d";
+
systemd.services.sssd = {
description = "System Security Services Daemon";
wantedBy = [ "multi-user.target" ];
···
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
};
preStart = ''
+
mkdir -p "${dataDir}/conf.d"
[ -f ${settingsFile} ] && rm -f ${settingsFile}
old_umask=$(umask)
umask 0177
+1
nixos/tests/sssd.nix
···
start_all()
machine.wait_for_unit("multi-user.target")
machine.wait_for_unit("sssd.service")
+
machine.succeed("sssctl config-check")
'';
})