I liked stow, and used it for quite some time. That being said, it has issues. Issues community members have attempted to solve. Issues the sole maintainer wasn’t addressing for quite a few years.
I use chezmoi now. I’ve still got mixed feelings, but the templating system is neat. Stow seems to have gotten out of it’s slump while I was gone. That’s good news! Anyone know if they addressed the tree specific folding/unfolding config feature? Not seeing anything in the docs…
I tried chezmoi, and wanted to love it… but I just can’t. IMHO, it’s complicated, which is why I built this one.
Yeah, there are a lot of bells and whistles and a fundamental difference between the way they intend to manage dotfiles and the way stow does. Makes it difficult to get started.
One thing that helped me when I was first getting into it: Chezmoi doesn’t like compartmentalization like stow. It supports it, but it want’s you to lean into the config langue a bit before you start doing that.
If you do that you can get away with only touching the
add
,cd
, andupdate
commands.Exactly… but it still adds some overhead, which I’m honestly not a huge fan of.
At the end of the day, I want a single directory, where I can symlink the files and folders into their appropriate places, and share them across multiple machines, all that, without digging too deep into the tool, especially when I frequently update things, like a neovim config, etc…
And stow, paired with git, does exactly what I need. I only made some “aliases” to simplify the workflow.
As a heads up, your readme has “machine” misspelled as “maschine” in two spots:
-
On your current maschine
-
On another maschine
Looks like thats the german spelling?
Oh right… thx for the hint. It’s indeed German, and I usually write it as machine or mashine, when writing in English. This time I was just unfocused 😅
-
I’m all in favor of tools that automate dotfiles and make system configuration simpler for folks just getting started, but what benefit is there over using bash scripts
(appologies for no rtfm. Conversation is more fun anyway 🙂)
Ironically, stowman is a bash script whose only purpose is to wrap git and stow so that you only need a couple of very simple commands in order to manage dotfiles, the automation (i.e. the synchronization task) doesn’t seem to be a part of stowman.
Exactly. For now, it’s main focus is to only move configs to the dotsdir (since stow throws a conflict when there’s already something in place), let stow create the symlink and push it to git.
on a remote mashine, however, you still need to handle conflicts yourself. but it’s also mostly intended for fresh installations, or where you don’t mind just
rm -rf
the existing config