I’m looking for recommendations for a dotfile manager - there are so many out there I’ve got a bit of options paralysis!

I’d like a system that can backup all my dotfiles - with version management - and, if I nuked my home directory, could restore them all for me with a simple command.

Thanks in advance for you suggestions!

  • @[email protected]
    link
    fedilink
    201 year ago

    Git and a script file that’s basically just a ton of ln - s commands

    I honestly don’t think I’ve ever found myself wanting more

  • cvf
    link
    fedilink
    20
    edit-2
    1 year ago

    Home-manager on NixOs. It handles more than just dotfiles, as it also manages installed programs.

      • @[email protected]
        link
        fedilink
        41 year ago

        Just so it’s clear for everybody: Nix is a programming language, build system, and package manager. NixOS is a Linux distro built with (and upon) Nix. Home Manager is a dotfile and home management tool using Nix, allowing control of dotfiles, but also per-user software, systemd services, and more. You can use Home Manager in any distro, not just NixOS (but you do need to install Nix).

      • @[email protected]
        link
        fedilink
        21 year ago

        Here’s my example (Github mirror). It stores everything from my custom packages (like GIMP 2.99, which isn’t yet packaged in nixpkgs, or a custom virtiofsd to workaround an upstream bug caused by switching from the old C to the new Rust implementation), to my fish, sway, rofi, mpv configs, to my entire server setup, including Gitea, Nextcloud, Keycloak, Mumble, mailserver and Matrix server with some bots and bridges (I recently migrated from an x86_64 to a arm64 board and the only post-install setup I had to do was copy /var), to my router’s nftables rules.

          • @[email protected]
            link
            fedilink
            English
            1
            edit-2
            1 year ago

            I host it on an Arm SBC lying in the closet, specifically Radxa Rock 5A (well, the dotfiles mention that much). That said, you don’t need your VPS service to offer NixOS provisioning, you can just use nixos-infect

  • Ádám
    link
    fedilink
    English
    191 year ago

    I didn’t even know that was a thing, I just keep it in a git repo

  • @[email protected]
    link
    fedilink
    18
    edit-2
    1 year ago

    I’m extremely happy with chezmoi. It’s very simple to use, but when you need more advanced features, it has them. It can do templates, ignoring and other stuff allowing you to easily manage dotfiles on multiple machines or even multiple operating systems (like windows on PC, Linux on laptop). Here is a comparison table of some dotfiles manager (it’s on chezmoi’s website, so it may be biased) Also here are my dotfiles (as a Linux user, I cannot resist the urge to share my dotfiles whenever I have the opportunity)

  • conrad82
    link
    111 year ago

    I used yadm for a while and liked it. It is a git wrapper that makes git’ing your home folder for config files less messy

    https://yadm.io/

    Now I don’t care so much for keeping settings anymore and use mainly vanilla settings, therefore I stopped using it

    • jelloeater - Ops Mgr
      link
      English
      31 year ago

      Second this, works great for multiple OSs as well, Linux and OSX in the same repo.

  • @GustavoM
    link
    English
    11
    edit-2
    1 year ago

    cp -r to an external drive. And cp -r back in case something goes wrong.

    I know, it’s boring and no way “modern”. But hey, it works and it does not require internet access!

  • @[email protected]
    link
    fedilink
    81 year ago

    a git repository configured to ignore basically everything except the dotfiles. For my sway config I load configs from a symlinked folder, which points to a different config depending on the machine being configured.

  • @[email protected]
    link
    fedilink
    81 year ago

    home-manager. a divine tool for maniacs Nix users that lets you do declarative dotfile management

  • adONis
    link
    81 year ago

    nuking your home directory

    Imho, in that case, you should look int a more proper backup strategy to restore all your files, not just your configs.

    • daddyjonesOP
      link
      31 year ago

      Thanks - yes I do have that, but I also wanted something specific to my dotfiles to make management and restoration a bit easier.

      • adONis
        link
        2
        edit-2
        1 year ago

        I have a vorta backup, running on a regular basis for my home dir which has GBs of data.

        Mounting and restoring files is literally a matter of seconds.

        But if you want something that you can easily take with you, you can go with a symlink/git approach:

        • have a folder “configs”
        • move all your dotfiles thst have NO sensitive data like credentials into that folder
        • symlink them into their proper place
        • use GIT to track them and push them to a git repo

        Once you need them somewhere else, it’s just a git pull away… easy as that.

        What I dislike about existing solutions, is they come with their own binaries, conventions, and stuff, but basically do almost the same… this is the “raw way” that will hold up on any system, and almost all of them have git.

    • qwesx
      link
      fedilink
      31 year ago

      Or at the very least partition ~ as btrfs/zfs and do regular snapshots. The downside is, of course, that a rollback won’t just roll back the dotfiles. But I guess if the scenario is “nuking [the] home directory” then that’s probably not an issue.

  • @[email protected]
    link
    fedilink
    English
    61 year ago

    I’ve tried several dotfile managers, but after adding my files I interact with them so infrequently I forget how to use them.

    The thing which finally stuck is this method from Atlassian: https://www.atlassian.com/git/tutorials/dotfiles

    Your entire home directory is a bare git repo which ignores untracked files. It’s just plain git so there is no additional tool to learn or forget.

    I’ve put my vim plugins as git submodules so they’re easily and efficiently tracked and updated too.

    • @worldofgeese
      link
      11 year ago

      I used to use this but nowadays I prefer the single, declarative file approach of Guix Home and Home Manager.