Merge pull request #6765 from gebner/ibus-plugins
Add ibus-qt and ibus-anthy.
This commit is contained in:
commit
14ed261fc7
@ -80,6 +80,7 @@
|
|||||||
garbas = "Rok Garbas <rok@garbas.si>";
|
garbas = "Rok Garbas <rok@garbas.si>";
|
||||||
garrison = "Jim Garrison <jim@garrison.cc>";
|
garrison = "Jim Garrison <jim@garrison.cc>";
|
||||||
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
|
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
|
||||||
|
gebner = "Gabriel Ebner <gebner@gebner.org>";
|
||||||
globin = "Robin Gloster <robin@glob.in>";
|
globin = "Robin Gloster <robin@glob.in>";
|
||||||
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
||||||
gridaphobe = "Eric Seidel <eric@seidel.io>";
|
gridaphobe = "Eric Seidel <eric@seidel.io>";
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
./programs/dconf.nix
|
./programs/dconf.nix
|
||||||
./programs/environment.nix
|
./programs/environment.nix
|
||||||
./programs/info.nix
|
./programs/info.nix
|
||||||
|
./programs/ibus.nix
|
||||||
./programs/light.nix
|
./programs/light.nix
|
||||||
./programs/nano.nix
|
./programs/nano.nix
|
||||||
./programs/screen.nix
|
./programs/screen.nix
|
||||||
|
51
nixos/modules/programs/ibus.nix
Normal file
51
nixos/modules/programs/ibus.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.programs.ibus;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
|
||||||
|
programs.ibus = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Enable IBus input method";
|
||||||
|
};
|
||||||
|
plugins = mkOption {
|
||||||
|
type = lib.types.listOf lib.types.path;
|
||||||
|
default = [];
|
||||||
|
description = ''
|
||||||
|
IBus plugin packages
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.ibus ];
|
||||||
|
|
||||||
|
gtkPlugins = [ pkgs.ibus ];
|
||||||
|
qtPlugins = [ pkgs.ibus-qt ];
|
||||||
|
|
||||||
|
environment.variables =
|
||||||
|
let
|
||||||
|
env = pkgs.buildEnv {
|
||||||
|
name = "ibus-env";
|
||||||
|
paths = [ pkgs.ibus ] ++ cfg.plugins;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
GTK_IM_MODULE = "ibus";
|
||||||
|
QT_IM_MODULE = "ibus";
|
||||||
|
XMODIFIERS = "@im=ibus";
|
||||||
|
|
||||||
|
IBUS_COMPONENT_PATH = "${env}/share/ibus/component";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.displayManager.sessionCommands = "${pkgs.ibus}/bin/ibus-daemon --daemonize --xim --cache=none";
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/tools/inputmethods/ibus-anthy/default.nix
Normal file
29
pkgs/tools/inputmethods/ibus-anthy/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ stdenv, fetchurl, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection, python, pythonPackages }:
|
||||||
|
|
||||||
|
let version = "1.5.4";
|
||||||
|
in stdenv.mkDerivation {
|
||||||
|
name = "ibus-anthy-${version}";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "IBus interface to the anthy input method";
|
||||||
|
homepace = https://code.google.com/p/ibus/;
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ gebner ];
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection python pythonPackages.pygobject3 ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
for file in "$out"/libexec/*; do
|
||||||
|
wrapProgram "$file" \
|
||||||
|
--prefix PYTHONPATH : $PYTHONPATH \
|
||||||
|
--prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://ibus.googlecode.com/files/ibus-anthy-${version}.tar.gz";
|
||||||
|
sha256 = "4c0a8b88a2c547e72173a7d682d82797f6c65fe712abe5f3b89495d4eec7b031";
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/tools/inputmethods/ibus-qt/default.nix
Normal file
25
pkgs/tools/inputmethods/ibus-qt/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, fetchurl, ibus, cmake, pkgconfig, qt4, icu, doxygen }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "ibus-qt-${version}";
|
||||||
|
version = "1.3.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://ibus.googlecode.com/files/${name}-Source.tar.gz";
|
||||||
|
sha256 = "070c8ef4e6c74eddf7ddf4385936aed730c2dfe2160162e5c56b5158d1061a76";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
ibus cmake pkgconfig qt4 icu doxygen
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://code.google.com/p/ibus/;
|
||||||
|
description = "Qt4 interface to the ibus input method";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
maintainers = with maintainers; [ gebner ];
|
||||||
|
};
|
||||||
|
}
|
@ -959,6 +959,12 @@ let
|
|||||||
|
|
||||||
anthy = callPackage ../tools/inputmethods/anthy { };
|
anthy = callPackage ../tools/inputmethods/anthy { };
|
||||||
|
|
||||||
|
ibus = callPackage ../tools/inputmethods/ibus { };
|
||||||
|
|
||||||
|
ibus-qt = callPackage ../tools/inputmethods/ibus-qt { };
|
||||||
|
|
||||||
|
ibus-anthy = callPackage ../tools/inputmethods/ibus-anthy { };
|
||||||
|
|
||||||
biosdevname = callPackage ../tools/networking/biosdevname { };
|
biosdevname = callPackage ../tools/networking/biosdevname { };
|
||||||
|
|
||||||
clamav = callPackage ../tools/security/clamav { };
|
clamav = callPackage ../tools/security/clamav { };
|
||||||
@ -4974,8 +4980,6 @@ let
|
|||||||
|
|
||||||
hyenae = callPackage ../tools/networking/hyenae { };
|
hyenae = callPackage ../tools/networking/hyenae { };
|
||||||
|
|
||||||
ibus = callPackage ../development/libraries/ibus { };
|
|
||||||
|
|
||||||
icmake = callPackage ../development/tools/build-managers/icmake { };
|
icmake = callPackage ../development/tools/build-managers/icmake { };
|
||||||
|
|
||||||
iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils {
|
iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user