diff --git a/build/utils/template_file.bzl b/build/utils/template_file.bzl
deleted file mode 100644
index 8dc6d24..0000000
--- a/build/utils/template_file.bzl
+++ /dev/null
@@ -1,61 +0,0 @@
-#  Copyright 2020 The Monogon Project Authors.
-#
-#  SPDX-License-Identifier: Apache-2.0
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# Copyright 2018 Josh Pieper, jjp@pobox.com.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-def _dictify(data):
-    result = dict([x.split("=", 1) for x in data])
-    return result
-
-def _template_file_impl(ctx):
-    out = ctx.actions.declare_file(ctx.label.name)
-
-    substitutions = dict(ctx.attr.substitutions)
-    substitutions.update(_dictify(ctx.attr.substitution_list))
-
-    ctx.actions.expand_template(
-        template = ctx.files.src[0],
-        output = out,
-        substitutions = substitutions,
-        is_executable = ctx.attr.is_executable,
-    )
-    return [DefaultInfo(
-        files = depset([out]),
-        data_runfiles = ctx.runfiles(files = [out]),
-    )]
-
-template_file = rule(
-    attrs = {
-        "src": attr.label(allow_files = True),
-        "is_executable": attr.bool(default = False),
-        "substitutions": attr.string_dict(),
-        "substitution_list": attr.string_list(),
-    },
-    output_to_genfiles = True,
-    implementation = _template_file_impl,
-)
diff --git a/third_party/dosfstools/dosfstools.bzl b/third_party/dosfstools/dosfstools.bzl
index e8d966d..9327fbf 100644
--- a/third_party/dosfstools/dosfstools.bzl
+++ b/third_party/dosfstools/dosfstools.bzl
@@ -1,4 +1,4 @@
-load("@@//build/utils:template_file.bzl", "template_file")
+load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template")
 load("@rules_cc//cc:defs.bzl", "cc_binary")
 
 cc_binary(
@@ -31,9 +31,10 @@
     includes = ["."],
 )
 
-template_file(
-    name = "version.h",
-    src = "src/version.h.in",
+expand_template(
+    name = "version.h_expanded",
+    template = ":src/version.h.in",
+    out = "version.h",
     substitutions = {
         # ONCHANGE(//build/bazel:third_party.MODULE.bazel): version needs to be kept in sync
         "@PACKAGE_VERSION@": "unstable-2022-07-25",
diff --git a/third_party/seccomp/seccomp.bzl b/third_party/seccomp/seccomp.bzl
index 9a010af..7267cbf 100644
--- a/third_party/seccomp/seccomp.bzl
+++ b/third_party/seccomp/seccomp.bzl
@@ -14,7 +14,7 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-load("@@//build/utils:template_file.bzl", "template_file")
+load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template")
 load("@rules_cc//cc:defs.bzl", "cc_library")
 
 genrule(
@@ -49,9 +49,10 @@
     ],
 )
 
-template_file(
-    name = "seccomp.h",
-    src = "include/seccomp.h.in",
+expand_template(
+    name = "seccomp.h_expanded",
+    template = ":include/seccomp.h.in",
+    out = "seccomp.h",
     substitutions = {
         # Known dependencies relying on this version information:
         # - @com_github_seccomp_libseccomp_golang//:libseccomp-golang
@@ -59,7 +60,6 @@
         "@VERSION_MINOR@": "5",
         "@VERSION_MICRO@": "1",
     },
-    visibility = ["//visibility:public"],
 )
 
 cc_library(
diff --git a/third_party/urcu/urcu.bzl b/third_party/urcu/urcu.bzl
index 351611d..183162f 100644
--- a/third_party/urcu/urcu.bzl
+++ b/third_party/urcu/urcu.bzl
@@ -1,9 +1,10 @@
-load("@@//build/utils:template_file.bzl", "template_file")
+load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template")
 load("@rules_cc//cc:defs.bzl", "cc_library")
 
-template_file(
-    name = "config.h",
-    src = ":config.h.in",
+expand_template(
+    name = "config.h_expanded",
+    template = ":config.h.in",
+    out = "config.h",
     substitutions = {},
 )
 
diff --git a/third_party/util-linux/util-linux.bzl b/third_party/util-linux/util-linux.bzl
index 36e5886..477f872 100644
--- a/third_party/util-linux/util-linux.bzl
+++ b/third_party/util-linux/util-linux.bzl
@@ -14,7 +14,7 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-load("@@//build/utils:template_file.bzl", "template_file")
+load("@aspect_bazel_lib//lib:expand_template.bzl", "expand_template")
 load("@rules_cc//cc:defs.bzl", "cc_library")
 
 # These are only for the headers of libcommon, which is a private dependency of libblkid and
@@ -59,9 +59,10 @@
     "HAVE___FPENDING",
 ]
 
-template_file(
-    name = "blkid.h",
-    src = "libblkid/src/blkid.h.in",
+expand_template(
+    name = "blkid.h_expanded",
+    template = ":libblkid/src/blkid.h.in",
+    out = "blkid.h",
     substitutions = {
         "@LIBBLKID_VERSION@": "0.0.0",
         "@LIBBLKID_DATE@": "01.01.1970",
