   end
 
   defp is_wsl? do
-    #using system.cmd("cat", ...) here is simpler
-    #https://stackoverflow.com/questions/29874941/elixir-file-read-returns-empty-data-when-accessing-proc-cpuinfo/29875499
+    # using system.cmd("cat", ...) here is simpler
+    # https://stackoverflow.com/questions/29874941/elixir-file-read-returns-empty-data-when-accessing-proc-cpuinfo/29875499
     if File.exists?("/proc/sys/kernel/osrelease") do
-      System.cmd("cat", ["/proc/sys/kernel/osrelease"]) 
-        |> elem(0)
-        |> (&Regex.match?(~r/Microsoft/, &1)).()
+      System.cmd("cat", ["/proc/sys/kernel/osrelease"])
+      |> elem(0)
+      |> (&Regex.match?(~r/Microsoft/, &1)).()
     else
       false
     end

    end

    # Create a temporary .fw file that fwup.exe is able to access
    fw = 
      if is_wsl?() do
        {win_path, wsl_path} = get_wsl_paths("#{otp_app}.fw")
        File.copy(fw, wsl_path)
        win_path
      else 
        fw 
      end

    dev =


        {_, :linux} ->
          if is_wsl?() do
            ps_cmd =
              "Start-Process fwup -ArgumentList '#{Enum.join(args, " ")}' -Verb runAs -Wait"

            {"powershell.exe", ["-Command", ps_cmd]}
          else
            case File.stat(dev) do
              {:ok, %File.Stat{access: :read_write}} ->
                {"fwup", args}

              _ ->
                ask_pass = System.get_env("SUDO_ASKPASS") || "/usr/bin/ssh-askpass"
                System.put_env("SUDO_ASKPASS", ask_pass)
                {"sudo", ["fwup"] ++ args}
