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
Chezmoi
It’s the only one that just works and has enough features for me, but not too many.
Gnu stow and a git repository.
stow creates bulk symlinks according to the folder structure.
This is what I use and it’s been a godsend in my home lab.
I use a convenience package on top of stow (yas-bdsm), but yeah: stow is foundational.
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 push them to Git, secrets are masked with Mozilla SOPS.
I use stow and it does the job get nicely, but it’s possible that there’s a better option these days
I never did until I started using hyprland.
Now I have those in a git repo: https://git.jeena.net/jeena/hypr-dotfiles
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.
bash isn’t standard on most systems.
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.
I’m using VCSH, which allows me to split the home directory into multiple git repos without worrying about symlink consistency (like with GNU stow) or apps that have problems with symlinks.
The syntax is exactly the same as git, only that I do (for example)
vcsh emacs add -pinstead ofgit add -p.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.
For ZSH, I have a script that automatically installs oh-my-zsh and a bunch of zsh plugins, and changes my default shell to ZSH.
For everything else, some files will just get copied over, others left behind. I only “manage” them when I need to view/edit them.
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.
Dazed and confused.
deleted by creator
Don’t think too hard on it. Just use git. For example, I have a repo called handy-scripts that hosts all my dotfiles. I just check that out into
${HOME}/projects/handy-sciptsand then symlink everything from where it’s expected to its corresponding place in the repo.As you make modifications, remember to occasionally do a
git pull --rebase && git commit -m WIP && git pushso that all your devices are synced up.How many dot files are you changing to need some sort of manager?
Preach!
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.












