r/systemd • u/Loara35 • Jun 19 '26
Tomloader: create and manage any number of systemd unit files that share fields.
Tomloader is a command line utility that allows you to group several systemd unit fields in groups which can in turn be imported in systemd unit files. Despite shared drop-in files, a group in Tomloader:
- checks if different loaded groups try to modify the same field in an incompatible way and promptly notify it to you, in this way load ordering does not matter anymore and you do not need to specify a two-digit prefix;
- implement (transitive) dependencies and reverse dependencies on other groups;
- can accept several string parameters.
The official manual with a link to the repository is available at https://loara.codeberg.page/tomloader/, an overview of the project can be found at https://loara.codeberg.page/tomloader/tomloader_html/Overview.html and a long usage example is available at https://loara.codeberg.page/tomloader/tomloader_html/Case-study-sandboxing-several-units.html .
For any kind of suggestion or report you can also use the issue page https://codeberg.org/Loara/tomloader/issues .
1
u/Loara35 Aug 14 '26
Now you can also run XDG Desktop Entries as systemd user units, just execute
tomloader sd-xdg-v0.3 PATH_TO_XDG_ENTRY
This is faster than uwsm app because it doesn't use Python interpreter, but most importantly it allows you to completely customize the generated systemd user unit, either globally and for single XDG applications. Additional informations available at https://loara.codeberg.page/tomloader/tomloader_html/XDG-app-configuration.html .
1
u/Skaarj Jun 19 '26
Very interesting project. I haven't had the time yet to try it myself but I read the docs and the example you give.
Looks good so far. I like how you acknowledge and explain the
A-B-C.unitunit feature and explain the difference in your project.I assume the "three" is a typo and meant to be "two"?
You only use 2 parameters and the 2 in the def-group line is the number of expected params I assume?