PurpleKingdomGames/tyrian
{ "createdAt": "2021-06-04T19:39:08Z", "defaultBranch": "main", "description": "Elm-inspired Scala UI library.", "fullName": "PurpleKingdomGames/tyrian", "homepage": "https://tyrian.indigoengine.io/", "language": "Scala", "name": "tyrian", "pushedAt": "2025-11-20T08:33:40Z", "stargazersCount": 393, "topics": [ "elm-architecture", "front-end-development", "scala", "scala-js", "scalajs", "tyrian", "ui" ], "updatedAt": "2025-11-20T08:34:12Z", "url": "https://github.com/PurpleKingdomGames/tyrian"}TYRIAN HAS MOVED HOME!!!
Please head over to https://github.com/PurpleKingdomGames/indigoengine for the up to date source code.
Tyrian
Section titled “Tyrian”An Elm-inspired Scala UI library for Scala 3.
The main documentation site, complete with installation instructions, is available here: tyrian.indigoengine.io/
Thank you, to our sponsors! 💜
Section titled “Thank you, to our sponsors! 💜”Thank you to all our wonderful sponsors, and particularly to dedipresta for their generous support.
![dedipresta]!(sponsors/dedipresta.png)
If you’d like to help advance our work, we are ever grateful for all forms of contribution, either by volunteering time or financial backing.
Local build instructions
Section titled “Local build instructions”Tyrian is fairly straight forward to build locally, run the following commands from your terminal in the project root:
npm installsbt clean update compile test +publishLocalThere is also a build.sh script in the root folder, but that also builds the docs and example projects (based on the currently released version).
Nix dev-shell
Section titled “Nix dev-shell”If you would like to have the environment set up without installing any dependencies globally (think node, yarn, java, etc), you can give the Nix development shells a try.
To use this functionality, you are required to enable flakes.
$ nix developLocally you can run nix develop. However, if you would like to use the same shell in a different repository, you can run the following command instead.
nix develop github:PurpleKingdomGames/tyrianWhat do you get?
Section titled “What do you get?”The default dev shell ships with jdk, mill, sbt and coursier, ensuring all dependencies use the same JDK. It also ships with essential JS tooling in the form of yarn, npm and node.
$ java --versionThe program 'java' is not in your PATH. It is provided by several packages.
$ sbt --versionThe program 'sbt' is not in your PATH. It is provided by several packages.
$ yarn --versionThe program 'yarn' is not in your PATH. It is provided by several packages.
$ npm --versionThe program 'npm' is not in your PATH. It is provided by several packages.
$ nix develop
$ java --versionopenjdk 17.0.1 2021-10-19OpenJDK Runtime Environment (build 17.0.1+12-nixos)OpenJDK 64-Bit Server VM (build 17.0.1+12-nixos, mixed mode, sharing)
$ mill --versionMill Build Tool version 0.10.0Java version: 17.0.1, vendor: N/A, runtime: /nix/store/drg31yiw0619r981n0yyv7lnziiyxwww-openjdk-headless-17.0.1+12/lib/openjdkDefault locale: en_US, platform encoding: UTF-8OS name: "Linux", version: 5.16.10, arch: amd64
$ sbt --versionsbt version in this project: 1.6.2sbt script version: 1.6.2
$ cs java-home/nix/store/drg31yiw0619r981n0yyv7lnziiyxwww-openjdk-headless-17.0.1+12
$ node --versionv16.14.0
$ npm --version8.3.1
$ yarn --version1.22.17