C# GUI Button

I am working on a GUI button and I would like to make it so that each of my 6 buttons has a image for them that can be edited in the inspector, I would also like to leave it with text in the buttons. Currently I have the buttons set up with the text but I a unsure how to go about seting up exposed textures for each button and applying it to the button while keeping the text also. Here is the Code I have so far.

if (GUI.Button(new Rect(30, 70, 50, 30), "Click"))
	{
			
	}

To have a button with both text and an image you need to use GUIContent (see the very bottom of the GUI Basics page from the docs)

if (GUI.Button(new Rect(30, 70, 50, 30), new GUIContent("Click", icon))) {
    Debug.Log("button was clicked");
}

[SerializeField] private string buttonText;
[SerializeField] private Texture buttonTexture;

    void OnGUI()
    {
        if (GUI.Button(new Rect(30, 70, 50, 30), new GUIContent(buttonText, buttonTexture)))
        {
            //code here
        }
    }

Using the serialize field parameter you can expose variables to the inspector (another way is to just make the variable public)