Luna is a client mod for the TIDAL Client & successor to Neptune.
Luna lets developers create and users run plugins to modify and enhance the Tidal Client.
If you want to chat with users and plugin creators, head over to our discord! discord.gg/jK3uHrJGx4
The client is currently in BETA.
Use one of the following projects:
- Luna does not support the Windows Store version of Tidal.
Please install the desktop version if you have the Store version. - Ensure that Tidal is closed when installing or installation may fail.
- You shouldnt need to run as Admin for installing.
- Add this flake in your inputs:
inputs.tidaLuna.url = github:Inrixia/TidaLuna
- then install the package from the input:
inputs'.tidaLuna.packages.default
(with flake-parts)
- Download the luna.zip release you want to install from https://github.com/Inrixia/TidaLuna/releases
- Go to your Tidal install resources folder, typically found in:
- Windows:
%localappdata%\TIDAL\app-x.xx.x\resources
- MacOS:
/Applications/TIDAL.app/Contents/Resources
- Linux:
/opt/tidal-hifi/resources
- Rename
app.asar
tooriginal.asar
- Unzip luna.zip into a folder named
app
in theresources
directory alongsideoriginal.asar
- You should now have a folder
TIDAL\...\resources\app
next tooriginal.asar
with all the files from luna.zip
Done! Start Tidal and you should see the Luna spashscreen.
Proper developer documentation etc is planned after the inital beta release of Luna.
If you are a developer or want to try making your own plugin, please hop in discord and ask we are more than happy to assist with getting started.
To develop for the luna client follow these steps:
- Fork this repo and clone it locally
- Install packages
pnpm i
- Run the watch command to build
pnpm run watch
- Symlink your
dist
folder to your Tidalapp
folder mentioned in the Manual Install section above.
Or if you dont care about live reloading of/native/injector.ts
set theTIDALUNA_DIST_PATH
env variable to yourdist
folder path. - Launch Luna
Core plugins under /plugins
can be reloaded via Luna Settings.
Changes to /render
or /native
code require a client restart.