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 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)
Home Manager's Base Submodules
This directory contains cross-platform base configurations that are shared between Linux and Darwin systems.
Configuration Structure
Core System
- core/: Essential cross-platform configurations
- core.nix: Minimal home-manager configuration
- shells/: Shell configurations (bash, Nushell; zsh is Darwin-only under
home/darwin/) - editors/: Helix + Neovim (Home Manager) and usage docs (
README.mdper editor) - btop.nix: System monitoring tools
- git.nix: Git configuration and aliases
- npm.nix: Node.js package management
- pip.nix: Python package management
- privacy.nix: Cross-app telemetry opt-out (
DO_NOT_TRACK) - starship.nix: Cross-shell prompt configuration
- theme.nix: Color schemes and theming
- xdg.nix: XDG base-directory configuration
- yazi.nix: Terminal file manager configuration
Desktop Environment
- gui/: Cross-platform GUI applications and configurations
- dev-tools.nix: Misc development and network tools (mitmproxy, wireshark)
- media.nix: Media players and utilities
- zed-editor.nix: Zed editor configuration (primary GUI editor)
- rime/: Rime (flypy) customisation shared by fcitx5-rime (Linux) and Squirrel (macOS)
- terminal/: Terminal emulator configurations
- ghostty.nix: Ghostty terminal (default)
- kitty.nix: Kitty terminal
- work-gitconfig.nix: Work git identity for repositories under
~/work, linked from agenix
Terminal Interface
- tui/: Terminal-based interface configurations
- agents/: AI coding agents — global rules and skills deployment, CLIs, and telemetry/auto-update opt-outs
- cloud/: Cloud development tools (Terraform, etc.)
- container.nix: Container tools (Docker, Podman)
- dev-tools.nix: Terminal-based development tools
- editors/: Extra terminal editor Nix (see
core/editors/for docs and baseline enables) - encryption/: Encryption and security tools
- gpg/: GPG key management
- password-store/: Password management with pass
- shell/: Shell environment configurations
- ssh.nix: SSH configuration and management
- tuios/: Terminal window manager / multiplexer (config + nushell auto-start)
System Management
- home.nix: Main home manager configuration file
Platform Compatibility
All configurations in this directory are designed to work across:
- Linux: All distributions with Nix and Home Manager
- macOS: Darwin systems with Home Manager
Usage
These base configurations provide the foundation for both Linux and Darwin systems while allowing for platform-specific customizations.