[Discuss] Moving Your Everyday System to New Hardware

Kent Borg kentborg at borg.org
Thu Aug 29 11:23:48 EDT 2024


On 8/27/24 19:51, Rich Pieri wrote:
> My take on the process is rather mundane: I write it down. Every
> package I install and every custom change I make, I write it in text
> file which functions as a play book for deploying a functionally
> identical system regardless of the underlying hardware. And then I
> restore my home directory and non-OS data from backups (technically
> backup staging replicas).

For years I have done the same and maintained an adminlog.txt file to 
know what I have done, actually several of them, for different machines. 
Very valuable.

Most recently I bought a new Framework 13 computer and in setting it up, 
to remind myself of all the things I had done to my earlier computer, it 
was extremely valuable to refer to this file.

A few weeks back I changed things, however. Instead of a single text 
file I now have multiple markdown files, one for every day on which I 
make a change, for each machine on which I make a change.

The prompt for this is these files are all part of a Gollum wiki 
(https://github.com/gollum/gollum), a way to do local 
github-compatible-ish wiki pages. The wiki editing can be done entirely 
in a web browser, which is cool. But I'm afraid of dropping my content 
into some shiny but opaque program: What happens if the software goes 
away, what about lockin, is my data gone? No, the data has been in 
regular files in git all along. And emacs knows .md files pretty well. I 
do most of my maintenance in emacs. If I have new notes to enter? Run a 
simple bash script I wrote, saying which machine it is for, and an emacs 
buffer opens up, titled with that day's date and for that machine. If a 
new file if necessary it makes a new one, or it gives me the existing 
one if that exists. So it is dual mode for me: Mostly emacs for 
capturing notes, then commit them to use Gollum and a web browser for 
consuming old stuff. The way things work on the Gollum side, and in the 
markup language, imposes a some conventions and discipline in what I do, 
it keeps me from being too creative in how I structure my raw text.

Out of the box Gollum has no concept of different users and has no 
security beyond what address it listens on (127.0.0.1 in my case), but 
that covers my purposes. I am doing .md files, though there are other 
kinds of markup available. Recently I added a header and footer file in 
each of the different machine directories, pasted in a cryptic macro, 
committed those files, and now I have labeled previous/next links on all 
those per-day pages.

It is more involved than my previous journaling routine of just going to 
the bottom of the appropriate old text file, typing the date, and noting 
that day's whatever, but it also gives me ways of keeping track of other 
stuff, such as to-do items (I am part way through my checklist of adding 
DKIMS for my e-mail), and it provides a structure for maintaining status 
information, such as how my network is configured, as opposed to just a 
journal the daily steps I took to get there.

I don't know how well it will work over time, but I am starting to wish 
I had done this earlier. Not that I could have started out this way: my 
adminlog.txt files go back to before Gollum, or even git, existed.


-kb




More information about the Discuss mailing list