- Script mods now grouped by mod name instead of flat file list - Shows file count per mod and category totals - Toggle button to enable/disable script mods - Right-click context menu for script mods - Info label showing total mods and files - Support for redscript, TweakXL, CET, red4ext, ArchiveXL
🎮 Neon Mod Manager
A Cyberpunk 2077 mod manager for Linux. Built with PyQt6.
Why?
Because existing mod managers (Mod Organizer 2 / Fluorine) have problems on Linux:
- REDmod deployment fails with permission errors on FUSE mounts
- FUSE VFS blocks file access and causes crashes
- Wine prefix management is fragile and complex
Neon Mod Manager takes a simpler approach: directly manage files in the game directory. No VFS, no staging, no REDmod, no FUSE.
Features
v0.2 — Current
| Feature | How it works |
|---|---|
| Enable/Disable Mods | Renames .archive ↔ .archive.disabled — no staging, no VFS |
| Load Order | Numeric filename prefixes (000_, 010_, 020_...) — higher number = loaded later = overrides earlier |
| Add Mods | Copy files directly, or drag & drop onto the window |
| Archive Parsing | Reads internal file paths from .archive files (RDAR format) |
| Deep Conflict Scan | Compares internal file paths across all enabled mods — finds real conflicts, not just name matches |
| Quick Conflict Scan | Fast name-based conflict detection |
| Script Mod Support | Manages redscript, TweakXL, CET, red4ext, ArchiveXL mods |
| Auto-Extract Downloads | .7z / .zip / .rar files are extracted and contents installed to correct paths automatically |
| Drag & Drop | Drop mod files (.archive, .zip, .7z) onto the window to install |
| Internal File Viewer | Right-click a mod → "Show Internal Files" to see what's inside the .archive |
| Profiles | Save/load mod configurations (e.g. "NSFW", "Vanilla+", "Minimal") |
| Nexus Mods Integration | Paste nxm:// URLs to download + auto-install, or register as browser protocol handler |
| No Wine needed | Pure Python + Qt, runs natively on Linux |
Auto-Extract Install Paths
When you add a .zip or .7z mod, files are automatically routed to the correct location:
| File Type | Destination | Mod Framework |
|---|---|---|
.archive |
archive/pc/mod/ |
Base game textures/meshes |
.xl |
archive/pc/mod/ |
ArchiveXL |
.yaml / .yml |
r6/tweaks/ |
TweakXL |
.reds |
r6/scripts/ |
redscript |
.dll |
red4ext/plugins/<modname>/ |
red4ext |
.lua |
bin/x64/plugins/cyber_engine_tweaks/mods/<modname>/ |
Cyber Engine Tweaks |
.ini |
engine/config/ |
Engine configuration |
Script Mods Tab
The 📜 Script Mods tab automatically scans your game directory and shows all installed script-based mods, grouped by type:
- 🔴 REDSCRIPT —
.redsfiles inr6/scripts/ - ⚙️ TWEAKXL —
.yamlfiles inr6/tweaks/ - 🔧 CET — Lua mods in
bin/x64/plugins/cyber_engine_tweaks/mods/ - 📦 RED4EXT —
.dllplugins inred4ext/plugins/ - 🗂️ ARCHIVEXL —
.xlfiles inarchive/pc/mod/
Installation
Prerequisites
# Arch Linux / EndeavourOS
sudo pacman -S python-pyqt6 p7zip unrar
# Ubuntu / Debian
sudo apt install python3-pyqt6 p7zip unrar
# Fedora
sudo dnf install python3-pyqt6 p7zip unrar
# Or via pip (PyQt6 only)
pip install PyQt6
Note:
p7zipandunrarare needed for auto-extracting.7zand.rardownloads. The Settings tab shows which tools are installed.
Download
git clone https://gitea.die-heimatlosen.eu/arch_agent/neon-mod-manager.git
cd neon-mod-manager
Run
# Wayland (most common on modern Linux)
QT_QPA_PLATFORM=wayland python3 mod_manager.py
# X11
python3 mod_manager.py
Usage
Adding Mods
- Click ➕ Add Mod and select files (
.archive,.zip,.7z,.rar,.yaml,.reds,.xl), OR - Drag & drop mod files onto the window, OR
- Download from Nexus Mods (see below)
Load Order
- Mods are sorted by numeric prefix:
000_loads first,999_loads last - Later mods override earlier ones (same internal file = last one wins)
- Click 🔢 Auto-Sort to auto-assign prefixes based on current list order
- Right-click a mod → Move Up/Down to reorder manually
Enabling / Disabling
- Checkbox in the mod list to toggle on/off
- Enable All / Disable All buttons for bulk actions
- Disabled mods get
.archive.disabledextension (not deleted!)
Conflict Detection
- ⚡ Quick Scan — fast name-based check for duplicate mod names
- 🔍 Deep Scan — parses all
.archivefiles and compares internal file paths- Shows which internal files (textures, meshes, etc.) are overridden by multiple mods
- Files in 3+ mods are highlighted red, 2 mods in orange
- Progress bar shows scan status
Viewing Internal Files
- Right-click any mod → 📋 Show Internal Files
- Shows version, file count, and up to 50 internal file paths from the .archive
Profiles
- Set up your mods the way you want them
- Go to 💾 Profile tab
- Enter a name (e.g. "NSFW Full", "Vanilla+") and click Save Profile
- Switch between profiles anytime from the dropdown at the top
Nexus Mods Integration
- Get your API key from Nexus Mods
- Go to 🌐 Nexus Mods tab and paste your key
- Option A: Paste
nxm://URLs manually and click Download & Install- Downloads the mod, auto-extracts if needed, and installs to correct paths
- Option B: Click 🔗 Register nxm:// Protocol Handler
- Then clicking "Download" on Nexus Mods website automatically sends the mod to Neon Mod Manager
- Downloads and installs silently in the background
How It Works (Technical)
No VFS / No Staging
Unlike MO2/Fluorine which use a virtual filesystem (FUSE on Linux), Neon Mod Manager copies files directly to the game directory. This avoids:
- FUSE mount permission issues
- REDmod deployment failures
- Wine prefix corruption
Load Order via Filename
Cyberpunk 2077 loads .archive files in alphabetical order. Neon Mod Manager uses numeric prefixes:
000_MyBodyMod.archive → loads first
010_MyTextureMod.archive → loads second
020_MyAdMod.archive → loads third (overrides earlier)
Enable/Disable
Mods are renamed in-place:
- Enable:
MyMod.archive.disabled→MyMod.archive - Disable:
MyMod.archive→MyMod.archive.disabled
The game ignores .disabled files completely.
Archive Parsing
.archive files use the RDAR format:
- Magic:
RDAR(4 bytes) - Version (uint32)
- File table offset (uint64)
- File count (uint32)
The file table contains entries with hash, offset, size, and null-terminated UTF-8 path strings. Neon Mod Manager reads these to detect which internal files (textures, meshes) are overridden by multiple mods.
Auto-Extract
When a .zip or .7z is added:
- File is extracted to
/tmp/neon-mod-extract/ - Files are scanned and routed to correct game paths based on extension
- Directory structure from the archive is preserved (e.g.
r6/scripts/MyMod/stays intact) - Temporary extraction directory is cleaned up
Configuration
Config is stored at ~/.config/neon-mod-manager/config.json:
{
"game_path": "/mnt/Spiele/Heroic/Cyberpunk 2077",
"mod_dir": "archive/pc/mod",
"last_profile": "Default",
"nexus_api_key": "",
"auto_prefix": true
}
Profiles are stored at ~/.config/neon-mod-manager/profiles/*.json.
License
MIT — do whatever you want.
Roadmap
Archive file parsing (read internal file list for real conflict detection)✅ v0.2REDmod script mod support (r6/tweaks)✅ v0.2Auto-extract✅ v0.2.7z/.zipdownloads- Nexus Mods search (browse mods without leaving the app)
- Mod update detection (compare versions)
- Mod categories and tags
- Dark/light theme switcher
- Backup/restore vanilla files
- Mod dependency checker