DEV Community

Discussion on: What new language/tool/etc. have you been meaning to learn but haven't gotten around to yet?

Collapse
 
samuraiseoul profile image
Sophie The Lionhart

Ansible. I never want to set up my computer again.

I basically want to install all my dependencies, hook up my github, download my repos and dot files, run updates, build all the project docker images, and have everything good to go. I know normally Ansible is for setting up server clusters though.

If anyone has any better ideas to set up a local dev machine I'm all ears though! I basically want a package manager file for apt in the vein of package.json or composer.json I guess, with a few scripts to be ran after dependencies are installed.

Also I guess I'll write a simple bash script to download and run the ansible stuff eh? :P Or alternatively can I use docker to set up my actual computer? Tough life...

Collapse
 
dallgoot profile image
dallgoot • Edited

i suggest you go the Docker route : Ansible comes after basic system needs.
Those basic system needs are simple (since you use composer i'm assuming PHP) :

  • http server
  • PHP
  • some database

These can be quickly set up via a docker-compose file and started/stopped easily (once every config is done)
Ansible at the moment will only add a layer of complexity that, i think, you don't need at first.
All packages are configured/set up through the dockerfile(s) once and if needed you can enter a bash/sh console on each container.
I recommend you start with the more "complete" images (they have everything needed system wise) and then go for smaller images that fits your needs later for less memory/more performance.

:)

Collapse
 
samuraiseoul profile image
Sophie The Lionhart

I get what you mean there, but I'm not talking about setting up deployment servers. I'm talking about setting up my local environment. Like I buy a new computer or wipe my hard drive or something and want to get up and running again. Things like installing my IDEs, setting up my .bashrc, installing things like spotify or slack, and other utilities like gedit or 'bat' or 'exa'.

For the projects I will use docker for sure. I don't think I can set up my local machine using docker though can I?

Also if not, I actually decided to go the Ansible route so far and have it almost working already. Just having some ppa issues and also an issue with snaps on crostini that it was too late to try and fix when I encountered it last night.

Thread Thread
 
dallgoot profile image
dallgoot

you're right Docker means containers not your host machine so its only use, for your needs is the environment for code.

Setting up your OS is another topic and i believe there (probably) are tools to customize the distro you are using.

BUT going with Ansible for that is a good idea :)