Hello, i would like to know how you manage your dotfiles.

Do you use some gui or tui?

There are many ways i don’t what to do.

Probably im going to do git repo with lazygit. I like tuis. I am managing files on two artix linux systems 1- pc and 2- laptop

    • torgeir@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      19 days ago

      I also share this brand of illness.

      As I was reluctant going all in, having kept them in git since 2012, I still keep a few of them in their own separate repository. I load them as a nix flake input, and put the files in the expected place using nixos. Works OK, but adds a bit of a roundtrip if you are experimenting with changes often.

      This also allows me to share some of them to my work machine, which uses nix, and other files on other systems that dont.

      That said, I consider myself all in nix quite some time ago, and have moved more and more of the config over to the nix repo using the nix language for config instead of the input flake config file approach. Iterating on it is much faster this way.

  • mko@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    13
    ·
    20 days ago

    GNU Stow, backed up to a git repo.

    For those who might not see the purpose, it’s for keeping your profiles on different machines in sync, especially if you use the terminal a lot.

  • Hundun@beehaw.org
    link
    fedilink
    arrow-up
    9
    ·
    21 days ago

    I used to have everything in a git repo, but nowadays I use Nix with Home Manager, and I don’t want to look back.

  • kehet@sopuli.xyz
    link
    fedilink
    arrow-up
    5
    ·
    21 days ago

    I use yadm which is basically git repo with automated path handling and alternate files support. I heard that gnu stow is also a good choice, but I haven’t tried that

  • Nick@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    20 days ago

    I just wrote a bash script copies the relevant files or directories I want to back up from either ~ or ~/.config and places them in a local git directory which I then push to a private repo on Codeberg. Super janky and manual but I update dotfiles so seldom that it works for what I need.

  • jerieljan@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    20 days ago

    I use Syncthing with a folder called “Configuration Files” where I drop all my sync-able configs and dotfiles and I simply symlink them as needed.

    • onra54@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      15 days ago

      So there’s at least the two of us doing it this way. Syncthing is an absolutely fantastic tool.

      • jerieljan@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 days ago

        Yeah, it’s fantastic. It’s more effective at this than I thought because even though I use git a lot for programming and projects, I’ve admittedly forgotten far too often to commit and push/pull trivial changes on devices and in most cases, all I need is just for dotfiles to sync across devices anyway.

        • onra54@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          13 days ago

          I am syncing a whole lot more than just dotfiles and have done so for years. Admittedly, I am running an always-on-instance (multiple, in fact…). Syncthing hasn’t put a foot wrong in over a decade.

          I am donating a small amount to the project every month and would like to encourage others to do the same.

  • med@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    21 days ago

    I’m using stow, and then git for versioning. The only question I’m currently facing is whether to keep my stow packages as individual got repos (so I can switch branches for radically different configs or new setups) or treat the whole lot as a big repo, and set the others up as subtrees.

    • zaubentrucker@sopuli.xyz
      link
      fedilink
      arrow-up
      5
      ·
      20 days ago

      IMO you shouldn’t use branches for switching between configs. It makes it hard to compose and reuse your configuration.

      Just imagine you have a new config file that you now want to add to all of your machines. You’d now have to commit/cherry-pick on all of your branches. Change that file? Now you have to distribute the changes again and might even get conflicts.

      Additionally, many programs allow you to change your configuration directory via environment variables (usually XDG_CONFIG_HOME , I think). So you can even keep all machine-specifig configuration files in a single repo under different prefixes for those.

  • tvcvt@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    20 days ago

    I do a git repo for my dot files with an installer that configures it based on whether I’m using Linux, macOS, or FreeBSD; a server or desktop; and whether I’m in bash or zsh. It also includes a bunch of functions and aliases that I find useful. It’s not always pretty because I also use it as a practical place to try new shell script bits when I have time. I’m hoping to change some things around soon thanks to some ideas from Dave Eddy’s bash course at ysap.sh.

    • eldavi@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      20 days ago

      i used to do this, but couldn’t figure out how to stay on top of the changes introduced by distro’s and updates to the apps; did you figure these out somehow?

      • tvcvt@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        20 days ago

        I pretty much stick to straight bash and core utils, so it’s not much of a burden. Plus on the Linux side, I mostly stay with Debian and its derivatives, which limits some of the work.

        But really I don’t consider every feature of my dot files to be a finished product. The core stuff is reliable, but if I catch a problem with anything more esoteric or if I see some functionality that looks interesting, it’s a brain teaser I get to tackle.

        • eldavi@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 days ago

          I pretty much stick to straight bash and core utils, so it’s not much of a burden…

          this has worked fairly well for me too and i’ve applied this logic to a few desktop environment apps that are seemingly ubiquitous in all of the distros.

          though, i still admire (and sometimes envy) the customizations that people make to their environments.

  • bbleml@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    21 days ago

    I use home-manager to manage most of my dotfiles and store them in a git repository. Additionally, I just symlink the configurations I’m too lazy to write as home-manager options (yet), which in turn is a decent way to make migrating to home-manager options less upfront.

  • nimpnin@sopuli.xyz
    link
    fedilink
    arrow-up
    1
    ·
    21 days ago

    Git repo that I sync with my raspberry pi. You never know if some of the dotfiles contain sensitive info so I like to keep them on machines that only I can access

    • chaos@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      20 days ago

      It doesn’t have to be a big baroque thing. When there’s a dotfile I configure regularly, I move it to a Git repo and use stow to put it “back” into place with a symlink. On new machines, it isn’t long before I try something that doesn’t work or see the default shell prompt and go “oh yeah, I want my dotfiles”, check out the repo, run a script that initializes a few things (some stuff is machine-specific so the script makes files for that stuff with helpful comments for me to remember the differences between login shells or whatever) and then I’m off to the races.

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        2
        ·
        20 days ago

        So its more a general question how to backup (with versioning) these files. I just always wondered what “manage” in this context meant. I don’t handle them differently than any other file to backup.