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
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 lazygitI 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.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.
Git + Guix Home
Nix, but I’d only recommend it if you share my same brand of mental illness
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.
I don’t understand what to manage about dotfiles. You mean backups?
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
stowto 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.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.
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…
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.
Gnu stow and a git repository.
stow creates bulk symlinks according to the folder structure.
I use a convenience package on top of stow (yas-bdsm), but yeah: stow is foundational.
This is what I use and it’s been a godsend in my home lab.
Nix (home-manager) 😬
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.
How many dot files are you changing to need some sort of manager?
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
rsyncto 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.
Dazed and confused.
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.
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?
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.
chezmoi does everything I need. It’s really nice; would recommend.











