{ config, lib, pkgs, ... }: with lib; { config = { programs.ssh = { enable = true; matchBlocks = { abc = { port = 2222; }; xyz = { match = "host xyz canonical"; port = 2223; }; "* !github.com" = { port = 516; }; }; }; home.file.assertions.text = builtins.toJSON (map (a: a.message) (filter (a: !a.assertion) config.assertions)); nmt.script = '' assertFileExists home-files/.ssh/config assertFileContent \ home-files/.ssh/config \ ${./match-blocks-match-and-hosts-expected.conf} assertFileContent home-files/assertions ${./no-assertions.json} ''; }; }