1import ./make-test-python.nix ({ pkgs, ... }: {
2 name = "starship";
3 meta.maintainers = pkgs.starship.meta.maintainers;
4
5 nodes.machine = {
6 programs = {
7 fish.enable = true;
8 zsh.enable = true;
9
10 starship = {
11 enable = true;
12 settings.format = "<starship>";
13 };
14 };
15
16 environment.systemPackages = map
17 (shell: pkgs.writeScriptBin "expect-${shell}" ''
18 #!${pkgs.expect}/bin/expect -f
19
20 spawn env TERM=xterm ${shell} -i
21
22 expect "<starship>" {
23 send "exit\n"
24 } timeout {
25 send_user "\n${shell} failed to display Starship\n"
26 exit 1
27 }
28
29 expect eof
30 '')
31 [ "bash" "fish" "zsh" ];
32 };
33
34 testScript = ''
35 start_all()
36 machine.wait_for_unit("default.target")
37
38 machine.succeed("expect-bash")
39 machine.succeed("expect-fish")
40 machine.succeed("expect-zsh")
41 '';
42})