Create and replace mix.exs file

Hi my friends, Imaging you have a mix file which you want to change part of it and replace after doing your changes.

For example

defmodule Dvote.MixProject do
  use Mix.Project

  def project do
    [  ..  ]
  end

  def application do
    [..... ]
  end

  defp elixirc_paths(:test), do: ["lib", "test/support"]
  defp elixirc_paths(_), do: ["lib"]

  defp deps do
    [
      {:phoenix, "~> 1.6.6"},
      {:mishka_installer, git: "https://github.com/mishka-group/mishka_installer.git"}
    ]
  end

  defp aliases do
    [.... ]
  end
end

Now I just want to change deps function and keep the other same as the orginal file and create a new mix.exs file.

  defp deps do
    [
      {:phoenix, "~> 1.6.6"},
      {:mishka_installer, git: "https://github.com/mishka-group/mishka_installer.git"},
      {:new_plug, "~> 1.0.0"}
    ]
  end

So I need suggestions how to do this! Regex? Or the other way, you can offer me?!
After creating this file in runtime!! So we need to compile whole the project because it is exs file? Or we can hot reload with a way?!

Why I need something like this?

I let my user add a dep from hex site in runtime, but I need to change the mix file auto with code and do not make user get involved to changing this file manually

By the way, I load my new deps from a json file

Thank you

The simple code for this: https://github.com/mishka-group/mishka_installer/blob/master/lib/installer/run_time_sourcing.ex