treewide: migrate to toolchain_cc

This contains the first part of the toolchain_cc migration. It leaves
the native host GCC, but everything that we ship is now built with
toolchain_cc with the exception of Linux which gets migrated later in
this stack.

Change-Id: Icb3422857fd3baf0ff61b7edd5754517f6a73dfc
Reviewed-on: https://review.monogon.dev/c/monogon/+/4012
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/MODULE.bazel b/MODULE.bazel
index 689e684..efa93bf 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -75,22 +75,21 @@
 # Currently supported version are listed here:
 # https://protobuf.dev/support/version-support/
 bazel_dep(name = "protobuf", version = "29.3")
-
-# Load musl toolchain Metropolis sysroot tarball into external repository.
-musl_sysroot_rule = use_repo_rule("//build/toolchain/musl-host-gcc:sysroot_repository.bzl", "musl_sysroot_rule")
-
-musl_sysroot_rule(
-    name = "musl_sysroot",
-    snapshot = "//build/toolchain/musl-host-gcc:sysroot.tar.xz",
+bazel_dep(name = "toolchain_cc_mngn")
+git_override(
+    module_name = "toolchain_cc_mngn",
+    commit = "6e241ef6ebcbdc630d332fa789a1b53b52c27771",
+    remote = "https://review.monogon.dev/toolchain_cc",
 )
 
-# Register our custom CC toolchains.
-register_toolchains("//build/toolchain/musl-host-gcc:musl_host_toolchain")
-
-register_toolchains("//build/toolchain/llvm-efi:efi_k8_toolchain")
-
 register_toolchains("//build/toolchain:host_cc_toolchain")
 
+register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_x86_64_musl_static")
+
+register_toolchains("@toolchain_cc_mngn//efi:linux_x86_64_efi_x86_64")
+
+register_toolchains("@toolchain_cc_mngn//efi:linux_x86_64_efi_aarch64")
+
 # Rust Toolchains
 register_toolchains("@rust_toolchains//:all")