Best way to move configs across computers?

I’m using a heavily customized Linux system on my desktop (multiple window managers, vim macros, polybar stuff, etc). I need to use another machine for a few days, and I would like to boot my config on to it, probably from a persistent USB. What’s the most efficient way to do this? I’ve thought about making a custom ISO, but that seems difficult and probably not my easiest option.

How should I go about this? Thanks!

You are going to want to use some sort of dotfiles management.

yadm, chezmoi or symlinks + git are all options.

https://wiki.archlinux.org/index.php/Dotfiles

I had a thread about it here:

And create a script to install the programs you need, then you should be good to go.

1 Like

I always just pop drives in and out of machines. You could probably image the drive to another one and then use that as an external drive (assuming you have an external drive or an adapter case for an internal drive) if you don’t want to mess with opening cases. I’m cheap AF so I just swap drives.

Going the external route can depend on other factors. If the drive you use isn’t fast enough and you are doing really heavy work then you will be disappointed.

Of course someone with such an intricate set of configs already has multiple backups ready to go, so you can just use one of those drives.

I just dumped a bunch of symlinks into a git repo, and I discovered that git only stores the contents of the link, not the file linked to. What can I do to get around that? Thanks for the response, it was very helpful!

Either use hard links (not a big deal if you git repository is on the same drive as your config files), or make soft links from the files in the git repository to where your config files are supposed to go. So actual files in the git repo, links to those files in the normal config locations.