NMLISTER

A relatively simple tool to create a list of the mods you've installed with the Nexus Mod Manager. It can create HTML, BBCODE, CSV, JSON, and TXT output.


Motivation

I created this because I wanted to make a list of installed mods I can save for later when I re-install a game.


Requirements


Installation

Assuming you already have an Operating System and Nexus Mod Manager installed. Also, NMLISTER itself doesn't need to be installed. Just unpack it to any directory you want.

Python

  1. Go to https://www.python.org/downloads and download the 2.7.14 version for your operating system.
  2. Run the installer and follow the instructions. You will have the option to install IDLE, you can de-select that.

Upgrading

To upgrade just copy & paste the new files over the old ones. Unless noted otherwise in the Changelog, you can keep your existing setting and template files (you can find them in the cache and tpl directory respectively).


Usage

Windows user should be able to double-click nmlister.pyw to run it once Python is installed. On Linux cd into the directory and type ./nmlister.pyw. Check cache/app_log.txt if you run into errors.

First time

  1. Install the requirements
  2. Run NMM and "Update missing Mod IDs" and repeat this whenever you install new mods
  3. Run nmlister.pyw and configure the mandatory settings.

Once you've done with the first time setup

  1. Run nmlister.pyw
  2. Click the red button
  3. Exit

Interface

Tab: Settings/Create

Nexus Mod Manager

user.config File: That file from the Nexus Mod Manager. Should be roughly located at C:\Users\You\AppData\Local\Black_Tree_Gaming\NexusClient.exe_Url_xyz\x.xx.xx.x\user.config. Click the F button to the right to find it. Note: that path changes when you upgrade Nexus Mod Manager as the version number is included in the path.

Create List for Games: Once you've set user.config file above, you can click on the R to the right of the listbox to reload the list of your installed games. Once loaded, you can simply click on a game name to select it.

Output

Directory: Where to save the output files. Click on the F button to the right to find it.

Filename: The filename schema of the output files name. Format extension will be added automagically so you don't have to add this here. There are also three optional variables available for the filename:

Formats: Which output formats should be created.

Special

Manual Mods: Mods that can not be installed with the Nexus Mod Manager, can be added here. Format is game_handle:id1-id2-id3. Separate multiple games with commas. Example that will fetch two mods for Fallout 4 and one for Skyrim: fallout4:111-222,skyrim:333. Both the game_handle and the Mod IDs can be found in the URL of the mod page. Also, there is a short delay between each manual mod will be fetched. This is just to go easy on the nexusmods.com server.

Drive Mount Map: This field is only visible on Linux. If you want to create mod lists on Linux, you must populate that Mount Map.

  1. Find out where Nexus Mod Manager stores the VirtualModConfig.xml files on the Windows system. Remember the drive letter, for example D.
  2. Now find out where the D drive is mounted when you're booted into Linux, for example: /mnt/Gaming.
  3. Now you can enter in the mount map: D:/mnt/Gaming. Separate multiple drive maps with commas if needed, like this: D:/mnt/Gaming,F:/mnt/Data.

If you don't populate that map while on Linux, the app won't find the VirtualModConfig.xml files. This is because in the user.config files are Windows paths stored.

Tab: Notepad

Make notes related to your mods here or whatever you like. You can also add notes that will only be included in certain outputs.

Global notes: To insert a note in every output format, add a [notes] tag around it, e.g: [notes]this is a global note which will be included in every output.[/notes].

Game specific notes: Add a [game_handle] around it, e.g: [fallout4]this is a note which will be only included in the fallout4 output.[/fallout4].

Everything not enclosed by those tags, will not be included in the output.

Tab: Info/Help

Self-explanatory.


Output Templates

The HTML, TXT and BBCODE outputs support templates. They can be found in the tpl directory. Filename must be template.format

Available variables

In every template

{game_handle} = Fallout4, Skyrim, etc.

{last_update_timestamp} = Timestamp of when the output was created

{game_notes} = game specific notes from the notepad

{global_notes} = global notes from the notepad

{app_name} = nmlister

{app_version} = nmlister version the output was created with

{app_page_url} = URL to the nmlister page at nexusmods.com

In template.html

{table_body} = The <tbody> part of the mod list

There are three style classes for the <td>'s of the {table_body} output you can use to further customize the output: .links, .file and .version.

Important: If you use inline CSS or Javascript, write double { and } so they don't get interpreted as template variables. Example: body {{ color: red; }}

In template.txt

{txt_list} = the mod list

In template.bbcode

{bbcode_list} = the mod list


Source Repository for the Coders and Curious

The full code repository on my read-only gitweb. Contains also all the stuff not needed by the regular user.