Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/roedesh/nxstart

Command-line utility for setting up a Nintendo Switch homebrew project.
https://github.com/roedesh/nxstart

brewjs command-line-tool homebrew libnx libtransistor nintendo-switch project-generation pynx python3

Last synced: about 2 months ago
JSON representation

Command-line utility for setting up a Nintendo Switch homebrew project.

Awesome Lists containing this project

README

        

# nx-start

> Project generator for Nintendo Switch homebrews.

[![PyPI version](https://badge.fury.io/py/nxstart.svg)](https://badge.fury.io/py/nxstart)
[![Build status](https://travis-ci.org/roedesh/nxstart.svg?branch=master)](https://travis-ci.org/roedesh/nxstart)
[![Requirements Status](https://requires.io/github/roedesh/nxstart/requirements.svg?branch=master)](https://requires.io/github/roedesh/nxstart/requirements/?branch=master)

## Table of Contents

* [Features](#features)
* [Installation](#installation)
* [Generating a libnx (C++) project](#generating-a-libnx-c-project)
* [Generating a libtransistor (C) project](#generating-a-libtransistor-c-project)
* [Generating a BrewJS project](#generating-a-brewjs-javascript-project)
* [Generating a PyNX project](#generating-a-pynx-python-project)
* [Skip prompts](#skip-prompts)

## Features
- Generate a [libnx](https://github.com/switchbrew/libnx) (C++) project using `nxstart libnx`
- Generate a [libtransistor](https://github.com/reswitched/libtransistor) (C) project using `nxstart libt`
- Generate a [BrewJS](https://github.com/BrewJS) (Javascript) project using `nxstart brewjs`
- Generate a [PyNX](https://github.com/nx-python/PyNX) (Python) project using `nxstart pynx`

## Installation

Install from PyPi using [pip](http://www.pip-installer.org/en/latest), a package manager for
Python.

```bash
pip install nxstart
```

Don't have pip installed? Try installing it, by running this from the
command line:

```bash
curl "https://bootstrap.pypa.io/get-pip.py" | python
```

Or, you can [download the source code](#) for `nxstart` and then run:
```bash
python setup.py install
```
You may need to run the above commands with ``sudo``.

## Generating a libnx (C++) project
Run `nxstart libnx`. It will ask for a project name, author name and if you are
using CLion (IDE by Jetbrains). If you say yes to CLion, `CMakeLists.txt` will be included.

The following project structure will be generated:

```
project
│ .editorconfig
│ .gitignore
│ CMakeLists.txt // Only if you use CLion
│ Makefile
│ icon.jpg
│ README.md

└───data

└───include

└───source
│ main.cpp // Your main application file
```

## Generating a libtransistor (C) project
Run `nxstart libt`. It will ask for a project name, author name and if you are
using CLion (IDE by Jetbrains). If you say yes to CLion, `CMakeLists.txt` will be included.

The following project structure will be generated:

```
project
│ .editorconfig
│ .gitignore
│ CMakeLists.txt // Only if you use CLion
│ main.c // Your main application file
│ Makefile
│ icon.jpg
│ README.md

```

## Generating a BrewJS (Javascript) project
Run `nxstart brewjs`. It will ask for a project name and author name. The following project structure will be generated:

```
project
│ .editorconfig
│ .gitignore
│ package.json
│ Source.js // Your main application file
│ README.md

└───assets

```

## Generating a PyNX (Python) project
Run `nxstart pynx`. It will ask for a project name and author name. The following project structure will be generated:

```
project
│ .editorconfig
│ .gitignore
│ main.py // Your main application file
│ README.md

```

## Skip prompts
To skip the prompts, provide the necessary flags. For example:
```bash
nxstart -n "My new project" -a "John Doe" libnx --clion
```

Or if you don't use CLion:
```bash
nxstart -n "My new project" -a "John Doe" libnx --no-clion
```

## Running tests
Tests can be run with the `pytest` command. If you are contributing code, make sure all tests are green before
submitting a PR.