     end
   end
 
-  defp provider_type(:system_platform), do: []
-  defp provider_type(:toolchain_platform), do: []
-  defp provider_type(:toolchain) do
-    mod =
-      case :os.type do
-        {_, :linux} -> Providers.HTTP
-        {_, :darwin} -> Providers.HTTP
-        _ -> Providers.Docker
-      end
-    {mod, []}
-  end
+  defp provider_type(:system_platform), do: nil
+  defp provider_type(:toolchain_platform), do: nil
+  defp provider_type(:toolchain), do: {Providers.Docker, []}
 
   defp provider_type(_) do
     mod =

  end

  @doc """
  Check to see if the artifact path is being set from the system env
  """
  @spec env_var?(Nerves.Package.t) :: boolean
  def env_var?(pkg) do


    File.write!(opts[:checksum_path], archive_checksum(archive_path))
  end
  def archive(%{type: type}, _toolchain, _opts) do
    Mix.raise """
    mix artifact.archive
    Has not been implemented for #{inspect type} packages. 
    """
  end

  @doc """
  Generate a base64 encoded sha256 sum for the file at the supplied path.
  """
  def archive_checksum(archive_path) do
    archive = File.read!(archive_path)
    :crypto.hash(:sha256, archive)
