I’ve been reading up on the concept of dotfile management, and I’ve come across tools such as GNU Stow, chezmoi, and yadm, but before I select a tool, I’d like to understand the workflow a little better.

I understand if the dotfiles are in some cloud provider such as GitHub, then after a fresh install one can do git clone etc, but let’s say one’s dotfiles are not stored in the cloud, then what’s the workflow for getting those dotfiles onto the freshly installed OS? Do people do git clone from another machine on their local network, manually copy the dotfiles folder from the source, use an app like LocalSend, or something else?

EDIT: Clarifying that this is for a home environment, where I have two or three different laptops in service at any given time. One is my main daily driver and doesn’t change much. The other two are kinda my sandboxes and I’m often distro hopping on them. This question is mostly for distro hopping on my sandboxes, which is like once or twice a month. Thanks!

  • ashx64@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    19 hours ago

    I’ve been happy with GNU Stow. Super simple and clean. I keep all the files in ~/stow and follow this workflow. You can avoid the git bits if you want and update ~/stow however you want.

    cd ~/stow
    
    # pull latest changes from git provider for syncing
    git fetch
    git status
    git pull
    
    # if made any edits and wanted to push them
    git add .
    git push origin main
    
    # do a dry run of stow just to make sure it won't do anything weird
    stow -n -v --no-folding .
    
    # do a real run of stow if nothing is wrong
    # note: --no-folding prevents folders from becoming symlinked, only files will be symlinks,
    # this prevents unintended files from going into ~/stow
    stow -v --no-folding .
    
    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 hours ago

      Thanks for sharing your workflow. How often do you use this workflow? And are you more often cloning your dotfiles for a new setup or just keeping them updated across existing setups over time?