Some headway: It looks like anthyprefs sits under a different directory than the engine script:
$ guix shell --pure ibus ibus-anthy $ ls $GUIX_ENVIRONMENT/share/ibus-anthy/setup/ __pycache__/ _config.py anthyprefs.py main.py prefs.py setup.ui $ ls $GUIX_ENVIRONMENT/share/ibus-anthy/engine/ __pycache__/ _config.py default.xml engine.py factory.py jastring.py kana.py main.py romaji.py segment.py tables.py thumb.py Manually running the engine with a PYTHONPATH fixes the error: $ PYTHONPATH=$GUIX_ENVIRONMENT/share/ibus-anthy/setup $GUIX_ENVIRONMENT/libexec/ibus-engine-anthy However, starting ibus-daemon with PYTHONPATH doesn't do anything. I'm guessing that the environment variable doesn't propagate to engine exec commands. Maybe a problem in the ibus-engine-anthy wrapper script?