Initial shared NixOS modules
This commit is contained in:
143
system/default/packages.nix
Normal file
143
system/default/packages.nix
Normal file
@@ -0,0 +1,143 @@
|
||||
# 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
|
||||
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
|
||||
|
||||
rclone # Cloud storage sync tool
|
||||
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
|
||||
|
||||
lshw # Hardware information tool
|
||||
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 ---
|
||||
|
||||
hdparm # Hard disk parameter tuning
|
||||
usbutils # USB device utilities (lsusb)
|
||||
dmidecode # DMI/SMBIOS information
|
||||
|
||||
# --- 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
|
||||
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 []);
|
||||
}
|
||||
Reference in New Issue
Block a user