26
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 07 Jul 2025
26 points (96.4% liked)
Nix / NixOS
2809 readers
3 users here now
Main links
Videos
founded 3 years ago
MODERATORS
Ah. You're on Void. Indeed, it does look like Void doesn't have an implementation of systemd-tmpfiles. Here is the file from my system, it's only creating a single symlink, which is basically the same thing you are doing:
Oops, the below is for artix. I was nosy but not nosy enough and I saw a comment where you mentioning you used void after you wrote all of this. I'm gonna leave it here since it was an enjoyable rabbit hole.
I did some digging, and it looks like it is possible to use systemd-tmpfiles outside of systemd. It's just a binary that creates files/directories/symlinks based on a format, so it's pretty easy to extract, or reimplement entirely.
Artix has their own, an extraction from the systemd package: https://packages.artixlinux.org/packages/system/x86_64/etmpfiles/
It looks like that package is required by the
basepackage, which is the core package set declaring the minimal dependencies needed to have a working system, so it's highly likely you have it installed.I think it automatically starts too, but I can't find a hard source for this. Based on this page: https://wiki.artixlinux.org/Main/Migration#Download_the_Artix_packages it looks like etmpfiles is needed before you select/install the init system, which suggests that. This reddit post, where a user has an issue where etmpfiles isn't installed, so their service manager complains and dies.
If you have a service named something related, like
tmpfileor the like, then it does autostart.Yeah, i was using Void but atm i'm using Guix. From what i can tell Guix doesn't have an implementation for it either, but my current setup works so that's good lol. I just have a shepherd service that executes the script in my users' .nix-profile as root. The tmpfiles.d method is basically what this project is doing as well. I ended up not using it because of that, but i also don't like that it adds more projects that you have to depend on to get it working compared to the manual setup that we're doing.