This script won’t work in any distro, you have to use a lot of distro specific commands in it. But if you write a script for a specific distro anyway, why not use a tool that distro provides? You’ll be sure that it does everything correct way and you even won’t need to run anything after installation completed. You can also save time and disk space by excluding packages you don’t need but that would be installed by default. You can also automate disk partitioning and customize other installer settings saving even more time.
Speaking about configuration management tools, they can look a bit overkill, but they have at least one advantage of shell script - idempotency. They won’t try to install already installed software, change configs that don’t need to be changed etc.
This script won’t work in any distro, you have to use a lot of distro specific commands in it. But if you write a script for a specific distro anyway, why not use a tool that distro provides? You’ll be sure that it does everything correct way and you even won’t need to run anything after installation completed. You can also save time and disk space by excluding packages you don’t need but that would be installed by default. You can also automate disk partitioning and customize other installer settings saving even more time.
Speaking about configuration management tools, they can look a bit overkill, but they have at least one advantage of shell script - idempotency. They won’t try to install already installed software, change configs that don’t need to be changed etc.
What commands do I use that are distro specific?
Package managers.
I actually don’t use them in the main script, I do specify you can add them to the script if you use them.