skyline-rs-template

A template for writing skyline plugins for modding switch games using Rust and skyline-rs

.

Documentation for skyline-rs

Setup

Local

Prerequisites

  • Rust - make sure rustup, cargo, and rustc (preferrably nightly) are installed.
  • git

Install cargo skyline.

# inside a folder where you will dev all of your plugins going forward
cargo install cargo-skyline
cargo skyline new [your_plugin_name]

VS Code with Docker

Prerequisites

  • Docker
  • Visual Studio Code
  • Visual Studio Code Remote Development Extension
  • Copy these files to a new directory called .devcontainer after cloning this repo.

Simply run Remote Containers: Reopen in Container in the Command Palette.

Creating and building a plugin

To compile your plugin use the following command in the root of the project (beside the Cargo.toml file):

cargo skyline build

Your resulting plugin will be the .nro found in the folder

[plugin name]/target/aarch64-skyline-switch

To install (you must already have skyline installed on your switch), put the plugin on your SD at:

sd:/atmosphere/contents/[title id]/romfs/skyline/plugins

So, for example, smash plugins go in the following folder:

sd:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins

cargo skyline can also automate some of this process via FTP. If you have an FTP client on your Switch, you can run:

cargo skyline set-ip [Switch IP]
# install to the correct plugin folder on the Switch and listen for logs
cargo skyline run 

Troubleshooting

"Cannot be used on stable"

First, make sure you have a nightly installed:

rustup install nightly

Second, make sure it is your default channel:

rustup default nightly

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/bin/cargo-nro.rs:280:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Make sure you are inside the root of the plugin you created before running cargo skyline build

Have a problem/solution that is missing here? Create an issue or a PR!

Updating

For updating your dependencies such as skyline-rs:

cargo update

For updating your version of rust-std-skyline-squashed:

# From inside your plugins folder

cargo skyline self-update

Information - Updated Jun 22, 2022

Stars: 11
Forks: 8
Issues: 4

Tensorflow rust bindings with loads of easy to use documentation

bindings for documentation can be found in github or on our docs page

Tensorflow rust bindings with loads of easy to use documentation

Wasm template for Rust hosting without npm-deploy on github pages using Travis script

It automatically hosts your wasm projects on gh-pages using a travis script on the latest commit

Wasm template for Rust hosting without npm-deploy on github pages using Travis script

Try Out Development Containers: Rust

A development container is a running GitHub Codespaces or vscode-remote-try-* sample projects, too

Try Out Development Containers: Rust

Roctogen: a rust client library for the GitHub v3 API

This client API is generated from the Isahc HTTP client

Roctogen: a rust client library for the GitHub v3 API

Try Out Development Containers: Rust

A development container is a running GitHub Codespaces or vscode-remote-try-* sample projects, too

Try Out Development Containers: Rust

Rust crate for logging to LogDNA

Bug reports and pull requests are welcome on GitHub at

Rust crate for logging to LogDNA

A rust github template for ease of use

Install the rust toolchain in order to have cargo installed by following

A rust github template for ease of use

Rust-generated WebAssembly GitHub action template

A template to bootstrap the creation of a Rust-generated WebAssembly GitHub action

Rust-generated WebAssembly GitHub action template

Template for Rust lib/bin module with built-in GitHub Action to build and test

You will want to change the lib name and bin name in Cargo

Template for Rust lib/bin module with built-in GitHub Action to build and test

cargo_auto_github_lib

Library for cargo-auto automation tasks written in rust language with functions for github

cargo_auto_github_lib

A Rust library to connect to AxonServer

See the GitHub project Command / Query Responsibility Segregation (CQRS)

A Rust library to connect to AxonServer
Facebook Instagram Twitter GitHub Dribbble
Privacy