💻 About System - Metadata Info

Node.js Shell System Info Metadata
bunx about-systemnpx about-systemA cross-platform Node.js implementation of the system info script with enhanced features, caching, and full customization support.
Examples

👤 deck 🏠 steamdeck 📁 90% 💾 2/14GB 🔝 6% cursor ⏱️  1d 7h 18m 🌎 174.194.193.230 📍 San Jose 🔗 http://230.sub-174-194-193.myvzw.com 👮 Verizon Business ⚡ SteamOS 📈 AMD Custom APU 0405 💻 Jupiter 🔧 6.11.11-valve12-1-neptune-611-g517a46b477e1 🐚 fish 🚀 npm pip docker nvim bun 📦 docker-node
👤 u0_a365 🏠 localhost 📁 54% 💾 1/5GB 🔝 1% fish ⏱️ 4d 9h 19m 🌎 174.194.193.230 🌐 192.168.42.229 📍 San Jose 🔗 http://230.sub-174-194-193.myvzw.com 👮 Verizon Business ⚡ Android 13 📈 Kryo-4XX-Silver 💻 SM-G781U 🔧 4.19.113-27223811 🐚 nu 🚀 apt npm pip hx nvim
Features
- Cross-Platform: Works on Windows, macOS, and Linux
- Smart Caching: Configurable cache durations for different system info types
- Customizable Output: Control which info blocks to show and their order
- Network Info: Fetches IP, location, and ISP data from ipinfo.io
- Emoji Support: Beautiful emoji-enhanced output (can be disabled)
- Settings Management: Persistent configuration with JSON settings file
- Shell Integration: Easy installation as shell greeting
- Performance Optimized: Caches expensive operations like network requests
Installation
Global Installation (Recommended)
npx about-systemQuick Start
- 
Run the script: about-system
- 
Install as shell greeting: about-system --install
- 
Customize settings: about-system --set display.show_emojis false about-system --set colors.user blue about-system --set display_order '["user","hostname","uptime"]'
Available Info Blocks
| Block | Description | Example Output | 
|---|---|---|
| user | Current username | 👤 username | 
| hostname | System hostname | 🏠 hostname | 
| ip | Public IP address | 🌎 192.168.1.1 | 
| iplocal | Local IP addresses | 🌐 192.168.1.100 | 
| city | Location based on IP | 📍 San Francisco | 
| domain | Reverse DNS hostname | 🔗 http://example.com | 
| isp | Internet service provider | 👮 Verizon Business | 
| os | Operating system | ⚡ Ubuntu 22.04 | 
| cpu | CPU information | 📈 Intel Core i7-8700K | 
| gpu | Graphics card | 🎮 NVIDIA GeForce RTX 3080 | 
| disk_used | Disk usage percentage | 📁 75% | 
| ram_used | Memory usage | 💾 8/16GB | 
| top_process | Highest CPU process | 🔝 15% chrome | 
| uptime | System uptime | ⏱️ 2d 5h 30m | 
| device | Device model | 💻 MacBook Pro | 
| kernel | Kernel version | 🔧 5.15.0-56-generic | 
| shell | Current shell | 🐚 fish | 
| pacman | Available package managers | 🚀 apt npm pip docker | 
| ports | Open network ports | 🔌 80http 443https 22ssh | 
| containers | Running Docker containers | 📦 nginx redis postgres | 
Configuration
The script uses a JSON settings file located at:
- Linux/macOS: ~/.config/systeminfo-settings.json
- Windows: %APPDATA%\Local\systeminfo-settings.json
Settings Commands
# Show current settings
about-system --settings-show
# Reset to defaults
about-system --settings-reset
# Set individual values
about-system --set display.show_emojis false
about-system --set colors.user blue
about-system --set cache.enabled true
# Clear cache
about-system --cache-clearExample Settings
{
  "version": "1.0.0",
  "display_order": [
    "user", "hostname", "disk_used", "ram_used", "uptime",
    "ip", "os", "cpu", "shell"
  ],
  "colors": {
    "user": "red",
    "hostname": "orange",
    "disk_used": "purple",
    "ram_used": "yellow",
    "uptime": "cyan",
    "ip": "green",
    "os": "blue",
    "cpu": "orange",
    "shell": "orange"
  },
  "display": {
    "show_emojis": true,
    "separator": " ",
    "max_width": 120
  },
  "cache": {
    "enabled": true
  },
  "network": {
    "timeout": 5000,
    "show_offline_message": true
  }
}Available Colors
- red,- orange,- yellow,- green,- blue,- cyan,- purple,- magenta,- gray,- lightblue
- Use multicolorfor ports to get a rainbow effect
Platform-Specific Features
Windows
- Detects Windows-specific package managers (choco, winget, scoop)
- Uses wmicfor system information
- Supports PowerShell and Command Prompt integration
Linux
- Detects Linux package managers (apt, yum, pacman, etc.)
- Reads from /procand/sysfilesystems
- Supports various shells (bash, zsh, fish, nushell)
macOS
- Detects macOS-specific tools
- Uses system_profilerfor hardware info
- Supports zsh and bash integration
Cache System
The script implements intelligent caching to improve performance:
- IP Info: 5 minutes (network requests are expensive)
- System Info: 24 hours (rarely changes)
- Process Info: 5 seconds (changes frequently)
- Disk/RAM: 1 minute (moderate change frequency)
Shell Integration
The --install flag automatically configures the script as a shell greeting:
- Bash: Adds to ~/.bashrc
- Zsh: Adds to ~/.zshrc
- Fish: Adds to ~/.config/fish/config.fish
- NuShell: Adds to ~/.config/nushell/config.nu
- PowerShell: Provides instructions for profile setup
Development
# Clone the repository
git clone https://github.com/vtempest/server-shell-setup.git
cd server-shell-setup
# Install dependencies
npm install
# Run the script
npm start
# Run with custom settings
npm start -- --set display.show_emojis false Starter DOCS
Starter DOCS