2

For years I've been using a script to reconfigure my personal system & I was wondering if perhaps there's a better way to "industrialize" & structure my device installation. I install the OS manually & every time I run my script to reconfigure it to my liking. But having to maintain this script that's now 1000+ lines long is getting burdensome.

Ideally I'd like something simple like:

  1. Install OS. (Debian)
  2. Install reconfiguration software with 1 command.
  3. Run reconfiguration software with a provided config in 1 command.
  4. Remove reconfiguration software.
  5. Enjoy.

Having the least amount of overhead is what I'm looking for, I don't mind if the creation of the template configuration takes a while, but once I'm installing the system, I want it to be straight forward & simple.

Most of the options I found all required a server, agents or complicated setups. I'm looking for something as simple as a script but, cleaner & more maintainable.

Would anyone know of software for this task & those requirements? Preferably open source.

EDIT: The gist of it is a configuration management software that follows the KISS principle when it comes to it's use on a personal device, however the making of the configuration template can be non KISS.

John Doe
  • 29
  • 3
  • 2
    `ansible`, `chef`, `salt`, `puppet`... look into "configuration management" software. – Panki Feb 15 '23 at 20:57
  • 1
    "Most of the options I found all required a server, agents or complicated setups." - software intended to do complex stuff, like "industrialized device setups" tend to be complex to setup and use, as they need to cover many aspects. – Panki Feb 15 '23 at 21:04
  • 1
    Ansible is hardly complicated to setup. – muru Feb 15 '23 at 21:45
  • @muru Doesn't ansible require you to setup an ssh server as well as installing ansible & change the daemon's configuration to only install a localhost? – John Doe Feb 15 '23 at 21:50
  • Ansible is not complicated, indeed, but it does come with a learning curve, especially if you want to use it effectively. No, you do not need to reconfigure a daemon (it doesn't need one). `delegate_to: localhost` or just use `localhost` as a target. – Panki Feb 15 '23 at 21:55
  • "change the daemon's configuration to only install a localhost" what is this supposed to mean? As for installing ssh, that and Python are all you need on the target system, so you could install both "with 1 command" – muru Feb 15 '23 at 21:55
  • @muru So, in 1 command, how would I use ansible to run a "configuration file" I provide it, on the localhost, without any changes to the setup or anything else? I installed ansible in 1 command, thanks :) – John Doe Feb 15 '23 at 22:01
  • 1
    Just like you'd run any Amiable playbook `ansible -K -i inventory-file some-playbook.yaml` where `inventory-file` will contain `localhost` as the only host in the inventory and `some-playbook.yaml` is the Ansible playbook. – muru Feb 15 '23 at 22:14
  • @muru You should post an answer with that, I'll check it out before accepting it as an answer, but it seems to be what I'm looking for :) Thanks a lot – John Doe Feb 15 '23 at 22:17

0 Answers0