Add input modules (greek and japanese)

This commit is contained in:
marc
2025-10-05 15:43:04 +02:00
parent ed00a90dda
commit 7277d5b080
4 changed files with 95 additions and 4 deletions

View File

@@ -69,6 +69,11 @@ in
system.kanata.enable = true;
system.devices.voyager.enable = true;
system.input = {
japanese.enable = true;
greek.enable = true;
};
# - Desktop ----------------------------------
desktop = {
inherit wallpaper;
@@ -76,8 +81,8 @@ in
# Use Γραφείο (custom) desktop environment
grapheio.enable = true;
# Add greek keyboard layout
wm.hyprland.kb_layout = "es,gr";
# # Add greek keyboard layout -- currently commented as fcitx5 adds greek support
# wm.hyprland.kb_layout = "es,gr";
};
# - Editors and development ------------------
@@ -91,6 +96,7 @@ in
dev.docker.users = ["marc"];
# - Other apps -------------------------------
app.anki.enable = true;
app.spotify.enable = true;
# app.skype.enable = true;
app.nextcloud.enable = true;

View File

@@ -109,8 +109,8 @@ in {
"${cfg.mod} SHIFT, 5, movetoworkspace, 5"
"${cfg.mod} SHIFT, 0, movetoworkspace, 6"
# - Keyboard ---------------------------
"${cfg.mod}, Escape, exec, hyprctl switchxkblayout current next"
# # - Keyboard ---------------------------
# "${cfg.mod}, Escape, exec, hyprctl switchxkblayout current next"
] ++ cfg.extraKeybindings;

View File

@@ -0,0 +1,39 @@
{ config, lib, pkgs, inputs, ... }:
with lib;
let
cfg = config.samfelag.modules.system.input.greek;
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
in
{
options.samfelag.modules.system.input.greek = {
enable = mkEnableOption "Enable greek input";
};
config = mkIf cfg.enable {
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-gtk
fcitx5-nord
];
};
environment.variables = {
GTK_IM_MODULE = "fcitx";
QT_IM_MODULE = "fcitx";
XMODIFIERS = "@im=fcitx";
};
hm.wayland.windowManager.hyprland.settings = lib.mkIf hyprCfg.enable {
windowrule = "pseudo, class:fcitx";
exec-once = [
"fcitx -d -r"
"fcitx-remote -r"
];
};
};
}

View File

@@ -0,0 +1,46 @@
{ config, lib, pkgs, inputs, ... }:
with lib;
let
cfg = config.samfelag.modules.system.input.japanese;
hyprCfg = config.samfelag.modules.desktop.wm.hyprland;
in
{
options.samfelag.modules.system.input.japanese = {
enable = mkEnableOption "Enable japanese input";
};
config = mkIf cfg.enable {
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-mozc-ut
fcitx5-gtk
fcitx5-nord
];
};
fonts.packages = with pkgs; [
ipafont
kochi-substitute
noto-fonts-cjk-sans
];
environment.variables = {
GTK_IM_MODULE = "fcitx";
QT_IM_MODULE = "fcitx";
XMODIFIERS = "@im=fcitx";
};
hm.wayland.windowManager.hyprland.settings = lib.mkIf hyprCfg.enable {
windowrule = "pseudo, class:fcitx";
exec-once = [
"fcitx -d -r"
"fcitx-remote -r"
];
};
};
}