def _gen_imports_impl(ctx): ctx.file("BUILD", "") if "hscloud_root" not in ctx.os.environ: fail("Please souce env.sh") is_nixos = "hscloud_nixos" in ctx.os.environ bzl_file_content = """ load( "@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies", ) def load_go_sdk(): go_rules_dependencies() go_register_toolchains({go_version}) """.format( go_version = 'go_version = "host"' if is_nixos else "", ) ctx.file("imports.bzl", bzl_file_content) _gen_imports = repository_rule( implementation = _gen_imports_impl, attrs = dict(), ) def gen_imports(name): _gen_imports( name = name, )