👾 NSPi
Source NSPi.
NSPi (WIP)
NSPi is a work in progress Switch package downloader homebrew. Inspired by the PSVITA PKGi hombrew made by @mmozeiko and PSP/PS3 ports by @bucanero.
The nspi
homebrew app allows to download packages directly on your Switch
Build (Switch)
To build this project from source, you’ll need to set up the appropriate development environment.
Requirements
- devkitPro devkitA64 toolchain: You can either install this toolchain directly on your system or use one of the available devkitPro Docker images.
Option 1: Install devkitPro Toolchain
- Follow the devkitPro installation guide to set up the
devkitA64
toolchain on your system. - Ensure that the necessary tools (
nacptool
,elf2nro
, etc.) are available in your PATH.
Option 2: Use a devkitPro Docker Image
- Pull one of the devkitPro Docker images that comes with all the precompiled tools and toolchains:
docker pull devkitpro/devkita64
- Use the Docker image to build the project
docker run --rm -it -v "$(pwd):/app" --workdir=/app devkitpro/devkita64:latest bash cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain.cmake -DCMAKE_BUILD_TYPE=Release cd build make -j$(nproc)
- Send built package to switch with nxlink (optional)
nxlink -a xxx.xxx.xxx.xxx NSPi.nro
Note for libnx
In this project, instead of linking the precompiled libnx library provided by devkitPro, I preferred to add libnx compilation to the build process. This means that libnx will be built from source as part of this project’s build process, ensuring that you have the latest version and any custom modifications needed for this project.
Build (Linux) (Partially working)
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cd build
make -j$(nproc)
./NSPi
Install
- Download the
NSPi.nro
file. - Insert your SD card into your computer.
- Copy the
NSPi.nro
file to theswitch/
folder on the root of your SD card. - Safely eject the SD card from your computer.
- Insert the SD card back into your Nintendo Switch.
License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.