So, some times ago I had this question https://feddit.it/post/22496010 about how to manage my system configuration, storing it on a repository or something.

Many people recommended using ansible to manage the system as a whole, but my system was already up and running, what I wanted instead was something to move around files while fixing up their permissions, so I build a python script for that.

The script grew more refined as time went on, and so now I'm publishing it so anyone can use it.

p.s.: this script is purely python and has no external dependencies!

you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 11 months ago (4 children)

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.

  • source
  • hideshow 4 child comments
  • [–] [S] 5 points 11 months ago (3 children)

    Say you want to store /etc/ufw/sysctl.conf which is owned by root:adm and has permission 644 in your repo, but also /etc/ntfy/server.yml which is owned by ntfy:ntfy with permissions 664. How do you keep track of this with gnu stow?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 5 points 11 months ago* (2 children)

    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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 4 points 11 months ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 11 months ago

    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).

  • source
  • parent