Unofficial devkitPro Docker development containers
Find a file
2025-03-02 21:28:34 -07:00
etc no need for a home dir 2025-03-02 21:28:34 -07:00
.gitignore init 2025-02-15 16:33:00 -07:00
build use SSH to connect to container now 2025-03-02 19:38:25 -07:00
Dockerfile no need for a home dir 2025-03-02 21:28:34 -07:00
README.md update readme 2025-03-02 20:02:16 -07:00

devkitPro Docker Development Containers

devkitPro is a collection of different toolchains created for developing homebrew for home consoles, most notably for Nintendo consoles in the sixth-generation and later. They are fairly robust at this task, however the only supported method is to use their Pacman (Arch Linux) repositories, requiring the installation of Pacman on other Linux distributions and operating systems. devkitPro has installers for Linux, Windows, and macOS, but they all are managed by Pacman underneath.

This repo hopes to create a development environment that is usable for developing homebrew on other systems without needing to install a secondary package manager. I feel that needing to install a package manager other than the one your system ships with makes things more complicated and can confuse your primary package manager if changes are taken lightly, so having an isolated environment will solve that problem and allow people to use fairly vanilla systems.

This should also please Windows users who wish to develop homebrew, as they don't need to install MSYS for just this purpose.

THIS REPO IS NOT OFFICIALLY SUPPORTED BY DEVKITPRO AND SHOULD NOT BE CONSIDERED AN OFFICIAL OUTLET TO USE THE TOOLCHAINS PROVIDED BY DEVKITPRO.

How to use

  1. Install Docker, Git, and OpenSSH using your package manager or by downloading them manually. SSH is usually preinstalled on Windows, macOS, and most Linux distros. Windows and macOS users may want to install Docker Desktop instead.
  2. Clone this repository and enter it.
    git clone https://git.brysonsteck.xyz/brysonsteck/devkitPro.git && cd devkitPro
    
  3. If you do not have an SSH public/private key pair, you can generate it with the following command. Keep note of where you saved your key pair.
    ssh-keygen
    
  4. Run this command to build a Docker image for the tools you need. For a list of package names, see the section "Unix-like platforms" on the devkitPro Wiki.
    docker build -t devkitpro --build-arg TOOLS="wii-dev" --build-arg UID=$(id -u) --build-arg GID=$(id -g) --secret id=key,src=/path/to/your/keypair/id_rsa.pub .
    
  5. Create and start a container from this new image. The work directory is set to /volume, so it's recommended to mount your project's directory to that location.
    docker container create --name devkitpro-container -v /path/to/your/project:/volume -p 2222:2222 devkitpro
    docker container start devkitpro-container
    
  6. You can now access this container via SSH using your favorite development tools, such as VSCode or simply in a terminal.
    ssh -p 2222 devkitpro@localhost
    
  7. This image is based off of archlinux, so you also have the ability to run a shell directly if you wish.
    $ docker exec -it devkitpro-container bash
    [devkitpro@0123456789ab volume]$
    
  8. To stop the container, run this command on the host:
    docker container stop devkitpro-container