diff --git a/modules/programs/foot.nix b/modules/programs/foot.nix index eed0042d..2d434192 100644 --- a/modules/programs/foot.nix +++ b/modules/programs/foot.nix @@ -6,7 +6,7 @@ }: let cfg = config.programs.foot; - iniFormat = pkgs.formats.ini { }; + iniFormat = pkgs.formats.ini { listsAsDuplicateKeys = true; }; in { meta.maintainers = with lib.maintainers; [ plabadens ]; diff --git a/tests/modules/programs/foot/default.nix b/tests/modules/programs/foot/default.nix index 329e0f1f..cb813ffa 100644 --- a/tests/modules/programs/foot/default.nix +++ b/tests/modules/programs/foot/default.nix @@ -2,4 +2,5 @@ foot-example-settings = ./example-settings.nix; foot-empty-settings = ./empty-settings.nix; foot-systemd-user-service = ./systemd-user-service.nix; + foot-regex-modes = ./regex-modes.nix; } diff --git a/tests/modules/programs/foot/regex-modes-expected.ini b/tests/modules/programs/foot/regex-modes-expected.ini new file mode 100644 index 00000000..505b2341 --- /dev/null +++ b/tests/modules/programs/foot/regex-modes-expected.ini @@ -0,0 +1,11 @@ +[key-bindings] +regex-launch=[one] Shift+Control+1 +regex-launch=[two] Shift+Control+2 + +[regex:one] +launch=echo Regex one works +regex=(some regex) + +[regex:two] +launch=echo Second also works! +regex=(some other regex) diff --git a/tests/modules/programs/foot/regex-modes.nix b/tests/modules/programs/foot/regex-modes.nix new file mode 100644 index 00000000..e3710ed2 --- /dev/null +++ b/tests/modules/programs/foot/regex-modes.nix @@ -0,0 +1,29 @@ +{ config, ... }: +{ + programs.foot = { + enable = true; + package = config.lib.test.mkStubPackage { }; + + settings = { + "regex:one" = { + regex = "(some regex)"; + launch = "echo Regex one works"; + }; + "regex:two" = { + regex = "(some other regex)"; + launch = "echo Second also works!"; + }; + + key-bindings.regex-launch = [ + "[one] Shift+Control+1" + "[two] Shift+Control+2" + ]; + }; + }; + + nmt.script = '' + assertFileContent \ + home-files/.config/foot/foot.ini \ + ${./regex-modes-expected.ini} + ''; +}