DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

ref: a22e83c2f7767e495137af48c138689b98f3c8a3 nix-arta/lib/util.nix -rw-r--r-- 749 bytes
a22e83c2Jonni Liljamo feat: nix-diff in devshell 9 days ago
                                                                                
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
{lib, ...}: let
  hostnameIPv4 = {
    vm = {};

    lxc = {
      "dns" = "10.1.2.3";
      "metrics" = "10.1.2.5";
      "oci" = "10.1.2.9";
      "proxy" = "10.1.2.10";
      "auth" = "10.1.2.12";
      "cloud" = "10.1.2.15";
      "social" = "10.1.2.17";
    };
  };

  # getIPv4 "profile" "hostname"
  getIPv4 = profile: hostname: hostnameIPv4.${profile}.${hostname};

  # getHostnames "profile"
  getHostnames = profile: builtins.attrNames hostnameIPv4.${profile};

  # getDNSEntries "profile"
  getDNSEntries = profile:
    lib.attrsets.mapAttrs'
    (name: value: lib.attrsets.nameValuePair (name + ".home.arpa") value)
    hostnameIPv4.${profile};
in {
  getIPv4 = getIPv4;
  getHostnames = getHostnames;
  getDNSEntries = getDNSEntries;
}