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
|
||||
@@ -12,7 +12,12 @@
|
||||
./starship.nix
|
||||
./zellij.nix
|
||||
];
|
||||
|
||||
cli.stt-ptt = {
|
||||
enable = true;
|
||||
whisperPackage = pkgs.whisper-cpp-vulkan;
|
||||
model = "ggml-large-v3-turbo";
|
||||
notifyTimeout = 2000;
|
||||
};
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
@@ -192,6 +197,7 @@
|
||||
agenix-cli
|
||||
alejandra
|
||||
bc
|
||||
bun
|
||||
claude-code
|
||||
comma
|
||||
coreutils
|
||||
@@ -209,6 +215,7 @@
|
||||
llm
|
||||
lf
|
||||
nix-index
|
||||
libnotify
|
||||
nushellPlugins.skim
|
||||
progress
|
||||
ripgrep
|
||||
|
||||
@@ -25,7 +25,7 @@ in {
|
||||
$env.FZF_DEFAULT_COMMAND = "fd --type f --exclude .git --follow --hidden"
|
||||
$env.SSH_AUTH_SOCK = "/run/user/1000/gnupg/S.gpg-agent.ssh"
|
||||
$env.FLAKE = $"($env.HOME)/p/nixos/nixos-config"
|
||||
$env.PATH = ($env.PATH | split row (char esep) | prepend $"($env.HOME)/.cache/.bun/bin" | uniq)
|
||||
$env.PATH = ($env.PATH | split row (char esep) | append "/home/m3tam3re/.cache/.bun/bin" | uniq)
|
||||
source /run/agenix/${config.home.username}-secrets
|
||||
'';
|
||||
configFile.text = ''
|
||||
|
||||
Reference in New Issue
Block a user