On 2020-02-08 09:06, Jonathan Frederickson wrote: > Hi - I'm working on a Guix service for Minetest, and I'm running into > some issues. The Guix package for Minetest is divided into two > variables: "minetest" and "minetest-data", with only the former being > an installable package. The Minetest package uses native-search-paths > to allow Minetest to find additional available games > (MINETEST_SUBGAME_PATH), *including* minetest_game which is > effectively the default. > > This is all well and good when you're installing Minetest as a package > and running it manually, but I'd like to do this with a Guix service > instead. Problem is... the native-search-paths don't seem to affect > the environment variables set when I run Minetest through Shepherd. > I'm checking my env vars by running Minetest through strace in the > shepherd service at the moment: > > (start #~(make-forkexec-constructor > (list #$(file-append strace "/bin/strace") "-s1024" > "-vfe" "trace=execve" #$(file-append package "/bin/minetest") > "--server" "testworld" > "--map-dir" #$map-dir) > #:user "minetest" > #:group "minetest")) > > (I've attached my current services/games.scm for reference.) > > Is there a way for me to use the native-search-paths from the > installed Minetest package when starting it through Shepherd? I think I got it working, I managed to log and "play" on the server. You were really close to have a working service for minetest though. You were only missing the environment variable MINETEST_SUBGAME_PATH and *maybe* your profile-service-type extension was wrong (I just blandly copied how it was done for SDDM). I have attached your games.scm with the added fixes.