Path: blob/next/external/config/desktop/README.md
18112 views
Desktop configuration
Please use lowercase letters for all config / folder files
In each directory representing a desktop environment, a desktop environment configuration or an appgroup, the following files can be present :
packagesIf present, the content of the file will be added to the list of packages 'required' by the OrangePi desktop package.debian/postinstIf present, the content of the file will be added to thepostinstscript of the OrangePi desktop package, which will be executed after installing it.armbian/create_desktop_package.shIf present the content of this script will be executed, by the build script, just before actually creating the OrangePi Desktop.debpackage. Any variable recognized and function defined by the build script, at that point, can be used.sources/aptIf present, the directory will be scanned for.sourcefiles, which should contain APT URL, in a form thatadd-apt-repositoryunderstand. The system is restricted to ONLY ONE APT URL per file, since it's basically calling :add-apt-repository $(cat "/that/apt/file.source")For each.sourcefile parsed, if there's a corresponding.source.gpgfile, the file will be considered as a package signing key and will be passed toapt-key. For this one, the file is copied into${SDCARD}/tmpand then apt-key is called like this :apt-key "/tmp/file.source.gpg".
Then in each directory representing a desktop environment, a desktop environment configuration or an appgroup, you can add :
custom/boards/${BOARD}/For examplecustom/orangepipc. A Board (odroidc4, tinkerboard, bananapi, ...) specific directory where you can provide additionalpackages,debian/postinstandarmbian/create_desktop_package.sh. The files, if present, will be parsed accordingly when building for that specific board, if the element (desktop environment, appgroup, ...) is selected.
Then in each appgroup, you can add :
custom/desktops/${DESTKOP_ENVIRONMENT}/For examplecustom/desktops/xfce. A desktop environment specific directory where you can provide additionalpackages,debian/postinstandarmbian/create_desktop_package.sh. The files, if present, will be parsed accordingly if the appgroup AND that desktop environment are both selected during a build.custom/boards/${BOARD}/custom/desktops/${DESTKOP_ENVIRONMENT}/For examplecustom/boards/tinkerboard/custom/desktops/kde. A Board AND desktop environment specific directory where you can provided additionalpackages,debian/postinstandarmbian/create_desktop_package.sh. The files, if present, will be parsed accordingly if the appgroup, that specific board and that specific desktop environments are all selected during a build.
Adding a desktop environment
Currently, only official repositories are supported.
Let's say that you want to add that new desktop environment "superduperde", that is now available on official on Debian/Ubuntu repositories.
First, focus on one specific distribution like focal (Ubuntu) or buster (Debian). In our example, will take focal.
We'll create our first configuration 'full', which should provide the DE along with all its specific apps, widgets and the kitchen sink.
Create the directory
config/desktop/focal/environments/superduperde/config_fullCreate the file
config/desktop/focal/environments/superduperde/config_full/packagesOpen the
packagesfile, add the list of packages forapt.
Then select it in the configuration menu, or pass the following variables to ./compile.sh :
Then test the resulting image !
Tips
Keep most complete configuration in latest stable versions (Ubuntu Focal and Ubuntu Buster) and link their sub-components / directories. The same goes for DE. We keep XFCE as a base and others linked to it - where this make sense.