2024-09-01 18:52:20 +02:00
|
|
|
{ self, pkgs }:
|
|
|
|
|
2024-09-01 19:33:48 +02:00
|
|
|
self.inputs.nixpkgs.lib.nixos.runTest {
|
2024-04-02 11:15:15 +02:00
|
|
|
name = "neovim";
|
2024-09-01 18:52:20 +02:00
|
|
|
hostPkgs = pkgs;
|
2024-09-01 19:35:45 +02:00
|
|
|
node.specialArgs.nix-config = self;
|
2024-09-01 18:52:20 +02:00
|
|
|
|
2024-08-03 20:42:39 +02:00
|
|
|
nodes.machine =
|
|
|
|
{ nix-config, ... }:
|
|
|
|
{
|
2024-09-01 19:43:24 +02:00
|
|
|
imports = with nix-config.nixosModules; [
|
|
|
|
desktop
|
|
|
|
shell
|
|
|
|
system
|
|
|
|
];
|
2024-08-03 20:42:39 +02:00
|
|
|
|
2024-09-01 19:43:24 +02:00
|
|
|
modules.desktop.container = true;
|
2024-05-19 05:56:31 +02:00
|
|
|
|
2024-08-03 21:26:45 +02:00
|
|
|
home-manager.sharedModules = with nix-config.homeModules; [ neovim ];
|
2024-04-05 15:02:00 +02:00
|
|
|
};
|
2024-08-03 20:42:39 +02:00
|
|
|
|
|
|
|
testScript = # python
|
|
|
|
''
|
|
|
|
machine.wait_for_unit("default.target")
|
|
|
|
|
|
|
|
machine.send_chars("user")
|
|
|
|
machine.sleep(1)
|
|
|
|
machine.send_key("ret")
|
|
|
|
machine.sleep(1)
|
|
|
|
machine.send_chars("user")
|
|
|
|
machine.sleep(1)
|
|
|
|
machine.send_key("ret")
|
|
|
|
machine.sleep(5)
|
|
|
|
|
|
|
|
machine.send_chars("nvim hello.txt")
|
|
|
|
machine.sleep(1)
|
|
|
|
machine.send_key("ret")
|
|
|
|
machine.sleep(20)
|
|
|
|
|
|
|
|
machine.send_chars("i")
|
|
|
|
machine.sleep(2)
|
|
|
|
machine.send_chars("Hello world")
|
|
|
|
machine.sleep(2)
|
|
|
|
machine.send_key("esc")
|
|
|
|
machine.sleep(2)
|
|
|
|
machine.send_chars(":wq")
|
|
|
|
machine.sleep(2)
|
|
|
|
machine.send_key("ret")
|
|
|
|
machine.sleep(2)
|
|
|
|
|
|
|
|
text = machine.succeed("cat /home/user/hello.txt")
|
|
|
|
|
|
|
|
assert "Hello world" in text
|
|
|
|
'';
|
2024-09-01 19:33:48 +02:00
|
|
|
}
|