Bedrock, Void Linux, and tlmgr

Philip Thomas K.

01 July 21

Back

I have been using bedrock linux for the past year, and it has been lovely. I used to only use void linux’s musl based distribution because of its clean and fast implementation. The one major gripe I had with it though is that R cannot install the tidyverse, which is something I need.

I had considered just switching to void’s glibc implementation, but for some reason, it felt sluggish. I finally used bedrock linux to hijack my musl distro, and installed ubuntu as another strata for its package manager. That fixed the R problem nicely.

However, I was met with another problem. Void Linux manages texlive by using tlmgr a tool that manages the texlive binaries. I love the fact that the void maintainers decided to go this way, as I was able to take control of the state of my texlive distribution.

I used to be able to update all the different CTAN packages by simply running:

$ sudo tlmgr update --all

But since using bedrock linux, my root user does not seem to have tlmgr in its $PATH. I figure it has something to do with the fact that bedrock linux does some chroot magic to achieve the amazing things that it does. Thus, in the end, I had to keep running the following command to update my CTAN packages:

$ sudo /opt/texlive/2021/bin/x86_64-linuxmusl/tlmgr update --all

Now, even though I use Ctrl + r for reverse search, this command kept bothering me, because any other operation run by tlmgr felt unnatural. Thus I focused on fixing the problem. I couldn’t find the solution online, but by tinkering I managed to find the command that fixed this behaviour:

$ sudo env PATH="$PATH" tlmgr path add

It seems that not only do you have to tell sudo which $PATH it uses, you also have to tell tlmgr which path it can be called by. At least that is how I understand it. If the above command gave the error “env: 'tlmgr': No such file or directory”, run the following command.

source /etc/profile

This fixed all my problems, and since I am pretty sure that I am not the only person who uses bedrock with voidlinux and tlmgr I feel the need to put this solution out there.

Best Regards,
Philip

Back