go/workspace: implement EvalHscloudNix

This allows us to access hscloud nix 'facts' from Go.

Change-Id: Ic8fc3350a7d073947c44529fcae0bbb8627421aa
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1508
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/go/workspace/BUILD.bazel b/go/workspace/BUILD.bazel
index 34f8acc..222d3c7 100644
--- a/go/workspace/BUILD.bazel
+++ b/go/workspace/BUILD.bazel
@@ -1,8 +1,24 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 
 go_library(
     name = "go_default_library",
-    srcs = ["workspace.go"],
+    srcs = [
+        "nix.go",
+        "workspace.go",
+    ],
     importpath = "code.hackerspace.pl/hscloud/go/workspace",
     visibility = ["//visibility:public"],
 )
+
+go_test(
+    name = "go_default_test",
+    srcs = ["nix_test.go"],
+    data = [
+        ":exports.nix",
+        "//:WORKSPACE",
+        "//:default.nix",
+        "//nix/readtree:default.nix",
+    ],
+    embed = [":go_default_library"],
+    deps = ["@com_github_google_go_cmp//cmp:go_default_library"],
+)