mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:46 +01:00
* refactor(shells): use native Home Manager Nushell environment Replace the Bash login-shell wrapper and hand-maintained Nushell PATH with programs.nushell.loadSessionVariables and home.sessionPath. Launch Nushell directly from Kitty, Ghostty, and Zed, with the macOS config-home override and Ghostty's vendor autoload directory. Upstream feature: https://github.com/nix-community/home-manager/pull/9666 Assisted-by: DeepSeek Harness (deepseek-flash) * feat(hosts): use Nushell as login shell on Ruby and Kana Set the per-user shell explicitly and add Nushell to the system shell list. The system default shell and root remain unchanged. Assisted-by: DeepSeek Harness (deepseek-flash) * fix(ssh): preserve tuios session marker across SSH Forward TUIOS_SESSION and accept it on NixOS sshd, so an SSH session opened from inside tuios does not auto-attach a nested remote tuios. Assisted-by: DeepSeek Harness (deepseek-flash) * feat(nixos): use Nushell login shell on non-desktop hosts Enable the Nushell login shell through a shared module imported by the server and agent profiles. Desktop profiles continue to use Bash. Assisted-by: DeepSeek Harness (deepseek-flash) * fix(tuios): skip auto-attach in SSH sessions Remote interactive shells now stay plain Nushell instead of starting a nested TUIOS when the SSH client is already inside a local TUIOS session. Local TUIOS auto-start is unchanged. Assisted-by: DeepSeek Harness (deepseek-flash)
44 lines
1.2 KiB
Nix
44 lines
1.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
###########################################################
|
|
#
|
|
# Ghostty Configuration
|
|
#
|
|
# TUIOS provides tabs, panes, scrollback and copy mode, so ghostty
|
|
# only needs a font, transparency and the kitty graphics protocol
|
|
# (built in).
|
|
#
|
|
###########################################################
|
|
{
|
|
programs.ghostty = {
|
|
enable = true;
|
|
package =
|
|
if pkgs.stdenv.hostPlatform.isDarwin then
|
|
null # installed via Homebrew cask on darwin
|
|
else
|
|
pkgs.ghostty;
|
|
enableBashIntegration = false;
|
|
installBatSyntax = false;
|
|
settings = {
|
|
font-family = "Maple Mono NF CN";
|
|
font-size = lib.mkDefault 13; # macOS overrides this in home/darwin/terminal.nix
|
|
|
|
# hide title bar/header bar (Linux only; on macOS it would remove the traffic lights too)
|
|
window-decoration = pkgs.stdenv.hostPlatform.isDarwin;
|
|
|
|
# transparency
|
|
background-opacity = 0.85;
|
|
background-blur-radius = 10; # macOS only
|
|
|
|
# Start fullscreen on macOS; window managers control this on Linux.
|
|
fullscreen = pkgs.stdenv.hostPlatform.isDarwin;
|
|
|
|
command = "${lib.getExe config.programs.nushell.package} --config-home ${config.programs.nushell.configDir}";
|
|
};
|
|
};
|
|
}
|