Chris Marusich <cmmarus...@gmail.com> writes: > Ricardo Wurmus <rek...@elephly.net> writes: > >> NixOS encountered the same problem: >> >> https://github.com/NixOS/nixpkgs/pull/14568 >> >> I don’t like their solution to set a variable NIX_PROFILES and let GTK >> look for immodule files in each of the directories. > > Why don't you like their solution? Why do you believe that your > proposed solution is better than their solution? We should make sure to > choose the best solution available, and right now I'm not sure which one > is better.
I find it very inelegant to ask users to specify a list of directories containing profiles. A mechanism like that also seems like a hack to me, and I’m afraid that we would begin to rely more and more on this to “solve” other problems. Splitting a variable that GTK is already using anyway into two different versions just seems a lot cleaner to me. The variable won’t even need to be exposed to most users; we could set it automatically when generating profiles. Eventually this will disappear once the GTK devs retire support for separate input method modules (I guess this would make IBus a hard dependency on GNU systems). At that point we can easily drop our patches and the profile hook; a generic GUIX_PROFILES variable, on the other hand, would be more difficult to deprecate if it becomes more popular (as it has a much broader scope). >> Instead, I think we should patch both GTK versions to respect >> GUIX_GTK2_IM_MODULE_FILE and GUIX_GTK3_IM_MODULE_FILE, and generate >> the immodule cache files in a profile hook. >> >> We did something similar before with GUIX_GTK2_PATH and GUIX_GTK3_PATH. > > I believe you are referring to this thread: > > https://lists.gnu.org/archive/html/guix-devel/2015-12/msg00046.html > > Did that patch actually get committed? If so, why didn't it solve the > problem? I've read all the relevant discussions I could find [1], and > it isn't clear to me why we need to do what you're suggesting ("patch > both GTK versions to respect GUIX_GTK2_IM_MODULE_FILE and > GUIX_GTK3_IM_MODULE_FILE, and generate the immodule cache files in a > profile hook") if we've already committed the patch presented in the > thread above. Yes, that patch got committed and it actually solved a problem. It is a different problem, though. GTK really assumes modules to be in one place, which means that with immutable directories we have no other way to make things work. ~~ Ricardo