Files
nix-config-ryan4yin/home
ryan4yin | 二花 d8b298019a 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)
2026-11-03 22:31:24 +08:00
..

Home Manager's Submodules

This directory contains all Home Manager configurations organized by platform and functionality.

Current Structure

home/
├── base/              # Cross-platform home manager configurations (see base/README.md)
├── linux/             # Linux-specific home manager configurations
│   ├── base/          # Linux base configurations
│   ├── gui/           # Linux GUI applications
│   │   ├── i3/        # i3 — headless computer-use session (see i3/README.md)
│   │   ├── niri/      # Niri window manager
│   │   └── ...
│   └── ...
├── hosts/             # Host-specific home manager entry modules
│   ├── linux/         # Linux host home modules (idols-ai, 12kingdoms-shoukei, idols-aquamarine, idols-kana, idols-ruby)
│   └── darwin/        # macOS host home modules (fern, frieren)
└── darwin/            # macOS-specific home manager configurations
    ├── proxy/         # Proxy configurations
    └── ...

Module Overview

  1. base: The base module suitable for both Linux and macOS

    • Cross-platform applications and settings
    • Shared configurations for editors, shells, and essential tools
  2. linux: Linux-specific configuration

    • Desktop environments (Noctalia Shell, Niri compositor)
    • Headless computer-use session (see linux/gui/i3/README.md)
    • Linux-specific GUI applications
    • System integration tools
  3. darwin: macOS-specific configuration

    • macOS applications and services
    • Platform-specific integrations (Squirrel, etc.)
  4. hosts: Host entry modules for Home Manager

    • Each output should reference only one host home module file
    • Host modules are responsible for importing shared stacks (home/linux/* or home/darwin) and applying host overrides