Tier A removals — small, half-wired modules nobody had asked for: - makima (Copilot-key remapper): drop core/system/makima.nix, the features/apps/makima/ keyboard.toml, the nomarchy-restart-makima script, the `nomarchy.system.features.makima` option, the state-file binding, the import in core/system/default.nix, and the "Key Remapping" entry in nomarchy-menu. ~50 LoC + a service nobody asked for. - Typora theme dir (core/home/config/Typora/) — Typora is a paid tool Nomarchy doesn't even ship; the SUPER+SHIFT+W keybinding pointed at a binary that wasn't on PATH. - xournalpp settings (core/home/config/xournalpp/) — referenced /usr/share paths that don't exist on NixOS. - core/home/config/environment.d/fcitx.conf — manual env vars are redundant once fcitx5 routes through NixOS's i18n.inputMethod. Optionalization — three half-wired features now sit behind explicit toggles, all default off (except keyring which keeps its existing default-on): - nomarchy.system.inputMethod.enable: new core/system/input-method.nix uses NixOS's i18n.inputMethod with fcitx5 + mozc/chinese/table addons. Drops the Hyprland exec-once line — i18n.inputMethod handles autostart. - nomarchy.system.voxtype.enable: marker option for users who install voxtype out-of-band (it's not in nixpkgs). Today it just documents intent; the existing keybinding + waybar widget no-op gracefully. - nomarchy.apps.opencode.enable: gates the existing features/apps/opencode/default.nix xdg.configFile so the opencode config only deploys when the user opts in. Installer: - system.nix and home.nix templates now surface the new toggles in their "Optional Nomarchy modules" comment blocks. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
23 lines
663 B
Nix
23 lines
663 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.nomarchy.system.inputMethod;
|
|
in
|
|
{
|
|
config = lib.mkIf cfg.enable {
|
|
# NixOS's i18n.inputMethod handles env vars (GTK_IM_MODULE, QT_IM_MODULE,
|
|
# XMODIFIERS, SDL_IM_MODULE) and the fcitx5-daemon autostart for us, so
|
|
# we don't ship a manual environment.d file or Hyprland exec-once.
|
|
i18n.inputMethod = {
|
|
enable = true;
|
|
type = "fcitx5";
|
|
fcitx5.addons = with pkgs; [
|
|
fcitx5-mozc # Japanese
|
|
fcitx5-chinese-addons # Chinese (pinyin/shuangpin)
|
|
fcitx5-table-extra # Hanyu/Cangjie/etc.
|
|
fcitx5-gtk # GTK4/3 client
|
|
];
|
|
};
|
|
};
|
|
}
|