nip/INSTALLATION.md

6.3 KiB

NIP Installation Guide

One-Line Installation

# Using curl
curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/install.sh | sudo bash

# Using wget
wget -O- https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/install.sh | sudo bash

What the installer does:

  1. Detects your system (OS, architecture, memory)
  2. Selects optimal binary variant (ultra-minimal for embedded, compressed for general use)
  3. Downloads and verifies the NIP binary
  4. Creates system directories (/Programs, /System/Links, etc.)
  5. Sets up system integration (PATH, library paths)
  6. Ready to use!

Manual Installation

1. Download Binary

Choose the variant that best fits your needs:

Variant Size Best For Download
Ultra-Minimal 517KB Embedded/IoT systems nip-optimized-size-upx
Compressed 557KB General use (recommended) nip-static-upx
Standard 1.6MB No compression preference nip-static
Size-Optimized 1.5MB Minimal systems nip-optimized-size
Speed-Optimized 1.6MB Performance critical nip-optimized-speed

2. Install Binary

# Download (example with compressed variant)
curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/nip-static-upx -o nip

# Make executable
chmod +x nip

# Install system-wide
sudo mv nip /usr/local/bin/nip

3. Create System Directories

# Core directories
sudo mkdir -p /Programs
sudo mkdir -p /System/Links/{Executables,Libraries,Headers,Shared}
sudo mkdir -p /var/lib/nip/{cas,db,generations}
sudo mkdir -p /var/cache/nip/{packages,build}
sudo mkdir -p /var/log/nip
sudo mkdir -p /etc/nip

# Set permissions
sudo chmod 755 /Programs /System/Links/*
sudo chmod 755 /var/lib/nip /var/lib/nip/*
sudo chmod 755 /var/cache/nip /var/cache/nip/*
sudo chmod 755 /var/log/nip /etc/nip

4. Setup System Integration

# Add to PATH
echo 'export PATH="/usr/local/bin:$PATH"' | sudo tee /etc/profile.d/nip.sh

# Setup library paths
echo "/System/Links/Libraries" | sudo tee /etc/ld.so.conf.d/nip.conf
sudo ldconfig

Platform Support

Currently Supported

  • Linux x86_64 (all major distributions)
  • Static binaries (no dependencies)
  • Kernel 4.19+ compatibility

Planned Support

  • 📋 Linux ARM64 (aarch64)
  • 📋 Linux RISC-V (riscv64)
  • 📋 FreeBSD x86_64
  • 📋 NetBSD x86_64

Verification

Check Installation

# Verify NIP is installed
which nip

# Check version
nip --version

# Initialize system (first time)
sudo nip setup

# Check status
nip status

Expected Output

$ nip --version
NIP version 0.1.0-mvp

$ nip status
🎅 NIP v0.2.0 'Weihnachtsmann' Status
====================================

✅ Binary: /usr/local/bin/nip (557KB)
✅ Directories: All system directories present
✅ Integration: PATH and library paths configured
📋 Ready for package management!

Uninstallation

Quick Uninstall

# One-line uninstaller
curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/uninstall.sh | sudo bash

# Or with wget
wget -O- https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/uninstall.sh | sudo bash

Manual Uninstall

# Remove binary
sudo rm -f /usr/local/bin/nip

# Remove system integration
sudo rm -f /etc/profile.d/nip.sh
sudo rm -f /etc/ld.so.conf.d/nip.conf
sudo ldconfig

# Optionally remove data (WARNING: This removes all packages!)
sudo rm -rf /Programs /System/Links
sudo rm -rf /var/lib/nip /var/cache/nip /var/log/nip /etc/nip

Troubleshooting

Common Issues

1. Permission Denied

# Make sure you're using sudo
sudo nip setup

2. Command Not Found

# Check if NIP is in PATH
echo $PATH | grep -q "/usr/local/bin" || echo "PATH issue"

# Reload shell or source profile
source /etc/profile.d/nip.sh

3. Binary Won't Execute

# Check if binary is executable
ls -la /usr/local/bin/nip

# Check architecture compatibility
file /usr/local/bin/nip

4. System Directories Missing

# Re-run setup
sudo nip setup

# Or create manually (see manual installation)

Getting Help


Advanced Installation

Custom Installation Directory

# Set custom install directory
export INSTALL_DIR="/opt/nip/bin"
curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/install.sh | sudo bash

Offline Installation

# 1. Download installer and binary on connected machine
curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/install.sh -o install.sh
curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/nip-static-upx -o nip-static-upx

# 2. Transfer to offline machine
scp install.sh nip-static-upx user@offline-machine:

# 3. Install offline
sudo bash install.sh --offline nip-static-upx

Container Installation

# Dockerfile example
FROM alpine:latest

# Install NIP
RUN apk add --no-cache curl sudo && \
    curl -L https://git.maiwald.work/Nexus/NexusToolKit/raw/branch/main/nip/install.sh | bash

# Use NIP
RUN nip setup

Next Steps

After installation:

  1. Initialize NIP: sudo nip setup
  2. Check status: nip status
  3. Install packages: nip graft aur firefox
  4. Build from source: nip build nginx +http3
  5. Read documentation: Getting Started Guide

Installation Guide Version: 1.0 Last Updated: November 18, 2025 NIP Version: v0.2.0 "Weihnachtsmann"