summaryrefslogtreecommitdiffstats
path: root/nixos/tests/env.nix
blob: ba030cb0c3d9f0d39a6b9082f68bc3b58474a49c (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
40
41
42
43
44
{ pkgs, ... }:
{
  name = "environment";

  nodes.machine =
    { pkgs, lib, ... }:
    lib.mkMerge [
      {
        boot.kernelPackages = pkgs.linuxPackages;
        environment.etc.plainFile.text = ''
          Hello World
        '';
        environment.etc."folder/with/file".text = ''
          Foo Bar!
        '';

        environment.sessionVariables = {
          TERMINFO_DIRS = "/run/current-system/sw/share/terminfo";
          NIXCON = "awesome";
          SHOULD_NOT_BE_SET = "oops";
        };
      }
      {
        environment.sessionVariables = {
          SHOULD_NOT_BE_SET = lib.mkForce null;
        };
      }
    ];

  testScript = ''
    machine.succeed('[ -L "/etc/plainFile" ]')
    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
    machine.succeed('[ -d "/etc/folder" ]')
    machine.succeed('[ -d "/etc/folder/with" ]')
    machine.succeed('[ -L "/etc/folder/with/file" ]')
    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')

    assert "/run/current-system/sw/share/terminfo" in machine.succeed(
        "echo ''${TERMINFO_DIRS}"
    )
    assert "awesome" in machine.succeed("echo ''${NIXCON}")
    machine.fail("printenv SHOULD_NOT_BE_SET")
  '';
}