npconfig is a utility for configuring netplan through an ifconfig-compatible CLI and an interactive curses menu. It is designed to be more user-friendly than fighting YAML on a lone server with no network.
No sysadmin should have to bring a netplan manual just to bring networking up.
- ifconfig-style commands for quick provisioning
- Wi-Fi setup (scan, connect, hidden SSID, DHCP/static)
- Interactive menu (
npconfig menu) usingdialogorwhiptail - Auto-detects NetworkManager vs systemd-networkd renderer
- Applies config via
netplan apply(no hard dependency on NetworkManager)
- Linux with netplan and iproute2 (
ip) - root /
sudo - For Wi-Fi scan/menu on Ubuntu Server:
wpasupplicant(stock) —nmclioriwoptional fallbacks - For interactive menu: whiptail or dialog
# Ubuntu Server (systemd-networkd)
sudo apt-get install -y netplan.io iproute2 wpasupplicant whiptail
# Ubuntu Desktop (NetworkManager)
sudo apt-get install -y netplan.io iproute2 network-manager whiptailifconfig is not required.
curl -fsSL https://raw.githubusercontent.com/TwistedDiesel/npconfig/main/npconfig -o npconfig
chmod +x npconfig
sudo install -m 755 npconfig /usr/local/bin/npconfigOr clone and install:
git clone https://github.com/TwistedDiesel/npconfig.git
cd npconfig
sudo install -m 755 npconfig /usr/local/bin/npconfigsudo npconfig menuMenu options:
- Configure Ethernet (DHCP / static / up / down / status)
- Configure Wi-Fi (scan & connect, hidden SSID, DHCP/static)
- Show interface status
- Apply netplan
Aliases: npconfig --menu, npconfig -m
# Show interfaces
npconfig
npconfig -a
npconfig eth0
# Link state
npconfig eth0 up
npconfig eth0 down
# DHCP (persisted via netplan)
npconfig eth0 inet dhcp
# Static IPv4
npconfig eth0 192.168.1.50 netmask 255.255.255.0 up# Scan
npconfig wlan0 wifi scan
# Open network + DHCP
npconfig wlan0 wifi GuestNetwork open inet dhcp up
# WPA network + DHCP
npconfig wlan0 wifi MySSID passphrase mypassword inet dhcp up
# Static IP on Wi-Fi
npconfig wlan0 wifi MySSID psk mypassword 192.168.1.50 netmask 255.255.255.0 up
# Hidden SSID
npconfig wlan0 wifi --hidden SecretSSID passphrase mypassword inet dhcp upnpconfig writes per-interface files:
/etc/netplan/99-npconfig-<iface>.yaml
Then runs:
netplan generate
netplan applyThese files are intentionally prefixed with 99- so they override simpler defaults while remaining easy to find and remove.
- Runs as root — only install and run from a trusted source (this repo or your own build).
- Wi-Fi passwords are stored in
/etc/netplan/99-npconfig-*.yaml(mode600), which is standard for netplan. - Session logs live in
/var/log/npconfig/(mode700; log files600). Passwords are redacted in logs. - Verbose shell tracing is off by default. For deep debugging only:
sudo NP_LOG_TRACE=1 npconfig menu - Remove npconfig overlays anytime:
sudo rm /etc/netplan/99-npconfig-*.yaml && sudo netplan apply
network:
version: 2
renderer: NetworkManager
wifis:
wlan0:
dhcp4: true
access-points:
"MySSID":
password: "mypassword"GPL-3.0 — see LICENSE.