diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2023-03-09 20:54:00 +0100 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2023-03-19 09:28:35 +0100 |
commit | 48b0aa71646b3600f37dfa258c9fe16d7bb6747f (patch) | |
tree | 431d1c3a2832e670562332bc913ac8cd04757a53 | |
parent | 21c47047c887ecb1d12292c9b9a675728c93c67f (diff) |
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.
-rw-r--r-- | nixos/modules/services/misc/sssd.nix | 5 | ||||
-rw-r--r-- | nixos/tests/sssd.nix | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix index edd5750a4a478..7c7a3b464a836 100644 --- a/nixos/modules/services/misc/sssd.nix +++ b/nixos/modules/services/misc/sssd.nix @@ -77,6 +77,10 @@ in { }; 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" ]; @@ -101,6 +105,7 @@ in { EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; }; preStart = '' + mkdir -p "${dataDir}/conf.d" [ -f ${settingsFile} ] && rm -f ${settingsFile} old_umask=$(umask) umask 0177 diff --git a/nixos/tests/sssd.nix b/nixos/tests/sssd.nix index 25527cb59a59b..c8d356e074ad5 100644 --- a/nixos/tests/sssd.nix +++ b/nixos/tests/sssd.nix @@ -13,5 +13,6 @@ import ./make-test-python.nix ({ pkgs, ... }: start_all() machine.wait_for_unit("multi-user.target") machine.wait_for_unit("sssd.service") + machine.succeed("sssctl config-check") ''; }) |