Use Ansible for post-provisioning setup?

Hello, all.
I hope this is the correct group to post this. I am trying to learn more about Ansible.
I wanted to find if it is possible to use Ansible to remotely push configuration and software installs to machines with a brand new OS (Linux) installed, specifically desktop/workstation installs.
I often deploy virtual machines running either Ubuntu Desktop or Server, Fedora, and CentOS at home for testing and usually every time there’s a new version of Fedora to my laptop. I have custom shell scripts that I use for post-provision that usually configures a custom .bashrc, complete updates and installs software.They work well, the inconvenience of it is trying to get the custom shell scripts onto the machine right after OS installation.
I have some examples of what I have created here:

https://edsordinarylife.wordpress.com/2017/02/18/shell-scripting-my-story-my-post-install-part-1/

I was curious if it is possible to setup a main (CentOS) server running Ansible that could push configurations, updates and software to my new machines once they are complete. Is this possible?
Thanks.

Edward

You just described one of the primary use cases of Ansible. The answer is YES!

Does it require that I install Ansible on the client first?
Any good resources you could recommend for me to start learning, specifically learning my use case?

Thanks.

I suggest you start at https://docs.ansible.com/ansible/latest/index.html

Ansible is Agent-less which means no client required…

You might also want to have a look at AWX/Tower and its “provisioning callback” feature, which is exactly meant for your use case:
https://github.com/ansible/awx and https://docs.ansible.com/ansible-tower/latest/html/userguide/job_templates.html

But, indeed, start first to learn Ansible.