-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Erik Josefsson wrote: > I'm trying to learn how to set up my two Teres laptops so that they are > identical. > > [...] > > I have tried to document my personal preferences before, but I have > always ended up with unreadable handwritten notes. > > This time I thought I should do it in a more systematic way by somehow > capture the difference between the default install and the result of my > (often irrational) efforts to make my machines look and feel like I want > it to. > > So, is there a way to trace/record/capture changes in all configuration > files? >
There are as many as people reading this channel :) Probably the simplest (and, to some extent, most error prone) is to simply make copies, edit only the copies. For example: cp orig.conf orig.conf.$(date +%y-%m-%d_%H%M%S) vi orig.conf and then you'll end up with stuff like orig.conf orig.19-05-01_065356 orig.19-05-01_104022 (etc) Then just use 'diff' against any two files to see what changed between them. Or you can use a revision tool. I ran across "rcs" a few years ago, and while it's not something I always use, when I remember, it's pretty good at what it does. Either of these could be wrapped up in a little script -- #!/bin/bash # 'rvi' - "revision-controlled" vi wrapper # create a backup then edit the original file cp -p "$1" "$1".$(date +%y-%m-%d_%H%M%S) vi "$1" ALTERNATE #!/bin/bash #'rvi' - revision control vi wrapper # use the 'rcs' tool to checkout/checkin files co -l "$1" vi "$1" ci -u "$1" Personally I like vi, but if you don't, replace it with whatever your editor of choice is. The scripts probably have flaws that someone will point out soon (like calling it with no file, or multiple files, etc). > The idea is then to just replace the default configuration files with > the files where my preferences have been saved. As far as actually propagating changes, that gets a little more difficult -- but if all the config files are in $HOME/.config ... well, just use a cronjob to sync daily or something. -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEBcqaUD8uEzVNxUrujhHd8xJ5ooEFAlzJgxsACgkQjhHd8xJ5 ooEKAwf/aUN+2DkbpzQKxEXkLWjCDXacI2MnvSUfpAOkxid4rcnNHZRqjuww2Kcj caZj4D/T8P2Ah9HetitxRW8Cx22Z0cggM5WBIquEssAPT833mp8F5uCgFADVZ0O7 Z5xoZP9+DW3umcVnjdEfT844xFsL5dRmKmZ31HAQQlVSBbzvMxFwjjkowVE4zcTg YYRm4uPPqW5JNPa9Q4j9lb5Cv3w54v31OVKS62QCYZs9Nenr4L2e7/J+lO9XKAcG l6LR/9ay2A9ItlqmNnnEZSaoAOxKrScqIGnVwDe9HtKIpm4mBU0/m18ROOqhqO5c dshWFqQ/o/6VPYf/JAVoG9obev9lOg== =9ovY -----END PGP SIGNATURE----- -- |_|O|_| |_|_|O| Github: https://github.com/dpurgert |O|O|O| PGP: 05CA 9A50 3F2E 1335 4DC5 4AEE 8E11 DDF3 1279 A281