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.

  • RickyRigatoni@lemmy.ml
    link
    fedilink
    arrow-up
    34
    ·
    1 year ago

    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@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      1 year ago

      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.

  • mim@lemmy.sdf.org
    link
    fedilink
    arrow-up
    20
    ·
    1 year ago

    I manage them using git and stow.

    Stow is very useful, but a bit unknown. Hard to explain in a Lemmy post, but basically it helps you manage symlinks between your git repo directory and your $HOME.

    You can “install” and “uninstall” configs by managing the symlinks with stow.

    • flyhunter@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      I do the same plus a python script to automate the stowing. This plus konsave plus a script to install packages and it is a breeze to reinstall the OS

    • Machindo@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Same but with the addition of a Brewfile to manage installed apps/CLIs (supports both Mac and Linux)

    • vredez@discuss.tchncs.de
      link
      fedilink
      arrow-up
      9
      ·
      1 year ago

      I use gnu stow (with --no-folding) and track my stow directory in a Git repo. This allows you to easily swap out distro specific differences, like the location of git_prompt.sh or aliases that map to different package managers. Also, you can switch between different window managers or desktop environments with a simple unstow and stow of .xinitrc files.

  • Skriptmonkey@lemmy.ml
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    I’m not as fancy as using git. I have a folder with all my config files, and it’s not a lot, in Nextcloud. When I’m on a new install, I sync my Nextcloud account then create symlinks to the files in the folder. So far no issues. I just keep track of where each simlink needs to go.

  • adonis@kbin.social
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    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.

  • mundane@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    I keep my files in a repo on gitlab and use yadm to sync them.

    Yadm is a wrapper around git, so you have all the standard git commands plus some extra to work with templating and encryption etc.

  • Nuuskis9@feddit.nl
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    I use usb stick with Ventoy. I copy it into .config and add a line for aliassrc into .bashrc and I’m all set.

  • thelastknowngod@lemm.ee
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

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

  • som@beehaw.org
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    i wasn’t able to. Just lut them up on github. but now i have nix so i can just set up flake and git clone. Got my configs.

  • SALT@lemmy.my.id
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Ansible… Ansible… ansible…

    Write a ansible playbook that contain any of the config…

    Or Timeshift everything… and restore on new distro

    • Maxxy@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

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

  • hitagi@ani.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    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.

  • selawdivad@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    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.