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.

Turtle,

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

thelastknowngod,

Resilio Sync and symlinks. The symlinks aren’t great but I never remember to update git… Resilio is wonderful.

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.

selawdivad,

I have a git repository in ~/dotfiles, and symbolic link the ones I want as I need them. I’ve only just started tracking my dotfiles and I’m not super disciplined with it yet, so I still have slightly different setups on each system.

garam,
@garam@lemmy.my.id avatar

Ansible… Ansible… ansible…

Write a ansible playbook that contain any of the config…

Or Timeshift everything… and restore on new distro

fujiwara,
@fujiwara@lemmy.zip avatar

It never even occurred to me that you can restore a timeshift on a different distro. I feel so stupid lol

garam,
@garam@lemmy.my.id avatar

You can lah… If not it’s useless. Haha… 😂

fujiwara,
@fujiwara@lemmy.zip avatar

Lah?

garam,
@garam@lemmy.my.id avatar

Lah is like a added text, in end of cov. Like bro, man, etc… It’s mostly used in East and South east Asia.

Pardon, I type it unconsciously 😂

fujiwara,
@fujiwara@lemmy.zip avatar

Oh no worries! I’ve just never heard it before lol

UnfortunateShort,

With great difficulty… And tbh mostly copy-paste to a MEGA sync

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

nothendev,

Home manager fan here. Every install I tweak something if I feel like it.

tarneo,
@tarneo@lemmy.ml avatar

I’m not a distrohopper, but GNU stow is delightfully simple. See my dotfiles as an example.

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.

Syudagye,
@Syudagye@pawb.social avatar

not distro-hopping, but i use nix, which can be used on anydistro.

adonis,
@adonis@kbin.social avatar

separate nvmes for the root-fs and for my users home folder.

configure /etc/fstab to point nvme to /home/username.

Done! I can wipe and hop as much as I like, and everything's just there.

Tbh, i only hopped once, from Arch to Fedora and it was painless.

RickyRigatoni,
@RickyRigatoni@lemmy.ml avatar

I manage them by not. My configs are gone when I wipe my drive and I simply recreate them from memory. Things get forgotten, new things get changed. Holding on to the past too tightly will make you unable to leave it.

flubba86, (edited )

I’ve struggled to put in words my stance on this, but you said it well. If I backed up my configs, I would get stuck doing things the exact same way for ever. If I backed up my configs I’d be still using Vim with Vungle plugins, now I use Neovim with Packer plugins. I would be still using urxvt with powerline-status bar, now I use Alacritty with starship status. I’d be still using my old favourite Inconsolata font, now I use Fantasque for everything.

There are always newer (and sometimes better) and certainly different ways of tweaking your PC to suit your needs. If you hold on too tight to your old configs, you might miss out on discovering the next cool thing to enhance your experience.

Note: there are of course some home dir things I definitely keep backed up that are irreplaceable, like SSH private keys, GPG keyrings and private keystores, and even my Firefox profile directory.

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