Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Packaging & Universal Distribution

Neutron is designed for easy distribution across all major Linux packaging ecosystems.


Packaging Channels Overview

FormatTarget PlatformDependenciesStandalone?Build Command
HomebrewLinux / LinuxbrewZero (Pure Rust TUI/CLI)Yesbrew tap pandabytez/tap && brew trust pandabytez/tap && brew install neutron
Static MuslHeadless Servers, SSHZero (Static musl binary)Yescargo build --target x86_64-unknown-linux-musl
Arch AURArch Linux, ManjaroSystem dependenciesNativemakepkg -si

1. Homebrew Tap Formula (Formula/neutron.rb)

Sample formula for custom tap (brew tap pandabytez/tap):

class Neutron < Formula
  desc "Fast WireGuard profile manager via NetworkManager"
  homepage "https://github.com/PandaBytez/neutron"
  url "https://github.com/PandaBytez/neutron/archive/refs/tags/v0.1.0.tar.gz"
  sha256 "<checksum>"
  license "GPL-3.0-or-later"

  depends_on "rust" => :build
  depends_on :linux

  def install
    system "cargo", "install", *std_cargo_args
    bin.install_symlink "neutron" => "neutron-vpn"
  end

  test do
    assert_match "Neutron", shell_output("#{bin}/neutron --help")
  end
end

Tap Trust Verification (Modern Homebrew)

Under Homebrew’s tap trust model, non-official taps can be explicitly marked as trusted:

# Trust the tap
brew trust pandabytez/tap

# Or trust specifically the neutron formula
brew trust --formula pandabytez/tap/neutron

2. Static Musl Target (Headless Servers / Homelabs)

Compile a 100% statically-linked executable with no dynamic shared library dependencies:

# Add musl target
rustup target add x86_64-unknown-linux-musl

# Build static binary
cargo build --release --target x86_64-unknown-linux-musl

The resulting binary (target/x86_64-unknown-linux-musl/release/neutron) runs on Alpine Linux, Debian, RHEL, Ubuntu, and any minimal Linux environment.


3. Arch Linux AUR Package (PKGBUILD)

Sample PKGBUILD for Arch Linux:

pkgname=neutron-bin
pkgver=0.1.0
pkgrel=1
pkgdesc="Fast WireGuard manager via NetworkManager"
arch=('x86_64' 'aarch64')
url="https://github.com/PandaBytez/neutron"
license=('GPL-3.0-or-later')
depends=('networkmanager')
source_x86_64=("https://github.com/PandaBytez/neutron/releases/download/v${pkgver}/neutron-linux-amd64.tar.gz")
sha256sums_x86_64=('SKIP')

package() {
    install -Dm755 neutron "${pkgdir}/usr/bin/neutron"
    ln -s neutron "${pkgdir}/usr/bin/neutron-vpn"
}