summaryrefslogtreecommitdiffstats
path: root/nixos/tests/i18n.nix
blob: f9e8d526c95af699eda28c2674cf007be760d164 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{ lib, ... }:
{
  name = "glibLocales-custom-builds";
  meta.maintainers = with lib.maintainers; [ doronbehar ];

  nodes = {
    nonUTF8Charset = {
      i18n = {
        defaultLocale = "en_US";
        defaultCharset = "ISO-8859-1";
      };
    };
    extraLocales1 = {
      i18n = {
        defaultLocale = "en_US.UTF-8";
        extraLocales = [
          "nl_NL.UTF-8/UTF-8"
        ];
      };
    };
    extraLocaleSettings = {
      i18n = {
        defaultLocale = "en_US.UTF-8";
        extraLocaleSettings = {
          LC_MESSAGES = "en_US.UTF-8";
          LC_TIME = "de_DE.UTF-8";
        };
      };
    };
    localeCharsets = {
      i18n = {
        defaultLocale = "en_US.UTF-8";
        extraLocaleSettings = {
          LC_TIME = "de_DE";
        };
        localeCharsets = {
          LC_TIME = "ISO-8859-1";
        };
      };
    };
    Csimple = {
      i18n = {
        defaultLocale = "C";
      };
    };
    CnonDefault = {
      i18n = {
        defaultLocale = "en_US.UTF-8";
        extraLocaleSettings = {
          LC_COLLATE = "C";
          LC_MESSAGES = "C";
          LC_TIME = "C";
        };
      };
    };
  };
  testScript =
    { nodes, ... }:
    lib.pipe nodes [
      builtins.attrNames
      (map (node: ''
        ${node}.copy_from_machine(
            ${node}.succeed("readlink -f /etc/locale.conf").strip(),
            "${node}"
        )
      ''))
      (lib.concatStringsSep "\n")
    ];
}