mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
refactor(shells): use native Home Manager Nushell and Nushell login on non-desktop hosts (#513)
* 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)
This commit is contained in:
1 parent
e3bc8cbe4c
commit
d8b298019a
10 files changed
+40
-49
No files matched your search
+8
-16
@@ -1,22 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
envExtra = ''
|
||||
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
|
||||
'';
|
||||
in
|
||||
{ config, ... }:
|
||||
{
|
||||
# Homebrew's default install location:
|
||||
# /opt/homebrew for Apple Silicon
|
||||
# /usr/local for macOS Intel
|
||||
# The prefix /opt/homebrew was chosen to allow installations
|
||||
# in /opt/homebrew for Apple Silicon and /usr/local for Rosetta 2 to coexist and use bottles.
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
bashrcExtra = lib.mkAfter envExtra;
|
||||
};
|
||||
# Homebrew install locations for Apple Silicon and Intel.
|
||||
home.sessionPath = [
|
||||
"/opt/homebrew/bin"
|
||||
"/usr/local/bin"
|
||||
];
|
||||
|
||||
programs.bash.enable = true;
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
dotDir = "${config.xdg.configHome}/zsh";
|
||||
inherit envExtra;
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user