import ./make-test-python.nix (
{ lib, ... }:
{
name = "dconf";
meta.maintainers = with lib.maintainers; [
linsui
];
nodes.machine =
config,
pkgs,
lib,
...
}:
users.extraUsers.alice = {
isNormalUser = true;
};
programs.dconf = with lib.gvariant; {
enable = true;
profiles.user.databases = [
settings = {
"test/not".locked = mkInt32 1;
"test/is".locked = "locked";
locks = [
"/test/is/locked"
}
testScript = ''
machine.succeed("test $(dconf read -d /test/not/locked) == 1")
machine.succeed("test $(dconf read -d /test/is/locked) == \"'locked'\"")
machine.fail("sudo -u alice dbus-run-session -- dconf write /test/is/locked \"@s 'unlocked'\"")
machine.succeed("sudo -u alice dbus-run-session -- dconf write /test/not/locked \"@i 2\"")
'';
)