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

  • LiveLM@lemmy.zip
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    32 minutes ago

    I use YADM which is a thin wrapper around a bare git repo but still has some creature comforts like per-machine configs and templating.
    Since you still need to interact with Git, I pair it with Lazygit. Love that software, I do everything Git with it now!
    Unfortunately it is a little jank due to the way Lazygit handles bare repos, thankfully there’s a command that sets up the needed Git variables for it to work correctly: yadm enter lazygit

    I send the repo to my own Forgejo instance. Kinda overkill but I was already self-hosting other services so I thought “Fully private Git server just for me? Why not?”

    Now, this is only for managing user level files. For managing system level configs I haven’t setup anything yet.
    YADM has a solution for this but it seems a little jank, maybe I’ll learn Ansible instead, dunno yet.

  • Ooops@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    1 hour ago

    I do manage them via git. But I only do it so have settings (and their changes) synchonised between 2 PCs and a laptop.

    With just one main device I don’t even see a reason to “manage” anything… a basic backup strategy completely independent of just dotfiles aside.

  • Grntrenchman@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 hours ago

    Nothing at all. If things go south on the install I’ll have a clean slate. Really the only thing I have backed up are keys, everything else is nonessential.

    • chaos@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      1 hour 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
        ·
        1 hour 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.

  • hexagonwin@lemmy.sdf.org
    link
    fedilink
    arrow-up
    34
    arrow-down
    1
    ·
    8 hours ago

    I don’t… when setting up a new system I just copy what I need from any random machine I have logged into at the time. As I need different config for different systems it doesn’t really make sense to have one perfect config on all either…

    • flatbield@beehaw.org
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      8 hours ago

      Besides. What is there to really mange. There are only a few that one are likely to change. Every thing else is in /etc. Besides all of thia is in whole system backups and snapshots anyway.

  • Nick@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    6 hours 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.

  • confusedpuppy@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    2
    ·
    5 hours ago

    I created a file tree that looks similar to my system’s file tree, except it only contains all the files that I modified or added and only their respective directories. From there I just use rsync to sync those files/file tree to the system’s /.

    It’s convenient to see what changes I currently have but it requires a bit of manual maintenance. I only really started doing it that way because I was learning how to use rsync and I just kept going on with it because it was working for me.

    I’m only working with my laptop, android phone and two Raspberry Pi’s so I can get with my little rsync based setup.

  • tvcvt@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    5 hours 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
      ·
      5 hours 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
        1
        ·
        3 hours 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.