Files
nixos-config/home/features/cli/AGENTS.md
2026-01-02 15:12:26 +01:00

2.0 KiB

CLI FEATURES (home-manager)

Shell and terminal tooling with Fish + Nushell dual configuration

OVERVIEW

8 CLI modules with integrated tooling across Fish and Nushell shells.

STRUCTURE

cli/
├── default.nix      # Imports + shared tools (bat, eza, direnv)
├── fish.nix         # Fish shell + aliases
├── fzf.nix          # Fuzzy finder
├── nitch.nix        # System info tool
├── nushell.nix      # Nushell + aliases
├── secrets.nix      # Password-store integration
├── starship.nix     # Shell prompt
└── zellij.nix       # Terminal multiplexer

WHERE TO LOOK

Task Location Notes
Add CLI tool default.nix home.packages Check if shell integration needed
Shell aliases fish.nix or nushell.nix Kept in sync between shells
Prompt config starship.nix Uses nerd-fonts symbols
Secret access secrets.nix Agenix integration

CONVENTIONS

Shell Integration Pattern

Tools with shell hooks enabled in both Fish and Nushell:

  • carapace: Completions
  • zoxide: Smart cd
  • eza: ls replacement
  • direnv: Directory environments
  • fzf: Fuzzy finding

NixOS Rebuild Aliases (both shells)

nr/nrs    - nixos-rebuild [switch]
snr/snrs  - sudo nixos-rebuild [switch]
hms       - home-manager switch

Bat Theme

Custom universal theme generated from nix-colors palette in default.nix (lines 34-157).

Secrets Integration

Fish/Nushell source $HOME/.secrets if secrets.enable = true (CLI secrets feature).

ANTI-PATTERNS

  • DON'T add aliases to only one shell - keep Fish/Nushell in sync
  • DON'T use programs.bash - Nushell is default shell
  • DON'T bypass carapace for completions - integrated by default

NOTES

  • zellij-ps custom package for project session management
  • Default shell set to Nushell in hosts/common/default.nix
  • Bat theme dynamically generated (no external theme files)
  • lf file manager uses bat for previews
  • Agenix CLI (agenix-cli) included for secret management