Two issues surfaced on the live neogaia session. Hyprland rejected two names at load: the split toggle is a dwindle layout message reached through layoutmsg, not a top-level dispatcher, and dwindle:pseudotile no longer exists in this version. Bind Super+T via layoutmsg and drop the pseudotile option. Ghostty also cold-started GTK on every launch. Configure it through home-manager with gtk-single-instance so windows after the first open in the existing process. Record the dispatcher/option version-drift trap in CLAUDE.md.
24 lines
529 B
Nix
24 lines
529 B
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
# Ghostty as the desktop terminal.
|
|
let
|
|
cfg = config.modules.desktop.terminal;
|
|
user = config.user.name;
|
|
in
|
|
{
|
|
options.modules.desktop.terminal.enable = lib.mkEnableOption "Ghostty as the desktop terminal";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home-manager.users.${user}.programs.ghostty = {
|
|
enable = true;
|
|
|
|
# Reuse a single process, so each window after the first opens instantly
|
|
# instead of paying a fresh GTK startup.
|
|
settings.gtk-single-instance = true;
|
|
};
|
|
};
|
|
}
|