35
I built a tool for managing config files
(github.com)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I'm also just using GNU stow into a git repo. It needs no configuration file and just works on any system. Rolling out a new system takes 2 commands. I really don't see the need for a specialized tool for this use case.
Say you want to store
/etc/ufw/sysctl.confwhich is owned byroot:admand has permission 644 in your repo, but also/etc/ntfy/server.ymlwhich is owned byntfy:ntfywith permissions 664. How do you keep track of this with gnu stow?Ah now I understand the purpose. I only use it for my (personal) dotfiles, which as a term is ambiguous at best, but in my case I mean config files. That was how I essentially misread your title. Obviously all those files are owned by my user, and most live in ~/.config or similar locations beneath my home directory. Things like application preferences, basically.
Obviously your tool also works for this, but I now understand it's more meant for system wide config files.
Yeah, it's cool, people are mostly looking for something like your usecase. I got suggested stow or stow-like tools a lot when exploring this. And when they understood what I wanted, they just suggested ansible... Which would work when starting from scratch, but wasn't right for me. I made copicat mostly because I am actually using it, and then decided to make it public because really I didn't find anything like it.
I would like to add that I did look at the GitHub before commenting. And I still didn't get it. Matthew with just explain what it does, but also why is different from the common tools/suggestions that seem similar. Maybe it's more about highlighting the differences (or the additional capabilities).