stt, mem0, rofi-project-opener
This commit is contained in:
65
home/features/cli/AGENTS.md
Normal file
65
home/features/cli/AGENTS.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user