{ config, ... }: let get = element: object: "\${ ${object."_ref"}.${element} }"; getVariable = name: "\${ var.${name} }"; in { hcloud = { enable = true; resource.server."tinc_node" = { name = "tinc-node-nurnberg"; image = "ubuntu-18.04"; server_type = "cx11"; backups = false; # datacenter = "nbg1-dc3"; location = "nbg1"; labels = { system = "nixos"; }; }; }; output = { "${config.hcloud.resource.server."tinc_node".name}-ip4_address".value = get "ipv4_address" config.hcloud.resource.server."tinc_node"; "${config.hcloud.resource.server."tinc_node".name}-ip6_address".value = get "ipv6_address" config.hcloud.resource.server."tinc_node"; }; }