2025-06-23 17:44:56 -07:00
|
|
|
# Default commandline utility packages.
|
|
|
|
|
# These are installed on all systems for essential functionality.
|
|
|
|
|
# Organized by category for maintainability.
|
|
|
|
|
|
|
|
|
|
{ config, pkgs, ... }: {
|
|
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
|
|
|
|
|
# === CORE SYSTEM UTILITIES ===
|
|
|
|
|
# Essential command-line tools for basic system operations
|
|
|
|
|
|
|
|
|
|
bc # Command-line calculator
|
|
|
|
|
coreutils # Basic file, shell and text manipulation utilities
|
|
|
|
|
file # Determine file types
|
2025-09-20 10:38:02 -07:00
|
|
|
tree # Show ASCII formatted directory tree
|
2025-06-23 17:44:56 -07:00
|
|
|
which # Locate commands in PATH
|
|
|
|
|
|
|
|
|
|
# === TEXT EDITORS AND VIEWERS ===
|
|
|
|
|
# Basic text editing and viewing capabilities
|
|
|
|
|
|
|
|
|
|
nano # Simple, user-friendly text editor
|
|
|
|
|
|
|
|
|
|
# === VERSION CONTROL ===
|
|
|
|
|
# Source code management
|
|
|
|
|
|
|
|
|
|
git # Distributed version control system
|
|
|
|
|
|
|
|
|
|
# === SEARCH AND FILTERING ===
|
|
|
|
|
# Tools for finding and processing text/files
|
|
|
|
|
|
|
|
|
|
gnugrep # Pattern matching and text search
|
|
|
|
|
ripgrep # Fast text search tool (rg)
|
|
|
|
|
|
|
|
|
|
# === FILE MANAGERS ===
|
|
|
|
|
# Interactive file management
|
|
|
|
|
|
|
|
|
|
mc # Midnight Commander - text-based file manager
|
|
|
|
|
|
|
|
|
|
# === NETWORK UTILITIES ===
|
|
|
|
|
# Network diagnostics and file transfer
|
|
|
|
|
|
|
|
|
|
curl # Command-line HTTP client
|
|
|
|
|
nmap # Network exploration and security auditing
|
|
|
|
|
openssl # Cryptographic toolkit and SSL/TLS library
|
|
|
|
|
wget # File downloader
|
|
|
|
|
|
|
|
|
|
# === SYNC AND BACKUP ===
|
|
|
|
|
# File synchronization and backup tools
|
|
|
|
|
|
|
|
|
|
rsync # Fast, versatile file copying tool
|
|
|
|
|
|
|
|
|
|
# === FILE UTILITIES ===
|
|
|
|
|
# File manipulation and organization
|
|
|
|
|
|
|
|
|
|
jq # JSON processor
|
|
|
|
|
ncdu # Disk usage analyzer with ncurses interface
|
|
|
|
|
pv # Progress viewer for data through pipes
|
|
|
|
|
renameutils # Bulk file renaming utilities
|
|
|
|
|
|
|
|
|
|
# === COMPRESSION AND ARCHIVES ===
|
|
|
|
|
# Support for various compression formats
|
|
|
|
|
|
|
|
|
|
lzip # Lzip compression
|
|
|
|
|
pigz # Parallel gzip implementation
|
|
|
|
|
unzip # Extract ZIP archives
|
|
|
|
|
xz # XZ compression utilities
|
|
|
|
|
zip # Create ZIP archives
|
|
|
|
|
zstd # Zstandard compression
|
|
|
|
|
|
|
|
|
|
# === SYSTEM MONITORING ===
|
|
|
|
|
# Performance monitoring and system information
|
|
|
|
|
|
|
|
|
|
bmon # Network bandwidth monitor
|
|
|
|
|
htop # Interactive process viewer
|
|
|
|
|
lsof # List open files and network connections
|
|
|
|
|
|
|
|
|
|
# === TERMINAL AND SHELL ===
|
|
|
|
|
# Terminal functionality and shell tools
|
|
|
|
|
|
|
|
|
|
screen # Terminal multiplexer
|
|
|
|
|
rxvt-unicode-unwrapped.terminfo # Terminal info for urxvt
|
|
|
|
|
|
|
|
|
|
# === DEVELOPMENT TOOLS ===
|
|
|
|
|
# Development and debugging utilities
|
|
|
|
|
|
|
|
|
|
xxd # Hex dump utility
|
|
|
|
|
|
|
|
|
|
# === HARDWARE UTILITIES ===
|
|
|
|
|
# Hardware information and diagnostics
|
|
|
|
|
|
|
|
|
|
pciutils # PCI bus utilities (lspci)
|
|
|
|
|
smartmontools # Hard drive health monitoring
|
|
|
|
|
|
|
|
|
|
# === DISK AND STORAGE ===
|
|
|
|
|
# Storage testing and management
|
|
|
|
|
|
|
|
|
|
disk-filltest # Disk testing utility
|
|
|
|
|
|
|
|
|
|
] ++ (if pkgs.stdenv.isLinux then [
|
|
|
|
|
# === LINUX-SPECIFIC PACKAGES ===
|
|
|
|
|
# Packages that are only available/useful on Linux systems
|
|
|
|
|
|
|
|
|
|
# --- KERNEL AND SYSTEM ---
|
|
|
|
|
|
|
|
|
|
config.boot.kernelPackages.cpupower # CPU frequency utilities
|
|
|
|
|
|
|
|
|
|
# --- NETWORK ADMINISTRATION ---
|
|
|
|
|
|
|
|
|
|
iptables # Firewall administration
|
|
|
|
|
ethtool # Ethernet device configuration
|
|
|
|
|
|
|
|
|
|
# --- HARDWARE MANAGEMENT ---
|
|
|
|
|
|
2025-06-25 23:35:24 -07:00
|
|
|
dmidecode # DMI/SMBIOS information
|
2025-06-23 17:44:56 -07:00
|
|
|
hdparm # Hard disk parameter tuning
|
2025-06-25 23:35:24 -07:00
|
|
|
lshw # Hardware information tool
|
2025-06-23 17:44:56 -07:00
|
|
|
usbutils # USB device utilities (lsusb)
|
|
|
|
|
|
|
|
|
|
# --- PROCESS AND SYSTEM MONITORING ---
|
|
|
|
|
|
|
|
|
|
iotop # I/O monitoring by process
|
|
|
|
|
psmisc # Additional process utilities (killall, pstree)
|
|
|
|
|
|
|
|
|
|
# --- COMPRESSION (Linux-specific) ---
|
|
|
|
|
|
|
|
|
|
unrar # Extract RAR archives (non-free)
|
|
|
|
|
|
|
|
|
|
# --- FILE SYSTEM UTILITIES ---
|
|
|
|
|
|
|
|
|
|
inotify-tools # File system event monitoring
|
2025-06-25 23:35:24 -07:00
|
|
|
rclone # Cloud storage sync tool
|
2025-06-23 17:44:56 -07:00
|
|
|
sshfs # Mount remote filesystems over SSH
|
|
|
|
|
|
|
|
|
|
] else [
|
|
|
|
|
]) ++ (if pkgs.stdenv.isDarwin then [
|
|
|
|
|
|
|
|
|
|
# === MACOS-SPECIFIC PACKAGES ===
|
|
|
|
|
# Packages specifically for macOS systems
|
|
|
|
|
|
|
|
|
|
# Currently empty - add macOS-specific tools here as needed
|
|
|
|
|
# Examples: darwin.apple_sdk.frameworks.Security
|
|
|
|
|
|
|
|
|
|
] else []);
|
|
|
|
|
}
|