I use packages to configure my system. Each package depends on the application packages that it configures, and contains the configuration files. (The repository lives at https://github.com/majewsky/system-configuration.)

My impression is that building configuration packages using the native packaging tools (in my case PKGBUILD files, since I'm on Arch Linux) is unnecessarily cumbersome. To package a configuration file with a single line of content, I have to put the file in my repository, reference the file in the PKGBUILD's sources, and install the file in the PKGBUILD's install() routine. (This is not specific to Arch Linux, I just used it as an example since that's what I use ATM.)

Are there options for streamlining this process? Something like a package description format targeted at configuration packages, where you have a single description file containing all the dependencies and configuration files, which can be processed into a configuration package with a single command.

[EDIT: To clarify, I'm not looking for any of the classic configuration management tools, like Puppet/Chef/Ansible/Salt/cfEngine. I consider every one of these too fat and built my own, Holo (http://holocm.org) which extends arbitrary system package managers to also handle configuration. The only thing that I find lacking in this approach is that it is relatively tedious to set up a build process for system packages that only contain a handful static files.]

If the answer is no, I'll build it myself, but I figure some investigation into prior art is useful. My googling didn't turn up anything useful so far.

  • "Are there options for streamlining this process?" -> From the sound of things I'm guessing it might start #!/bin/sh and be over within a dozen lines. You don't really expect someone to release that as a tool, do you?
    – goldilocks
    Oct 14, 2015 at 11:22
  • I sketched it out in my head, and can't see that fitting within a dozen lines of shell script. Oct 14, 2015 at 11:35
  • have you looked into chef or puppet? They might help you accomplish what you need. Oct 14, 2015 at 11:39
  • I use Chef at work, and that convinced me never to let this horrible bloated mess near my private systems. Oct 14, 2015 at 11:40
  • Fair enough. Personally I'd use perl and not be so concerned about LOC since it still seems like it can't take more than an hour to code -- but that's me. Anyway, in adding the arch-linux tag above (since different linux distros use different package management systems, this is not really a generic/global *nix question), I noticed a tag for makepkg -- dunno if that is good enough, but if not you might want to add, "Yes I know about makepkg but this soup is too hot!"
    – goldilocks
    Oct 14, 2015 at 11:42

1 Answer 1


For the sake of not leaving unanswered questions lying around, I shall note that I wrote https://github.com/holocm/holo-build and https://github.com/majewsky/art which together make for a nice package building workflow.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.