Skip to content

aayushkdev/nmsurf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nmsurf

A fast, minimal NetworkManager frontend for application launchers, written in Go.

nmsurf provides a simple interface to manage networks using NetworkManager, with support for launcher-based menus such as wofi.


Screenshots

Network List

Screenshot-2026-02-19_23:50:54

Network Menu

Screenshot-2026-02-19_23:51:17

Network Details

Screenshot-2026-02-19_23:52:39

Features

  • Scan available Wi-Fi networks
  • Connect, disconnect, and forget networks
  • Hard rescan (hardware scan)
  • View detailed network information
  • Supports:
    • Wofi
    • Rofi
    • Walker
    • Fuzzel
  • Use your existing launcher theme or specify a custom theme
  • Fast and lightweight

Installation

Prerequisites

  • wofi, rofi, fuzzel or walker
  • NetworkManager
  • Go 1.20+ (build only/go install)

Option 1: Arch User Repository (AUR)

For Arch Linux users, nmsurf is available in the AUR. This is the recommended method for easy installation and updates.

You can use any AUR helper like yay, paru, etc.

yay -S nmsurf

Option 2: Using Go

go install github.com/aayushkdev/nmsurf/cmd/nmsurf@latest

Ensure Go bin directory is in PATH:

export PATH=$PATH:$(go env GOPATH)/bin

Option 3: Using install.sh (works on any distro)

Building:

git clone https://github.com/aayushkdev/nmsurf.git
cd nmsurf
go build -ldflags="-s -w" -o nmsurf

Install:

./install.sh

This installs to:

/usr/local/bin/nmsurf

Configuration

nmsurf can be configured using:

~/.config/nmsurf/config.toml

Example:

launcher = "wofi"
theme = "~/.config/wofi/style.css"

valid launchers include wofi, rofi, walker, fuzzel

If no config file exists, defaults are used (wofi)


Usage

Run:

nmsurf

Bind to key (Hyprland example):

bind = SUPER, N, exec, nmsurf

wofi or any launcher based menu (except maybe rofi) does not expose any way to refresh the state of the menu without killing it and bringing it back up, so the ux may not be par with a tui or a gui based tool


License

MIT License

About

A fast, minimal NetworkManager frontend for Wofi, written in Go.

Topics

Resources

License

Stars

18 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors