Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moraroy/nonsteamlaunchersdecky
NonSteamLaunchers Decky Loader Version
https://github.com/moraroy/nonsteamlaunchersdecky
deck decky-loader steam
Last synced: 3 days ago
JSON representation
NonSteamLaunchers Decky Loader Version
- Host: GitHub
- URL: https://github.com/moraroy/nonsteamlaunchersdecky
- Owner: moraroy
- License: other
- Created: 2023-06-22T10:43:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-29T11:54:17.000Z (16 days ago)
- Last Synced: 2024-10-29T13:33:09.575Z (16 days ago)
- Topics: deck, decky-loader, steam
- Language: Shell
- Homepage: https://github.com/moraroy/NonSteamLaunchers-On-Steam-Deck
- Size: 1.04 MB
- Stars: 126
- Watchers: 3
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
NonSteamLaunchers ๐This script installs the latest GE-Proton, installs NonSteamLaunchers under one unique Proton prefix folder in your compatdata folder path called "NonSteamLaunchers" and adds them to your Steam Library. It will also add the games automatically in real time.
So you can use them on Desktop or in Game Mode.
Features โ- Automatic installation of the most popular launchers in your Steam Deck ๐ฎ
- Handle automatically the download and installation of your chosen launchers and the games โ๏ธ
- MicroSD Support ๐พ This script supports moving the entire prefix to a microSD. The script will install launchers and games to your SD card, and the launchers in Steam will point to the SD card installation. This allows you to save internal storage space on your Steam Deck!
Supported Stores ๐- Amazon Games Launcher โ๏ธ
- Battle.net โ๏ธ
- EA App โ๏ธ
- Epic Games โ๏ธ
- GOG Galaxy โ๏ธ
- Humble Games Collection โ๏ธ
- IndieGala โ๏ธ
- Itch.io โ๏ธ
- Legacy Games โ๏ธ
- Rockstar Games Launcher โ๏ธ
- Ubisoft Connect โ๏ธ
- Glyph โ๏ธ
- Minecraft โ๏ธ
- Playstation Plus โ๏ธ
- VK Play โ๏ธ
Supported Streaming Sites for games and as well as any website. ๐- Website Shortcut Creator โ๏ธ
- Xbox Game Pass โ๏ธ
- GeForce Now โ๏ธ
- Amazon Luna โ๏ธ
- Netflix โ๏ธ
- Amazon Prime Video โ๏ธ
- Disney+ โ๏ธ
- Hulu โ๏ธ
- Youtube โ๏ธ
- Twitch โ๏ธ
- movie-web โ๏ธ
Finds Games Automatically"NSLGameScanner" is avalaible through a manual scan and a auto scan feature for real time shortcuts. No Need to restart steam anymore! Currently adds:
- Epic Games ๐ฎ ๐พ Full SD Card Support
- Ubisoft Connect ๐ฎ
- EA App ๐ฎ
- Gog Galaxy ๐ฎ ๐พ Full SD Card Support
- Battle.net ๐ฎ
- Amazon games ๐ฎ ๐พ Full SD Card Support
- Itch.io ๐ฎ
Contributing ๐คIf you have any suggestions or improvements for this script, feel free to open an issue or submit a pull request.
You can donate to me on [ko-fi](https://ko-fi.com/moraroy), [liberapay](https://liberapay.com/moraroy), or [sponsor me on github](https://github.com/sponsors/moraroy) or [patreon](https://patreon.com/moraroy)
## Development Environment
### Dev Container
Install [Docker](https://docs.docker.com/compose/install/). Once installed, a clean dev environment with a Docker container [native to VSCode](https://code.visualstudio.com/docs/devcontainers/create-dev-container#_dockerfile) is spun up automatically.
* [Command palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (โงโP) > Dev Containers: Reopen in Container
* F5 for debug
* May need to select interpreter (e.g., `/opt/venv/bin/python`) first**VSCode Extensions (Dev Container)**
* [Atom Keymap](https://marketplace.visualstudio.com/items?itemName=ms-vscode.atom-keybindings)
* [Bash IDE](https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode)
* [Better Comments](https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments)
* [Docker](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker)
* [EditorConfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
* [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
* [GitHub Copilot Chat](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat)
* [gitignore](https://marketplace.visualstudio.com/items?itemName=codezombiech.gitignore)
* [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
* [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
* [MS Visual Studio Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
* [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
* [Shellcheck](https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck)### Manual Docker Instance
If VSCode isn't present or only the python portion (cf. `__init__.py`) is being worked on, it's possible to just run a Docker container on its own. The container installs the correct version of python and any dependencies (e.g., ipython, rich) in `requirements.txt`.
```bash
# navigate to directory with Dockerfile
cd .devcontainer/# build image
docker build -t nonsteamlaunchers .# run container
docker run -it --rm --name=mynonsteamlaunchers --workdir=/app -v $(pwd):/app nonsteamlaunchers bash# exit container
exit
```### Python virtual environment
Useful for the python module(s), but extra compared to the [dev container](#dev-container) portion that covers the core shell script.
```bash
# create virtual environment
python -m venv .venv# activate virtual environment
source .venv/bin/activate# install dependencies
python -m pip install -r requirements.txt
```### Pre-commit hooks
Pre-commit hooks are installed via `pre-commit` and are run automatically on `git commit`.
Most importantly, `ruff` is used to lint all python code.
* Install [pre-commit](https://pre-commit.com/#install)
* Install pre-commit hooks
```bash
pre-commit install
```
* Trigger pre-commit hooks automatically on `git commit`
```bash
git add .
git commit -m "commit message"
```
* Bypass pre-commit hooks
* Sometimes, it's necessary to bypass pre-commit hooks. This can be done with the `--no-verify` flag.
```bash
git commit -m "commit message" --no-verify
```### Conventional Commits
While not currently enforced, by using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary), it's possible to automatically generate changelogs and version numbers via [release-please](https://github.com/googleapis/release-please).
To help with that, the [commitizen](https://commitizen-tools.github.io/commitizen/) tool can be installed.
#### Usage
```bash
# install cz
npm install -g commitizen cz-conventional-changelog# make repo cz friendly
commitizen init cz-conventional-changelog --save-dev --save-exact
npm install# add file to commit
git add .gitignore# run cz
ฮป git cz
[email protected], [email protected]? Select the type of change that you're committing: chore: Other changes that don't modify src or test files
? What is the scope of this change (e.g. component or file name): (press enter to skip) .gitignore
? Write a short, imperative tense description of the change (max 81 chars):
(17) update .gitignore
? Provide a longer description of the change: (press enter to skip)? Are there any breaking changes? No
? Does this change affect any open issues? No
[main 0a9920d] chore(.gitignore): update .gitignore
1 file changed, 131 insertions(+)ฮป git push
```### Formatting
> **TL;DR**: The [Ruff formatter](https://astral.sh/blog/the-ruff-formatter) is an extremely fast Python formatter, written in Rust. Itโs over 30x faster than Black and 100x faster than YAPF, formatting large-scale Python projects in milliseconds โ all while achieving >99.9% Black compatibility.
* While it runs automatically on commits, it can also be run manually
```bash
# check for errors
ruff check .# fix (some) errors automatically
ruff check . --fix
```### Additional tooling
#### TODO
* Add [devbox](https://www.jetpack.io/devbox/) ๐
#### asdf
* Install [asdf](https://asdf-vm.com/guide/getting-started.html#_2-download-asdf)
* Add plugins
```bash
asdf plugin-add python
asdf plugin-add poetry https://github.com/asdf-community/asdf-poetry.git
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
```
* Usage
* Install local plugins in repo
```bash
asdf install
```
* Install specific plugins
```bash
# install stable python
asdf install python# set stable to system python
asdf global python latest
```#### shellcheck
`.shellcheckrc` excludes various [bash language rules](https://github.com/koalaman/shellcheck/wiki/Ignore#ignoring-one-or-more-types-of-errors-forever). Useful to control noise vs. legitimate warnings/errors when using the shellcheck extension.
License ๐This project is licensed under the MIT License. See the `LICENSE` file for more information.