Distro hoppers, how do you manage your config files?

I am currently trying to keep track of my config files in a repo to be able to get the configa back together easily if/when I change distro, but I am not sure if that’s the best way or if I should be using some tool to help me since I some programs keep preferences in other directories other then $HOME (at least I think so). Can you guys share with me your must used/trusted simple process for this?

Thank you and specially thanks to everyone who is being helpful in this community for the past few weeks, I’ve learned much and got some very useful tips from the comments in my posts and in other people posts too.

cow,
@cow@lemmy.world avatar

I’m not really a distro hopper but I just have my home directory as a git repository with a gitignore file. git.sr.ht/~cowingtonpost/dotfiles/…/.gitignore

hitagi,

I used to have a git repo on Github for my dotfiles but I took it down when I realized that there are some config files I don’t want public like my newsboat links or API keys on my ~/.bashrc. Now I just sync it encrypted to some file storage but I may put it on my private git server instead where password-store lives.

lfromanini,

I manage my config files with RCM, this way: fedoramagazine.org/managing-dotfiles-rcm/

But I use it for share my dotfiles between my home and my work computer. For distro hopping only, I have my /home mounted in a secondary HD, so it’s never formatted.

For the config files in other paths, I keep a log of everything I changed in Dropbox and then I redo. I admit that this may not be the best solution, but the others works good.

Retainer8510,

sounds awesome! will try this approach

Turtle,

I just don’t wipe out /home when I reinstall. Same /home partition, different distro on /

madcow,

I really like the simplicity of this workflow by StreakyCobra on HN (explained as a blog post here):

I use:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">git init --bare $HOME/.myconf
</span><span style="color:#323232;">alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME'
</span><span style="color:#323232;">config config status.showUntrackedFiles no
</span>

where my ~/.myconf directory is a git bare repository. Then any file within the home folder can be versioned with normal commands like:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">config status
</span><span style="color:#323232;">config add .vimrc
</span><span style="color:#323232;">config commit -m "Add vimrc"
</span><span style="color:#323232;">config add .config/redshift.conf
</span><span style="color:#323232;">config commit -m "Add redshift config"
</span><span style="color:#323232;">config push
</span><span style="color:#323232;">And so one…
</span>

No extra tooling, no symlinks, files are tracked on a version control system, you can use different branches for different computers, you can replicate you configuration easily on new installation.

GustavoM,
@GustavoM@lemmy.world avatar

Via a script that “automatically” copies (and installs) everything I need to its respective folder.

Kekin,
@Kekin@lemmy.world avatar

I copy everything in my home folder and paste it all in the new installation. Works well if I stick with the same desktop environment.

Raphael,
@Raphael@lemmy.world avatar

I don’t stow or anything difficult anymore, it complicates things.

I just save everything in my gitlab account and then I manually create the links.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • [email protected]
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • oklahoma
  • Socialism
  • KbinCafe
  • TheResearchGuardian
  • Ask_kbincafe
  • SuperSentai
  • feritale
  • KamenRider
  • All magazines