{ config, lib, pkgs, ... }:

{
  home.file.".XCompose".text = ''
      # The extra slash needed to convince GTK to load the file instead of an internal table.
      # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5150
      # Though it is only relevant for gtk-im-context-simple, which will not be used
      # while we use ibus as an input method.
      include "/%L"


      <Multi_key> <'> <c> : "ç"
      <Multi_key> <Shift> <'> <c> : "Ç"

      # https://unicode-table.com/en/blocks/mathematical-operators/
      # <Multi_key> <A> <A> : "∀"
      # <Multi_key> <E> <E> : "∃"
      # <Multi_key> <N> <E> : "∄"
      # <Multi_key> <i> <n> : "∈"
      # <Multi_key> <n> <i> <n> : "∉"
      # <Multi_key> <n> <i> : "∋"
      # <Multi_key> <n> <n> <i> : "∌"
      # <Multi_key> <s> <u> <m> : "∑"
      # <Multi_key> <p> <r> <o> <d> : "∏"
      # <Multi_key> <s> <q> <r> <t> : "√"
      # <Multi_key> <s> <e> <q> : "⊆"
      # <Multi_key> <S> <e> <q> : "⊇"
      # <Multi_key> <n> <o> <t> : "¬"
      # <Multi_key> <c> <o> <n> : "∧"
      # <Multi_key> <d> <i> <s> : "∨"
      # <Multi_key> <c> <a> <p> : "∩"
      # <Multi_key> <c> <u> <p> : "∪"
      # <Multi_key> <i> <f> <f> : "⇔"
      # <Multi_key> <b> <o> <t> : "⊥"
    '';
}
