- transmission_4: BitTorrent daemon + -remote/-create/-show/-edit/-cli (transmission alias was removed in nixpkgs in favour of transmission_4) - yt-dlp: download from YouTube and 1000+ sites - himalaya: IMAP/SMTP/JMAP mail CLI (JSON output for agent) - pay: x402/MPP agentic payments CLI via callPackage ./pay.nix
106 lines
2.8 KiB
Nix
106 lines
2.8 KiB
Nix
{ pkgs, ... }:
|
||
{
|
||
# Universal CLI tools for all hosts
|
||
home.packages = with pkgs; [
|
||
# File navigation & viewing
|
||
eza
|
||
bat
|
||
ripgrep
|
||
fd
|
||
fzf
|
||
tree
|
||
wget # download files and recursive sites
|
||
|
||
# System info
|
||
htop
|
||
tldr
|
||
fastfetch
|
||
|
||
# Editor
|
||
micro
|
||
|
||
# Node.js ecosystem
|
||
# nodejs # read-only в nix store не подходит для pi (npm install ломается)
|
||
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, для математики)
|
||
gita # manage multiple git repos
|
||
ffmpeg_7 # видео-конвертация (remux/перекодирование)
|
||
yt-dlp # скачивание с YouTube и 1000+ сайтов (эталонный CLI)
|
||
transmission_4 # BitTorrent: transmission-daemon + -remote + -create/show/edit CLI tools
|
||
himalaya # IMAP/SMTP/JMAP почтовый CLI (JSON-вывод для агента)
|
||
|
||
# x402 / MPP agentic payments CLI (Solana Foundation)
|
||
(pkgs.callPackage ./pay.nix {})
|
||
];
|
||
|
||
# TODO: global npm/pnpm packages not managed by nix for now
|
||
# install manually: pnpm i -g @mariozechner/pi-coding-agent
|
||
# NOTE: pay (x402 CLI) added above via callPackage ./pay.nix
|
||
|
||
# GPG agent is configured in home/pass.nix (only for pass)
|
||
|
||
# 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" ];
|
||
};
|
||
|
||
# Atuin - encrypted shell history with sync
|
||
programs.atuin = {
|
||
enable = true;
|
||
enableZshIntegration = true;
|
||
settings = {
|
||
auto_sync = true;
|
||
sync_frequency = "5m";
|
||
search_mode = "fuzzy";
|
||
style = "compact";
|
||
show_preview = true;
|
||
exit_mode = "return-query";
|
||
};
|
||
};
|
||
|
||
# Bat - cat with syntax highlighting
|
||
programs.bat = {
|
||
enable = true;
|
||
config = {
|
||
theme = "Catppuccin Macchiato";
|
||
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
|
||
}
|