diff --git cc/private/toolchain/unix_cc_configure.bzl cc/private/toolchain/unix_cc_configure.bzl
index ba992fc..e4e8364 100644
--- cc/private/toolchain/unix_cc_configure.bzl
+++ cc/private/toolchain/unix_cc_configure.bzl
@@ -27,6 +27,7 @@ load(
     "which",
     "write_builtin_include_directory_paths",
 )
+load("@rules_cuda//cuda:toolchain.bzl", "cuda_compiler_deps")
 
 def _field(name, value):
     """Returns properly indented top level crosstool field."""
@@ -397,7 +398,7 @@ def configure_unix_toolchain(repository_ctx, cpu_value, overriden_tools):
     cxx_opts = split_escaped(get_env_var(
         repository_ctx,
         "BAZEL_CXXOPTS",
-        "-std=c++0x",
+        "-std=c++11",
         False,
     ), ":")
 
@@ -463,7 +464,7 @@ def configure_unix_toolchain(repository_ctx, cpu_value, overriden_tools):
             )),
             "%{cc_compiler_deps}": get_starlark_list([":builtin_include_directory_paths"] + (
                 [":cc_wrapper"] if darwin else []
-            )),
+            ) + cuda_compiler_deps()),
             "%{cc_toolchain_identifier}": cc_toolchain_identifier,
             "%{compile_flags}": get_starlark_list(
                 [
diff --git cc/private/toolchain/unix_cc_toolchain_config.bzl cc/private/toolchain/unix_cc_toolchain_config.bzl
index c3cf3ba..1744eb4 100644
--- cc/private/toolchain/unix_cc_toolchain_config.bzl
+++ cc/private/toolchain/unix_cc_toolchain_config.bzl
@@ -25,6 +25,7 @@ load(
     "variable_with_value",
     "with_feature_set",
 )
+load("@rules_cuda//cuda:toolchain.bzl", "cuda_toolchain_config")
 
 all_compile_actions = [
     ACTION_NAMES.c_compile,
@@ -580,7 +581,8 @@ def _impl(ctx):
                 ],
                 flag_groups = [
                     flag_group(
-                        flags = ["-iquote", "%{quote_include_paths}"],
+                        # -isystem because there is an nvcc thing where it doesn't forward -iquote to host compiler.
+                        flags = ["-isystem", "%{quote_include_paths}"],
                         iterate_over = "quote_include_paths",
                     ),
                     flag_group(
@@ -1152,10 +1154,15 @@ def _impl(ctx):
             unfiltered_compile_flags_feature,
         ]
 
+    cuda = cuda_toolchain_config(
+        cuda_toolchain_info = ctx.attr._cuda_toolchain_info,
+        compiler_path = ctx.attr.tool_paths["gcc"],
+    )
+
     return cc_common.create_cc_toolchain_config_info(
         ctx = ctx,
-        features = features,
-        action_configs = action_configs,
+        features = features + cuda.features,
+        action_configs = action_configs + cuda.action_configs,
         cxx_builtin_include_directories = ctx.attr.cxx_builtin_include_directories,
         toolchain_identifier = ctx.attr.toolchain_identifier,
         host_system_name = ctx.attr.host_system_name,
@@ -1192,6 +1199,9 @@ cc_toolchain_config = rule(
         "tool_paths": attr.string_dict(),
         "toolchain_identifier": attr.string(mandatory = True),
         "unfiltered_compile_flags": attr.string_list(),
+        "_cuda_toolchain_info": attr.label(
+            default = Label("@rules_cuda//cuda:cuda_toolchain_info"),
+        ),
     },
     provides = [CcToolchainConfigInfo],
 )
