Subject: Bad definition of $TEXMF in guix shell containing texlive
From: Elias Kueny <[email-masked]>
To: [email-masked]
Date: Tue, 27 Dec 2022 19:56:40 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

In a shell environment that contains texlive instead of texlive-base, $TEXMF contains the path to texlive packages directly, indead of the path to all packages in the profile. It is a problem for packages obtained from another channel / custom package definitions, which are then not found.

> guix shell texlive -- kpsewhich -all -var-value TEXMF
> {{}/home/elias/.texlive2021/texmf-config,/home/elias/.texlive2021/texmf-var,/home/elias/texmf,/gnu/store/j63hhbhiycaab3rx4fr0g96vybdfxmax-texlive-20210325/share/texmf-local,!!/gnu/store/7binnxi4w7sxlnpns2qa4yc94bfbfkqf-texlive-texmf-20210325/share/texmf-config,!!/gnu/store/7binnxi4w7sxlnpns2qa4yc94bfbfkqf-texlive-texmf-20210325/share/texmf-var,!!/gnu/store/7binnxi4w7sxlnpns2qa4yc94bfbfkqf-texlive-texmf-20210325/share/texmf-dist}

> guix shell texlive-base -- kpsewhich -all -var-value TEXMF
> {/gnu/store/jdfsq5k23cz70p68jmiyjca2asg7r1ll-profile/share/texmf-dist}

My workaround was to set TEXMFHOME to $GUIX_ENVIRONMENT/share/texmf-dist in my (fish) shell configuration so it is expanded when entering the guix environment, but it doesn't work when running the command directly (as in guix shell texlive -- lualatex file).