diff options
Diffstat (limited to 'infra/libkookie/home-manager/tests/modules/programs/ssh/match-blocks-attrs.nix')
-rw-r--r-- | infra/libkookie/home-manager/tests/modules/programs/ssh/match-blocks-attrs.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/infra/libkookie/home-manager/tests/modules/programs/ssh/match-blocks-attrs.nix b/infra/libkookie/home-manager/tests/modules/programs/ssh/match-blocks-attrs.nix new file mode 100644 index 000000000000..eaa20c6e32d9 --- /dev/null +++ b/infra/libkookie/home-manager/tests/modules/programs/ssh/match-blocks-attrs.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + config = { + programs.ssh = { + enable = true; + matchBlocks = { + abc = { + identityFile = null; + proxyJump = "jump-host"; + }; + + ordered = hm.dag.entryAfter [ "xyz" ] { port = 1; }; + + xyz = { + identityFile = "file"; + serverAliveInterval = 60; + serverAliveCountMax = 10; + localForwards = [{ + bind.port = 8080; + host.address = "10.0.0.1"; + host.port = 80; + }]; + remoteForwards = [ + { + bind.port = 8081; + host.address = "10.0.0.2"; + host.port = 80; + } + { + bind.address = "/run/user/1000/gnupg/S.gpg-agent.extra"; + host.address = "/run/user/1000/gnupg/S.gpg-agent"; + } + ]; + dynamicForwards = [{ port = 2839; }]; + }; + + "* !github.com" = { + identityFile = [ "file1" "file2" ]; + 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-attrs-expected.conf} + assertFileContent home-files/assertions ${./no-assertions.json} + ''; + }; +} |