This would be nice to have.
The only one I have tried it on is FreeBSD. Last time I did, the mount point seemed to vanish as soon as the mount was created and I wasn't able to find out why at the time.
If anyone wants to reproduce, this is the minimal setup that requires no additional files:
- Make sure Python 3.12 or later is installed with its development headers, pip, and venv (and system build tools)
python3 -m venv venv
- source the activation script:
. venv/bin/activate
pip install https://codeload.github.com/ihaveamac/ninfs/tar.gz/refs/heads/2.0
- Download an example file: https://github.com/nh-server/FBI-NH/releases/download/2.6.1/FBI.3dsx
- Make the mount point:
mkdir mount
- Mount:
ninfs 3dsx FBI.3dsx mount
Expected mount contents:
% tree mount
mount
├── icon.smdh
├── romfs
│ ├── battery0.png
│ ├── battery1.png
│ ├── battery2.png
│ ├── battery3.png
│ ├── battery4.png
│ ├── battery5.png
│ ├── battery_charging.png
│ ├── bottom_screen_bg.png
│ ├── bottom_screen_bottom_bar.png
│ ├── bottom_screen_bottom_bar_shadow.png
│ ├── bottom_screen_top_bar.png
│ ├── bottom_screen_top_bar_shadow.png
│ ├── button.png
│ ├── logo.png
│ ├── meta_info_box.png
│ ├── meta_info_box_shadow.png
│ ├── progress_bar_bg.png
│ ├── progress_bar_content.png
│ ├── scroll_bar.png
│ ├── selection_overlay.png
│ ├── textcolor.cfg
│ ├── top_screen_bg.png
│ ├── top_screen_bottom_bar.png
│ ├── top_screen_bottom_bar_shadow.png
│ ├── top_screen_top_bar.png
│ ├── top_screen_top_bar_shadow.png
│ ├── wifi0.png
│ ├── wifi1.png
│ ├── wifi2.png
│ ├── wifi3.png
│ └── wifi_disconnected.png
└── romfs.bin
2 directories, 33 files
This would be nice to have.
The only one I have tried it on is FreeBSD. Last time I did, the mount point seemed to vanish as soon as the mount was created and I wasn't able to find out why at the time.
If anyone wants to reproduce, this is the minimal setup that requires no additional files:
python3 -m venv venv. venv/bin/activatepip install https://codeload.github.com/ihaveamac/ninfs/tar.gz/refs/heads/2.0mkdir mountninfs 3dsx FBI.3dsx mountExpected mount contents: