I'm setting up servers and doing a lot of installations and configurations, like with Tailscale and Docker Compose. I also modify system settings, set up services, cron jobs, and autostart some programs based on my needs. This setup process often takes a couple of days, and I don't need the actual data on the servers, just a quick way to replicate the setup on a new server if something goes wrong. I've heard about dotfiles, but I'm confused about how to use them. I've also looked into tools like Ansible, but I'm not sure if that fits my needs. Additionally, I want to backup configurations for my Pop OS desktop where I customize GNOME desktop settings and shortcuts. How can I make this process easier?
3 Answers
I recommend keeping your configuration files in a Git repository and using Ansible to manage the deployment. It's a smart way to track your changes and makes it easier to replicate your setup. Also, try to partition your drive so that your /home directory is on a separate partition. This way, when you reinstall your OS later, you can just leave that partition intact and not lose your personal data.
Why not just create a bootable USB Live ISO? This way, you'd have a custom image of your setup ready to go whenever you need to reproduce it. It's a quick solution—just write the ISO to a USB stick and restore it to your NVMe drive in minutes. It's a method I've used to set up multiple desktops in an office environment!
You might find it helpful to make a list of files you frequently change, and then back them up using rsync. Combine that with keeping backups of your crontab with 'crontab -l' and track installed apps with commands like 'snap list' or 'flatpak list'. For an easier approach, you can use backup utilities like Timeshift or DejaDup, but you will need additional tools for things like your cron jobs. It's worthwhile to explore Nix if you're up for a big learning curve; it allows for fully configurable system setups, which can be very powerful once you get the hang of it.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures