I’m looking for tools that could apply and update configurations and install packages.
Over the last few years I have made so many modifications and because of this I just dread a reinstall… Ideally I need one place that collects and controls all the configs, because they’re all over the place, some of them are in /etc some of them in my /home. I forgot about most of them.
I could spin up a VM and recreate them step by step with a tool like this, I just need one place to collect the configurations and apply them from there, for example if I change something it would apply it to the system with the same tool/config. Ideally this tool would only modify individual lines and not just copy in whole configuration files.
This thing wouldn’t have to install the system, just modify and configure here and there an installed system.
I know about Ansible, I’m not sure if it’s the right tool or if there are alternatives. Maybe openvox a puppet fork. There’s also chef, I know nothing about that… One problem I have with these, they seem too much and look like they were made for large scale server management, they don’t seem simple. I don’t know if there is something that was made for personal/local setups. Some of these I think require a control server.
Theoretically I could do a shell script and keep extending that, but it would be nice if someone solved this issue already. I’d rather deal with a shell script, than keep track of modifications and if you apply them from one place you don’t lose track of them.
Yes but after a year or two you have dozens of modifications if you are like me. I made so many little modifications to have things the way I want. After they’re done, I just forget they’re there and forget how I did them…
For example I have been just looking the last few minutes for my mosh+screen setup, can’t figure out how I did it.
i do use dotfile syncing to keep my settings backed up works nicely but needs to get maintained also. i need to check in case i add some new stuff to add it to get synced.
I just want to add lines and modify lines if they’re different from mine. Maybe syncing whole file wouldn’t be bad, but doing it based on individual config items seems less intrusive.
So I add a config file to this thing once and it will be synced? Do I have to run copy_script again if I modify it?
Not that I recommend using my way to sync my configs, that’s not the easy way to do it.
On my setup, it seems to be useful to have an exclude list if I would use an include-list. I would, may forget to add stuff in case.
This is only an idea and example on how you could backup configs on Gits.
i do use a user systemd timer it syncs automatically on schedules. It does not have anything to reinstall these stuff in case .. i do this manually if i ever have to reinstall.
No it’s not bad, just excluding things seems more work than including. I might do a whole file backup too. Can your script copy the scripts in their place if you want to restore them?
Every time I install something and run it, there’s a new directory. I mostly only care about configs that I modified myself.
Yes the copy script could also simply have only a list of files to sync.
What i do is snapshots of the configs it does create an archive each time it syncs to git and in schedule removes the oldest snapshot of 7 it keeps.
And in case i want to reset a config i will get the snapshot and copy the file manually there is no automation for this added.
Thanks, I realized I might be just overthinking it, it would be enough to just keep a list of the files, especially if I want to restore to the same distro.
I thought about lines because I might change to cachyos for example and individual config lines seem a bit more agnostic, if you only change the config items you care about. But it’s more difficult to do.
When I say lines, I don’t mean line numbers, but matching config items by their names or something. This way you could do entirely different distros if you know the location of the files on that distro.
But automation might be just overkill and just keeping a list of files/directories that are being synced is good enough, it’s not too difficult to restore them or apply them to different distro manually.