Start a new app
Copy the template into a new repository and rename the crate, QML module, app ID, desktop file, notification file and binary.
-
Copy the template directory to the new app's repository.
-
Rename, by search and replace in every file, and rename the files that carry the name:
What Template value Where Crate and library atlas-app-template,atlas_app_templateCargo.toml,CMakeLists.txtQML module URI net.eterneon.atlas.apptemplateCMakeLists.txt,main.cppApp ID, desktop file net.eterneon.atlas.apptemplatemain.cpp,src/lib.rs,data/Name and repository name: "Atlas App",repo: "atlas-framework"app!insrc/lib.rsNotification file data/atlas-apptemplate.notifyrcnamed atlas-plus the last part of the app ID; itsDesktopEntry=andIconName=are the app IDBinary name atlas-app-templateCMakeLists.txt,main.cppOptional atlas_backend_new, theatlas_appC++ namespacesrc/lib.rs,main.cpp,src/backend.rs -
In
Cargo.toml, takeatlas-framework-uifrom git, pinned to a release tag (the comment there shows the line), and add atlas-framework-system or atlas-framework-flatpak only if the app needs them:atlas-framework-ui = { git = "https://github.com/EternalCoder454/atlas-framework", tag = "v1.4.0" }The template's own
Cargo.tomlusespath = "../crates/..."dependencies, because it sits in the framework's checkout; replace them. -
Give the app's RPM
Requires: atlas-uiandBuildRequires: atlas-uiwith>= X.Y.Z, the same version asui:in theapp!call insrc/lib.rs(the template says1.3.0). Keep the two equal. See Compatibility. -
Add properties and invokables to
src/backend.rs, pages toqml/, and list each page inQML_FILESinCMakeLists.txt. -
Run the framework's checks in the app's CI:
tools/lint-app.sh <app dir>andtools/check-app-names.sh <app dir>.