I’m wondering if there is a new tool out there that I’m missing out on.

  • spesk
    link
    fedilink
    English
    arrow-up
    19
    ·
    2 years ago

    Git and symbolic links still.

    Ive heard good things about GNU Stow.

    • jmondi
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 years ago

      If you’re using symlinks, you should definitely check out Stow.

    • yads@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      That’s the way I do it, although I have a custom script that generates the symlinks for me. Not sure why I’d need anything more

    • philm
      link
      fedilink
      English
      arrow-up
      6
      ·
      2 years ago

      Like to see so many fellow nix(os)ers here, I think the amount/ratio of nixers here is quite a bit higher than previously on reddit.

    • Outcide@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      Had a homebrew Git setup for ages and recently started using Chezmoi. It’s only been a few weeks, but so far it’s been pretty great!

    • proton_lynx@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      What I really like about chezmoi is how it can retrieve secrets stored on Bitwarden. Your git history is clean of secrets but you can have them referenced on your dotfiles.

      • cd_slash_rmrf
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 years ago

        it’s so useful! I used to have some terrible setup going with branches for different OSes in my dotfiles, and chezmoi really simplified the whole thing

        • Hexarei
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          Indeed, I use my dotfiles across several machines, architectures, and distributions and it’s fantastic

    • kuresov@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 years ago

      I use Chezmoi but I have to point out some of its downfalls vs. other dotfile managers, particularly if someone is looking to migrate to it.

      • Go’s templating lib is incredibly unergonomic.
      • Identifying file perms and visibility in by special naming convention is pretty gross. Also makes it more difficult to migrate to another solution.
      • If you’re deleting files, you need to remember to do it through chezmoi remove .... You can’t just rm them from your dotfiles directory, because chezmoi does not sync state; it simply applies what’s currently in your repo.
      • Handling multiple systems through .chezmoiignore ends up being overly verbose and unintuitive vs. the approach used by other dotfile managers

      Despite these gripes I still use it because deployment via a single binary is convenient, and there’s enough control through the generated config file + system info to handle multiple kinds of deployments sort-of-sensibly (see point 4 above).

  • codemonk
    link
    fedilink
    English
    arrow-up
    11
    ·
    2 years ago

    I prefer to keep tooling for that at a minimum. Therefore I use git only. My approach is taken from here: https://www.atlassian.com/git/tutorials/dotfiles The only difference: My git alias is dotfiles not config. I find that to be less confusing. Additionally, I source system-specific configs, where appropriate. These are not stored in dotfiles. There is a small todo section in my readme.

    • o_o
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      2
      ·
      2 years ago

      I do the same! It works quite well.

  • varsock
    link
    fedilink
    English
    arrow-up
    9
    ·
    2 years ago

    i take a Phoenix approach with my dotfiles.

    Once a decade when my computer crashes and burns, from the ashes emerges a blank slate of dotfiles that is purged of all unnecessary hacks that have accumulated. With a tear and a hopeful outlook, I rush to set the settings I am actually dependent on.

    I really need to take more interest in backing up my dotfiles 😭

    • philm
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 years ago

      Yep it’s like maintaining a codebase that’s getting increasingly better. It’s a rabbit-hole and a timesink (kind of because you’re trying to get the best out of it, and thus configure likely more) but I think it’s worth it. It gets better overtime as well

  • corytheboyd@kbin.social
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    2 years ago

    Tried all the fancy ideas, never stuck with it. I just use git to track changes now and move on with my life. There are like four functions I carry around with me, then whatever path additions and init scripts I pile up. It’s so light it doesn’t really matter when I move to a new machine

  • Howard Do
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    2 years ago

    I used bare git repo before, then switch to GNU Stow + Nix home-manager.

  • Gamma
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    2 years ago

    I’ve done symlinks into a separate directory before, but by far my favorite method is to just let ~ be a git repo. It’s maximally simple, no other tooling needed besides git.

    There are a few key steps to making this work well:

    • echo '*' > ~/.gitignore: This way git status isn’t full of untracked files. I can still git add -f what I actually want to track.
    • git branch -m dots: For clarity in my shell prompt.
    • [ -d "$HOME/.local/$(hostname)/bin" ] && PATH=$PATH:$HOME/.local/$(hostname)/bin and similar if there’s config I want to apply only to certain hosts.
    • drdnl
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      Pretty happy with nixos these days, after the initial (crazy) learning curve. But I really like the creative simplicity of this idea

      • Gamma
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 years ago

        Stole Forked this idea from Drew Devault.

        I’m looking at NixOS now for my server, and while I understand the host config, I’m curious whether I could integrate this into my config in some way.

  • kersplort
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 years ago

    I still put them in gists, with no real tooling. I pull them in selectively when I get a new machine.