chore: drop makima/Typora/xournalpp; gate fcitx5/voxtype/opencode behind options
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>
This commit is contained in:
@@ -17,12 +17,12 @@
|
||||
./network.nix
|
||||
./impermanence.nix
|
||||
./browser.nix
|
||||
./makima.nix
|
||||
# Tier 1 system features (all opt-in via nomarchy.system.*).
|
||||
./snapper.nix
|
||||
./hibernate.nix
|
||||
./containers.nix
|
||||
./pam.nix
|
||||
./input-method.nix
|
||||
../../themes/engine/plymouth.nix
|
||||
../../themes/engine/sddm.nix
|
||||
];
|
||||
|
||||
22
core/system/input-method.nix
Normal file
22
core/system/input-method.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ 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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.nomarchy.system.features.makima;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg {
|
||||
# If the user has makima-bin available in their overlays (as they originally used a custom package),
|
||||
# this will install it. Otherwise, it will fail evaluation if not available in nixpkgs.
|
||||
environment.systemPackages = [ pkgs.makima-bin ];
|
||||
|
||||
environment.etc."makima/AT Translated Set 2 keyboard.toml".source = ../../features/apps/makima + "/AT Translated Set 2 keyboard.toml";
|
||||
|
||||
systemd.services.makima = {
|
||||
description = "Makima key remapping service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = config.services.displayManager.autoLogin.user;
|
||||
Environment = "MAKIMA_CONFIG=/etc/makima";
|
||||
ExecStart = "${pkgs.makima-bin}/bin/makima";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -40,11 +40,6 @@
|
||||
default = false;
|
||||
description = "Whether to enable hybrid GPU support (supergfxd).";
|
||||
};
|
||||
makima = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable makima key remapper.";
|
||||
};
|
||||
};
|
||||
theme = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
@@ -102,5 +97,22 @@
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
inputMethod = {
|
||||
enable = lib.mkEnableOption ''
|
||||
fcitx5 input method (CJK / IME). Wires NixOS's i18n.inputMethod and
|
||||
autostarts fcitx5-daemon. Adds a small footprint when enabled, so
|
||||
most users want this off.
|
||||
'';
|
||||
};
|
||||
|
||||
voxtype = {
|
||||
enable = lib.mkEnableOption ''
|
||||
voxtype voice-typing integration. NOTE: voxtype is not packaged in
|
||||
nixpkgs — when enabled, install voxtype yourself (e.g. via
|
||||
`home.packages = [ (pkgs.callPackage … {}) ]`). With this off the
|
||||
SUPER+CTRL+X keybinding and waybar widget are no-ops.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Restart makima - key remapping service for remapping Copilot key to Nomarchy Menu
|
||||
|
||||
sudo systemctl restart makima
|
||||
@@ -14,7 +14,6 @@ in
|
||||
fingerprint = systemState.features.fingerprint or false;
|
||||
fido2 = systemState.features.fido2 or false;
|
||||
hybridGPU = systemState.features.hybridGPU or false;
|
||||
makima = systemState.features.makima or false;
|
||||
};
|
||||
theme = systemState.theme or "nord";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user