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 keep most of them in a git repository that I check out at
~/.config. Some software doesn’t follow the XDG Base Directory Specification out of the box but can be configured to do so; the Arch Linux wiki has an article about it. For software that cannot be configured to follow the standard I have dedicated repositories, like for OpenSSH.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.
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.
I don’t necessarily sync my dotfiles across machines, at least not in a blanket fashion. But I use Seafile to keep all sorts of directories in sync across machines. It’s basically a self-hostable Dropbox.
Nix, but I’d only recommend it if you share my same brand of mental illness
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.
This is the way.
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.
chezmoi does everything I need. It’s really nice; would recommend.
Chezmoi with auto-push is the way
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.How many dot files are you changing to need some sort of manager?
For me it’s more about keeping multiple systems in sync and working as intended. E.g. I have my laptop, a home server with couple different distros and a few cloud VMs. Whenever I change a keybind in neovim or tmux or whatever, I just save the changes in a slightly different way and now every machine has those changes so I don’t need to update each machine manually.
ln exists.
Preach!
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.
Same! I even manage three different configs with the same flake!
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.
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.
Don’t need to I use nix
This is how I handle my nix configs though
Love it!!
I use a bare git repo. After the initial set-up its just the basic git commands but invoked with a
gitdfalias. I wrote a (non-monetized) blog post here about it.If still needing a tui you could write a simple helper script to call the commands.











