summaryrefslogtreecommitdiffstats
path: root/nixos/tests/atuin-programs.nix
blob: 14477bae9b08c67a9d404602cb564bcf4d47d3dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{ pkgs, ... }:
{
  name = "atuin";
  meta.maintainers = pkgs.atuin.meta.maintainers;

  nodes.machine = {
    programs = {
      bash.enable = true;
      fish.enable = true;
      zsh.enable = true;

      atuin = {
        enable = true;
        settings = {
          auto_sync = false;
        };
      };
    };
  };

  testScript = ''
    start_all()
    machine.wait_for_unit("default.target")

    # Check atuin is installed
    machine.succeed("atuin --version")

    # Check shell integration - verify the init scripts can be sourced without error
    machine.succeed("bash -c 'eval \"$(atuin init bash)\"'")
    machine.succeed("zsh -c 'eval \"$(atuin init zsh)\"'")
    machine.succeed("fish -c 'atuin init fish | source'")

    # Verify config file was created
    machine.succeed("grep -q 'auto_sync = false' /etc/atuin/config.toml")

    # Verify daemon socket unit is enabled
    machine.succeed("systemctl --user --machine=root@ is-enabled atuin-daemon.socket")
  '';
}