diff --git a/nixos/modules/services/web-apps/c2fmzq-server.nix b/nixos/modules/services/web-apps/c2fmzq-server.nix index 54c4bf1b09ca..87938fe160e1 100644 --- a/nixos/modules/services/web-apps/c2fmzq-server.nix +++ b/nixos/modules/services/web-apps/c2fmzq-server.nix @@ -7,7 +7,11 @@ let argsFormat = { type = with lib.types; attrsOf (nullOr (oneOf [ bool int str ])); - generate = lib.cli.toGNUCommandLineShell { }; + generate = lib.cli.toGNUCommandLineShell { + mkBool = k: v: [ + "--${k}=${if v then "true" else "false"}" + ]; + }; }; in { options.services.c2fmzq-server = { diff --git a/nixos/tests/c2fmzq.nix b/nixos/tests/c2fmzq.nix index 59addbde24ed..0dd89f6881dd 100644 --- a/nixos/tests/c2fmzq.nix +++ b/nixos/tests/c2fmzq.nix @@ -12,6 +12,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { # make sure multiple freeform options evaluate allow-new-accounts = true; auto-approve-new-accounts = true; + licenses = false; }; }; environment = { @@ -74,5 +75,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { with subtest("Test that PWA is served"): msg = machine.succeed("curl -sSfL http://localhost:8080") assert "c2FmZQ" in msg, f"Could not find 'c2FmZQ' in the output:\n{msg}" + + with subtest("A setting with false value is properly passed"): + machine.succeed("systemctl show -p ExecStart --value c2fmzq-server.service | grep -F -- '--licenses=false'"); ''; })