Contributors welcome! I'm open to ideas, feedback, and kind words.
- Nexus API reference.
- dmodman uses ratatui for the TUI.
- API responses are stored in
$XDG_DATA_HOME/dmodman/
(default~/.local/share/dmodman
).
- Contextual keybinds
- Overlayfs support.
- Some method to mount/umount the overlayfs. This could be as simple as
a hotkey, or could be handled by an external program based on
load_order.txt
. - Decide between regular and/or fuse overlayfs
- Some method to mount/umount the overlayfs. This could be as simple as
a hotkey, or could be handled by an external program based on
- In-app mod search, display and downloading (downloads for premium users only)?
- Automatically sort table items
- Manually sort table items
- Remember order of installed mods (can currently only be sorted in a text editor).
- The same order will be used by the overlayfs
- Color configuration?
- Implement Home, End and Page Up/Down keys.
- Consider which columns need showing, and perhaps add a way to configure what is shown.
- The current UI is designed for small screens.
- Important: use the API to query mods that have been updated in the past 1 month, combined with a timestamp for last update check
- Freezes UI during updates (does it still?). Needs threading a bit earlier in the code
- Show details of currently selected file in the UI. The border of the UI block can be rendered on.
- Permanently ignore updates (trivial to implement with a new enum variant)
- Show archive connected to mod and vice versa
- Delete metadata if file is no longer tracked
- The update lists can be quite long (13k lines in one case) and shouldn't be loaded to memory all the time.
- Needs compression on disk
- Fixed. Unnecessary data is no longer stored at all.
- Extraction using libarchive
- Popup dialog that asks for directory name
- Configurable extract location
- Confirmation dialog (for overwriting when extracting and file deletion).
- Show which mod a file belongs to
- Import archives to dmodman using the md5search API.
- Fomod installer support
- Create metadata files into extracted directories (high prio)
- Allow extracting directly into the game data dir. This is a destructive operation and not allowed by default.
- Delete cached download links when no longer valid/needed
- Query download urls without visiting the Nexus (Premium users only).
- Compression (zstd?) for the cache, easy to implement
- Some unneeded data is still kept around needlessly
- Prune old data from update lists when downloading them
- Avoid serializing unnecessary fields in FileDetails
- Needs line wrapping. Depends on a WIP issue in the TUI library.
- Basic support for running in the background as a downloader.
- Can't run at the same time as the TUI, since they would listen to the same socket. Fixing this would probably require a client/server architecture
- Set settings/profile from the CLI (the config uses the builder pattern so this is easy to implement)
- Help text (generated by a CLI-library?)