moar -> moor
Some checks failed
ci/woodpecker/push/build-cache Pipeline failed
ci/woodpecker/cron/dependency-pr Pipeline was successful

This commit is contained in:
Lucy Hochkamp 2025-10-27 10:50:07 +01:00
parent 3df730a55a
commit 6002b09ca6
No known key found for this signature in database
7 changed files with 66 additions and 39 deletions

View file

@ -1,27 +0,0 @@
{
pkgs,
config,
lib,
...
}:
let
cfg = config.xyno.desktop.fcitx5;
in
{
options.xyno.desktop.fcitx5.enable = lib.mkEnableOption "enable fcitx5 input daemon thing";
config = lib.mkIf cfg.enable {
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-table-other
];
fcitx5.waylandFrontend = true;
fcitx5.quickPhrase = {
":pleading:" = "🥺";
":pointing_right:" = "👉";
":pointing_left:" = "👈";
};
};
};
}

52
modules/desktop/ibus.nix Normal file
View file

@ -0,0 +1,52 @@
{
pkgs,
config,
lib,
...
}:
with lib;
let
cfg = config.xyno.desktop.ibus;
in
{
options.xyno.desktop.ibus.enable = mkEnableOption "enable ibus input daemon thing";
options.xyno.desktop.ibus.wantedBy = mkOption {
type = types.str;
default = "niri.service";
};
config = mkIf cfg.enable {
services.libinput.enable = true;
# just... enable ibus as input method and maybe now we have consistent unicode input everywhere
# fuck qt tbh
i18n.inputMethod = {
enable = true;
type = "ibus";
};
systemd.user.services.ibus =
let
ibusPackage = config.i18n.inputMethod.package;
in
assert hasPrefix "ibus-with-plugins" ibusPackage.name;
{
# panel is weird...
# default is ${ibusPackage}/libexec/ibus-ui-gtk3 which works but sends a notification that it's misconfigured
# wayland support can be enabled with --enable-wayland-im but that segfaults (possible due to zwp_input_method_v1 not being available?)
script = ''
exec ${ibusPackage}/bin/ibus-daemon --xim --replace --panel '${ibusPackage}/libexec/ibus-ui-gtk3'
'';
serviceConfig = {
Type = "dbus";
BusName = "org.freedesktop.IBus";
Restart = "on-abnormal";
};
unitConfig = {
CollectMode = "inactive-or-failed";
};
# yeah we hardcoding this now, fuck it
wantedBy = [ cfg.wantedBy ];
partOf = [ "graphical-session.target" ];
};
};
}