I’ve wanted to add some custom applications to the DC running SkyLark (currently 4.4)… this is the process to install it so it remains after a reboot… Although Skylark is based on the OS.js platform (https://www.os-js.org/), its customized quite a bit.
Additionally Skylark is read only, any changes you make will be overwritten on the next reboot. To get around this, we will use the user script service to re-install the customizations after every reboot, then bounce the window manager.
This really starts the ball rolling to the creation of many custom applications that can be developed… building a “package” to drop on the system would be rather trivial. Lets add that to the TODO list
Create your custom application
you can use an existing application as a template, but you will need to modify much of it so its unique. Developing the application is beyond the scope of this post, and requires more effort. (mine clearly needs some work, but wanted to document this first)
Existing applications can be found in: /usr/share/www/packages/default
copy one of these to your writable location… in my case it was /mnt/conf/bin
modify the application as required.
Create Custom Icons
you will need both 16x16 and 32x32 size icons
store these in your writable location for example /mnt/conf/bin
Create a custom packages.json
Copy the packages.json file from /usr/lib/node_modules/ui2 to your writable location… /mnt/conf/bin
modify the file adding an entry to the “www” group for your new application… Check the syntax of the file with “jq -c < packages.json” when your complete.
for my example i added the following…
Add a User Service Script
Create a “user.sh” script to place all the files in the proper place then restart the ui service…
#!/bin/sh cp -f /mnt/conf/bin/packages.json /usr/lib/node_modules/ui2 chmod 644 /usr/lib/node_modules/ui2/packages.json cp -R /mnt/conf/bin/RACHEL /usr/share/www/packages/default chmod 755 /mnt/conf/bin/RACHEL cp -f /mnt/conf/bin/RACHEL_16x16.png /usr/share/www/themes/icons/default/16x16/apps/RACHEL.png cp -f /mnt/conf/bin/RACHEL_32x32.png /usr/share/www/themes/icons/default/32x32/apps/RACHEL.png /etc/init.d/S70ui2service restart
when you goto the Skylark Web UI, you will see your new application…