Neonwolf is a synthwave-themed, privacy-focused fork of Firefox, built as a thin overlay on LibreWolf. It takes a stock Firefox release, runs LibreWolf's privacy/hardening patch pipeline, and layers on a small, clearly-marked Neonwolf delta — a synthwave chrome theme, a glowing new-tab page, and Neonwolf branding — to produce the Neonwolf browser.
Current base: Firefox 152.0.1 (LibreWolf 152). Linux x86-64 is the supported and tested target.
This is a patch-distribution repository, not a copy of the browser source. It holds patches, branding, theme CSS, build config, and a Python orchestrator; the Firefox source tarball is downloaded and patched at build time.
graph LR
FF(Firefox 152.0.1<br>source tarball)
LW(LibreWolf patches<br>+ settings submodule)
NW(Neonwolf delta<br>theme · branding · pref overrides)
OUT(Neonwolf browser)
FF --> LW --> NW --> OUT
The privacy/hardening baseline comes from the
LibreWolf settings repo, tracked here
as the settings/ git submodule. The guiding principle is to stay as close to
upstream LibreWolf as possible — the Neonwolf changes are a minimal, marked
delta so version bumps stay close to a git merge upstream away.
Prebuilt Linux x86-64 builds are published on the
Releases page. Each release ships
a .tar.xz and a matching .sha256sum.
sha256sum -c neonwolf-152.0.1-1.en-US.linux-x86_64.tar.xz.sha256sum
tar xf neonwolf-152.0.1-1.en-US.linux-x86_64.tar.xz
LANG=en_US.UTF-8 MOZ_ENABLE_WAYLAND=1 ./neonwolf/neonwolf(On X11 sessions, drop MOZ_ENABLE_WAYLAND=1. Setting LANG avoids a CJK locale
fallback.)
All targets go through make. Version is read from ./version (152.0.1),
release from ./release (1).
git clone --recursive https://github.com/neon798/neonwolf.git
cd neonwolf
make fetch # download + gpg-verify the Firefox source tarball
make dir # extract + apply all patches and the Neonwolf overlay
make bootstrap # install build deps + ./mach bootstrap (one time)
make build # ./mach build (takes a while)
make package # produce the distributable .tar.xz in the repo root
# OR
make run # build and launchThe patched tree is extracted to neonwolf-{version}-{release}/
(e.g. neonwolf-152.0.1-1/); the built binary lands at
neonwolf-152.0.1-1/obj-x86_64-pc-linux-gnu/dist/bin/neonwolf.
Resuming an interrupted build: run
./mach buildinside the source tree, notmake build—make buildmay re-extract and re-patch from scratch, wiping theobj-*directory.
make check-patchfail # confirm every patch applies cleanly to the FF tarballThis is what CI runs (GitHub Actions, .github/workflows/check-patches.yml),
pinned to the ./version file. A full compile is not run in CI — it's too heavy
for hosted runners.
Architecture, conventions, and the critical build constraints are documented in
CLAUDE.md — including how the synthwave theme is injected, the
new-tab CSS rules, the settings layering, and the pref-pane rebrand.
To work on a patch, edit inside the patched source tree and diff:
make dir
cd neonwolf-$(cat version)-$(cat release)
git init && git add <file> && git commit -qm initial
# ...make changes...
git diff > ../patches/my-change.patchPatch application order is defined in assets/patches.txt and is load-bearing —
never reorder without re-running make check-patchfail.
Neonwolf stands entirely on the work of others:
- LibreWolf — the privacy/hardening patch set, build pipeline, and settings this overlay is built on.
- Mozilla Firefox — the underlying browser.
Like Firefox and LibreWolf, Neonwolf is distributed under the Mozilla Public License 2.0.