nix-config/home/cli.nix

87 lines
1.8 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ pkgs, ... }:
{
# Universal CLI tools for all hosts
home.packages = with pkgs; [
# File navigation & viewing
eza
bat
ripgrep
fd
fzf
tree
# System info
htop
tldr
fastfetch
tree
# Editor
micro
# Node
pnpm # fast node package manager
# Secrets
(pass.withExtensions (ext: [ ext.pass-otp ]))
gpgme
gnupg
# Extras
ollama # CLI для LLM
delta # красивый git diff (synonym: git-delta)
alejandra # nix-форматтер
broot # tree с превью
trash-cli # rm с корзиной
texliveFull # LaTeX (~4GB, для математики)
];
# TODO: global npm/pnpm packages not managed by nix for now
# install manually: pnpm i -g @mariozechner/pi-coding-agent
# GPG agent for password caching
services.gpg-agent = {
enable = true;
defaultCacheTtl = 3600;
enableSshSupport = true;
};
# FZF fuzzy finder
programs.fzf = {
enable = true;
enableZshIntegration = true;
defaultCommand = "fd --type f --hidden --exclude .git";
defaultOptions = [
"--height 40%"
"--layout=reverse"
"--border"
];
};
# Zoxide - smarter cd
programs.zoxide = {
enable = true;
enableZshIntegration = true;
options = [ "--cmd cd" ];
};
# Bat - cat with syntax highlighting
programs.bat = {
enable = true;
config = {
theme = "Catppuccin Mocha";
italic-text = "always";
style = "numbers,changes,header";
};
};
# Eza - modern ls replacement
programs.eza = {
enable = true;
icons = "auto";
git = true;
};
# Fastfetch - system info (using package only, no home-manager module)
# Config is in ~/.config/fastfetch/config.jsonc manually for now
}