This package providesa completion input method for faster typing. See https://mike-fabian.github.io/ibus-typing-booster Detailed instructions how to activate this IBus engine on your desktop can be found in the upstream docs: https://mike-fabian.github.io/ibus-typing-booster/documentation.html A simple VM with the Gnome3 desktop and activated `ibus' looks like this: ```nix { emojipicker = { pkgs, ... }: { services.xserver = { enable = true; desktopManager.gnome3.enable = true; desktopManager.xterm.enable = false; }; users.extraUsers.vm = { password = "vm"; isNormalUser = true; }; i18n.inputMethod.ibus.engines = [ pkgs.ibus-engines.typing-booster ]; i18n.inputMethod.enabled = "ibus"; virtualisation.memorySize = 2048; }; } ``` Fixes #38721wip/yesman
parent
d3d465e32f
commit
dee2dab7c6
@ -0,0 +1,41 @@ |
||||
{ stdenv, fetchFromGitHub, autoreconfHook, python3, ibus, pkgconfig, gtk3, m17n_lib |
||||
, wrapGAppsHook, gobjectIntrospection |
||||
}: |
||||
|
||||
let |
||||
|
||||
python = python3.withPackages (ps: with ps; [ |
||||
pygobject3 |
||||
dbus-python |
||||
]); |
||||
|
||||
in |
||||
|
||||
stdenv.mkDerivation rec { |
||||
name = "ibus-typing-booster-${version}"; |
||||
version = "2.1.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "mike-fabian"; |
||||
repo = "ibus-typing-booster"; |
||||
rev = version; |
||||
sha256 = "01kpxplk9nh56f32fkq3nnsqykbzpi7pcxbfp38dq0prgrhw9a6b"; |
||||
}; |
||||
|
||||
patches = [ ./hunspell-dirs.patch ]; |
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook gobjectIntrospection ]; |
||||
buildInputs = [ python ibus gtk3 m17n_lib ]; |
||||
|
||||
preFixup = '' |
||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${m17n_lib}/lib") |
||||
''; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://mike-fabian.github.io/ibus-typing-booster/; |
||||
license = licenses.gpl3Plus; |
||||
description = "A typing booster engine for the IBus platform"; |
||||
maintainers = with maintainers; [ ma27 ]; |
||||
isIbusEngine = true; |
||||
}; |
||||
} |
@ -0,0 +1,31 @@ |
||||
diff --git a/engine/itb_util.py b/engine/itb_util.py
|
||||
index ded236a..633525a 100755
|
||||
--- a/engine/itb_util.py
|
||||
+++ b/engine/itb_util.py
|
||||
@@ -1876,14 +1876,18 @@ def find_hunspell_dictionary(language):
|
||||
If no dictionary can be found for the requested language,
|
||||
the return value is ('', '').
|
||||
'''
|
||||
- dirnames = [
|
||||
- '/usr/share/hunspell',
|
||||
- '/usr/share/myspell',
|
||||
- '/usr/share/myspell/dicts',
|
||||
- '/usr/local/share/hunspell', # On FreeBSD the dictionaries are here
|
||||
- '/usr/local/share/myspell',
|
||||
- '/usr/local/share/myspell/dicts',
|
||||
- ]
|
||||
+
|
||||
+ if "NIX_HUNSPELL_DIRS" in os.environ:
|
||||
+ dirnames = os.environ["NIX_HUNSPELL_DIRS"].split(":")
|
||||
+ else: # fallback to the original behavior
|
||||
+ dirnames = [
|
||||
+ '/usr/share/hunspell',
|
||||
+ '/usr/share/myspell',
|
||||
+ '/usr/share/myspell/dicts',
|
||||
+ '/usr/local/share/hunspell', # On FreeBSD the dictionaries are here
|
||||
+ '/usr/local/share/myspell',
|
||||
+ '/usr/local/share/myspell/dicts',
|
||||
+ ]
|
||||
dic_path = ''
|
||||
aff_path = ''
|
||||
for language in expand_languages([language]):
|
@ -0,0 +1,30 @@ |
||||
{ typing-booster, symlinkJoin, hunspellDicts, lib, makeWrapper |
||||
, langs ? [ "de-de" "en-us" "es-es" "it-it" "sv-se" "sv-fi" ] |
||||
}: |
||||
|
||||
let |
||||
|
||||
hunspellDirs = with lib; makeSearchPath ":" (flatten (flip map langs (lang: [ |
||||
"${hunspellDicts.${lang}}/share/hunspell" |
||||
"${hunspellDicts.${lang}}/share/myspell" |
||||
"${hunspellDicts.${lang}}/share/myspell/dicts" |
||||
]))); |
||||
|
||||
in |
||||
|
||||
symlinkJoin { |
||||
name = "${typing-booster.name}-with-hunspell"; |
||||
paths = [ typing-booster ]; |
||||
nativeBuildInputs = [ makeWrapper ]; |
||||
|
||||
postBuild = '' |
||||
for i in bin/emoji-picker libexec/ibus-{setup,engine}-typing-booster; do |
||||
wrapProgram "$out/$i" \ |
||||
--prefix NIX_HUNSPELL_DIRS : ${hunspellDirs} |
||||
done |
||||
|
||||
sed -i -e "s,${typing-booster},$out," $out/share/ibus/component/typing-booster.xml |
||||
''; |
||||
|
||||
inherit (typing-booster) meta; |
||||
} |
Loading…
Reference in new issue