~comcloudway/cushion

2a63cc174535ed376cc416b733ae689e5e8debab — Jakob Meier 1 year, 2 months ago 7d7fe9a
Added a language selector
248 files changed, 987 insertions(+), 4 deletions(-)

M README.org
A overlay/etc/languages.yml
M overlay/etc/lightdm/lightdm.conf
M overlay/etc/local.d/cushion.start
A overlay/usr/bin/language-select
A overlay/usr/bin/language-wrapper
A overlay/usr/share/icons/flags/AD.png
A overlay/usr/share/icons/flags/AE.png
A overlay/usr/share/icons/flags/AF.png
A overlay/usr/share/icons/flags/AG.png
A overlay/usr/share/icons/flags/AI.png
A overlay/usr/share/icons/flags/AL.png
A overlay/usr/share/icons/flags/AM.png
A overlay/usr/share/icons/flags/AN.png
A overlay/usr/share/icons/flags/AO.png
A overlay/usr/share/icons/flags/AQ.png
A overlay/usr/share/icons/flags/AR.png
A overlay/usr/share/icons/flags/AS.png
A overlay/usr/share/icons/flags/AT.png
A overlay/usr/share/icons/flags/AU.png
A overlay/usr/share/icons/flags/AW.png
A overlay/usr/share/icons/flags/AX.png
A overlay/usr/share/icons/flags/AZ.png
A overlay/usr/share/icons/flags/BA.png
A overlay/usr/share/icons/flags/BB.png
A overlay/usr/share/icons/flags/BD.png
A overlay/usr/share/icons/flags/BE.png
A overlay/usr/share/icons/flags/BF.png
A overlay/usr/share/icons/flags/BG.png
A overlay/usr/share/icons/flags/BH.png
A overlay/usr/share/icons/flags/BI.png
A overlay/usr/share/icons/flags/BJ.png
A overlay/usr/share/icons/flags/BL.png
A overlay/usr/share/icons/flags/BM.png
A overlay/usr/share/icons/flags/BN.png
A overlay/usr/share/icons/flags/BO.png
A overlay/usr/share/icons/flags/BR.png
A overlay/usr/share/icons/flags/BS.png
A overlay/usr/share/icons/flags/BT.png
A overlay/usr/share/icons/flags/BW.png
A overlay/usr/share/icons/flags/BY.png
A overlay/usr/share/icons/flags/BZ.png
A overlay/usr/share/icons/flags/CA.png
A overlay/usr/share/icons/flags/CC.png
A overlay/usr/share/icons/flags/CD.png
A overlay/usr/share/icons/flags/CF.png
A overlay/usr/share/icons/flags/CG.png
A overlay/usr/share/icons/flags/CH.png
A overlay/usr/share/icons/flags/CI.png
A overlay/usr/share/icons/flags/CK.png
A overlay/usr/share/icons/flags/CL.png
A overlay/usr/share/icons/flags/CM.png
A overlay/usr/share/icons/flags/CN.png
A overlay/usr/share/icons/flags/CO.png
A overlay/usr/share/icons/flags/CR.png
A overlay/usr/share/icons/flags/CU.png
A overlay/usr/share/icons/flags/CV.png
A overlay/usr/share/icons/flags/CW.png
A overlay/usr/share/icons/flags/CX.png
A overlay/usr/share/icons/flags/CY.png
A overlay/usr/share/icons/flags/CZ.png
A overlay/usr/share/icons/flags/DE.png
A overlay/usr/share/icons/flags/DJ.png
A overlay/usr/share/icons/flags/DK.png
A overlay/usr/share/icons/flags/DM.png
A overlay/usr/share/icons/flags/DO.png
A overlay/usr/share/icons/flags/DZ.png
A overlay/usr/share/icons/flags/EC.png
A overlay/usr/share/icons/flags/EE.png
A overlay/usr/share/icons/flags/EG.png
A overlay/usr/share/icons/flags/EH.png
A overlay/usr/share/icons/flags/ER.png
A overlay/usr/share/icons/flags/ES.png
A overlay/usr/share/icons/flags/ET.png
A overlay/usr/share/icons/flags/FI.png
A overlay/usr/share/icons/flags/FJ.png
A overlay/usr/share/icons/flags/FK.png
A overlay/usr/share/icons/flags/FM.png
A overlay/usr/share/icons/flags/FO.png
A overlay/usr/share/icons/flags/FR.png
A overlay/usr/share/icons/flags/GA.png
A overlay/usr/share/icons/flags/GB.png
A overlay/usr/share/icons/flags/GD.png
A overlay/usr/share/icons/flags/GE.png
A overlay/usr/share/icons/flags/GG.png
A overlay/usr/share/icons/flags/GH.png
A overlay/usr/share/icons/flags/GI.png
A overlay/usr/share/icons/flags/GL.png
A overlay/usr/share/icons/flags/GM.png
A overlay/usr/share/icons/flags/GN.png
A overlay/usr/share/icons/flags/GQ.png
A overlay/usr/share/icons/flags/GR.png
A overlay/usr/share/icons/flags/GS.png
A overlay/usr/share/icons/flags/GT.png
A overlay/usr/share/icons/flags/GU.png
A overlay/usr/share/icons/flags/GW.png
A overlay/usr/share/icons/flags/GY.png
A overlay/usr/share/icons/flags/HK.png
A overlay/usr/share/icons/flags/HN.png
A overlay/usr/share/icons/flags/HR.png
A overlay/usr/share/icons/flags/HT.png
A overlay/usr/share/icons/flags/HU.png
A overlay/usr/share/icons/flags/IC.png
A overlay/usr/share/icons/flags/ID.png
A overlay/usr/share/icons/flags/IE.png
A overlay/usr/share/icons/flags/IL.png
A overlay/usr/share/icons/flags/IM.png
A overlay/usr/share/icons/flags/IN.png
A overlay/usr/share/icons/flags/IQ.png
A overlay/usr/share/icons/flags/IR.png
A overlay/usr/share/icons/flags/IS.png
A overlay/usr/share/icons/flags/IT.png
A overlay/usr/share/icons/flags/JE.png
A overlay/usr/share/icons/flags/JM.png
A overlay/usr/share/icons/flags/JO.png
A overlay/usr/share/icons/flags/JP.png
A overlay/usr/share/icons/flags/KE.png
A overlay/usr/share/icons/flags/KG.png
A overlay/usr/share/icons/flags/KH.png
A overlay/usr/share/icons/flags/KI.png
A overlay/usr/share/icons/flags/KM.png
A overlay/usr/share/icons/flags/KN.png
A overlay/usr/share/icons/flags/KP.png
A overlay/usr/share/icons/flags/KR.png
A overlay/usr/share/icons/flags/KW.png
A overlay/usr/share/icons/flags/KY.png
A overlay/usr/share/icons/flags/KZ.png
A overlay/usr/share/icons/flags/LA.png
A overlay/usr/share/icons/flags/LB.png
A overlay/usr/share/icons/flags/LC.png
A overlay/usr/share/icons/flags/LI.png
A overlay/usr/share/icons/flags/LICENSE
A overlay/usr/share/icons/flags/LK.png
A overlay/usr/share/icons/flags/LR.png
A overlay/usr/share/icons/flags/LS.png
A overlay/usr/share/icons/flags/LT.png
A overlay/usr/share/icons/flags/LU.png
A overlay/usr/share/icons/flags/LV.png
A overlay/usr/share/icons/flags/LY.png
A overlay/usr/share/icons/flags/MA.png
A overlay/usr/share/icons/flags/MC.png
A overlay/usr/share/icons/flags/MD.png
A overlay/usr/share/icons/flags/ME.png
A overlay/usr/share/icons/flags/MF.png
A overlay/usr/share/icons/flags/MG.png
A overlay/usr/share/icons/flags/MH.png
A overlay/usr/share/icons/flags/MK.png
A overlay/usr/share/icons/flags/ML.png
A overlay/usr/share/icons/flags/MM.png
A overlay/usr/share/icons/flags/MN.png
A overlay/usr/share/icons/flags/MO.png
A overlay/usr/share/icons/flags/MP.png
A overlay/usr/share/icons/flags/MQ.png
A overlay/usr/share/icons/flags/MR.png
A overlay/usr/share/icons/flags/MS.png
A overlay/usr/share/icons/flags/MT.png
A overlay/usr/share/icons/flags/MU.png
A overlay/usr/share/icons/flags/MV.png
A overlay/usr/share/icons/flags/MW.png
A overlay/usr/share/icons/flags/MX.png
A overlay/usr/share/icons/flags/MY.png
A overlay/usr/share/icons/flags/MZ.png
A overlay/usr/share/icons/flags/NA.png
A overlay/usr/share/icons/flags/NC.png
A overlay/usr/share/icons/flags/NE.png
A overlay/usr/share/icons/flags/NF.png
A overlay/usr/share/icons/flags/NG.png
A overlay/usr/share/icons/flags/NI.png
A overlay/usr/share/icons/flags/NL.png
A overlay/usr/share/icons/flags/NO.png
A overlay/usr/share/icons/flags/NP.png
A overlay/usr/share/icons/flags/NR.png
A overlay/usr/share/icons/flags/NU.png
A overlay/usr/share/icons/flags/NZ.png
A overlay/usr/share/icons/flags/OM.png
A overlay/usr/share/icons/flags/PA.png
A overlay/usr/share/icons/flags/PE.png
A overlay/usr/share/icons/flags/PF.png
A overlay/usr/share/icons/flags/PG.png
A overlay/usr/share/icons/flags/PH.png
A overlay/usr/share/icons/flags/PK.png
A overlay/usr/share/icons/flags/PL.png
A overlay/usr/share/icons/flags/PN.png
A overlay/usr/share/icons/flags/PR.png
A overlay/usr/share/icons/flags/PS.png
A overlay/usr/share/icons/flags/PT.png
A overlay/usr/share/icons/flags/PW.png
A overlay/usr/share/icons/flags/PY.png
A overlay/usr/share/icons/flags/QA.png
A overlay/usr/share/icons/flags/RO.png
A overlay/usr/share/icons/flags/RS.png
A overlay/usr/share/icons/flags/RU.png
A overlay/usr/share/icons/flags/RW.png
A overlay/usr/share/icons/flags/SA.png
A overlay/usr/share/icons/flags/SB.png
A overlay/usr/share/icons/flags/SC.png
A overlay/usr/share/icons/flags/SD.png
A overlay/usr/share/icons/flags/SE.png
A overlay/usr/share/icons/flags/SG.png
A overlay/usr/share/icons/flags/SH.png
A overlay/usr/share/icons/flags/SI.png
A overlay/usr/share/icons/flags/SK.png
A overlay/usr/share/icons/flags/SL.png
A overlay/usr/share/icons/flags/SM.png
A overlay/usr/share/icons/flags/SN.png
A overlay/usr/share/icons/flags/SO.png
A overlay/usr/share/icons/flags/SR.png
A overlay/usr/share/icons/flags/SS.png
A overlay/usr/share/icons/flags/ST.png
A overlay/usr/share/icons/flags/SV.png
A overlay/usr/share/icons/flags/SY.png
A overlay/usr/share/icons/flags/SZ.png
A overlay/usr/share/icons/flags/TC.png
A overlay/usr/share/icons/flags/TD.png
A overlay/usr/share/icons/flags/TF.png
A overlay/usr/share/icons/flags/TG.png
A overlay/usr/share/icons/flags/TH.png
A overlay/usr/share/icons/flags/TJ.png
A overlay/usr/share/icons/flags/TK.png
A overlay/usr/share/icons/flags/TL.png
A overlay/usr/share/icons/flags/TM.png
A overlay/usr/share/icons/flags/TN.png
A overlay/usr/share/icons/flags/TO.png
A overlay/usr/share/icons/flags/TR.png
A overlay/usr/share/icons/flags/TT.png
A overlay/usr/share/icons/flags/TV.png
A overlay/usr/share/icons/flags/TW.png
A overlay/usr/share/icons/flags/TZ.png
A overlay/usr/share/icons/flags/UA.png
A overlay/usr/share/icons/flags/UG.png
A overlay/usr/share/icons/flags/US.png
A overlay/usr/share/icons/flags/UY.png
A overlay/usr/share/icons/flags/UZ.png
A overlay/usr/share/icons/flags/VA.png
A overlay/usr/share/icons/flags/VC.png
A overlay/usr/share/icons/flags/VE.png
A overlay/usr/share/icons/flags/VG.png
A overlay/usr/share/icons/flags/VI.png
A overlay/usr/share/icons/flags/VN.png
A overlay/usr/share/icons/flags/VU.png
A overlay/usr/share/icons/flags/WF.png
A overlay/usr/share/icons/flags/WS.png
A overlay/usr/share/icons/flags/YE.png
A overlay/usr/share/icons/flags/YT.png
A overlay/usr/share/icons/flags/ZA.png
A overlay/usr/share/icons/flags/ZM.png
A overlay/usr/share/icons/flags/ZW.png
A overlay/usr/share/icons/flags/_wales.png
M README.org => README.org +35 -0
@@ 171,6 171,40 @@ If you don't want to download the packages every time,
you might want to setup an apk cache.


* Configuration
** Network
The network configuration code has been taken from
[[https://github.com/macmpi/alpine-linux-headless-bootstrap#extra-configuration][alpine-linux-headless-bootstrap]].

*** Interfaces
By default all interfaces will be started using dhcp,
if this does not suit you,
you can provide a custom interfaces file.

*** Wifi
If you do not have an Ethernet connection,
you have to setup wifi.

On ~sys~ installations,
you can simply use the ~setup-interfaces~ command,
which is part of ~setup-alpine~.

But if you want to preconfigure wifi access on a ~data~ install,
you have to provide a ~wpa_supplicant.conf~ file.
Have a look at the [[https://wiki.archlinux.org/title/Wpa_supplicant][Arch Wiki]] for a guide on
how to create a working ~wpa_supplicant.conf~ file.

** Languages
By default, all languages found in the [[./overlay/etc/languages.yml][languages.yml]] will be installed,
but you can either replace the file in ~/etc/languages.yml~,
or put a custom ~languages.yml~ in the same folder as the overlay
(when using the data mode) to overwrite the default list.

- if no languages are specified, you won't be able to login.
- if one language is specified, it will automatically be selected
- if multiple languages are specified,
  a language picker windows will be shown before guest login

* Resources
- [[https://github.com/B00merang-Artwork/Windows-10][B00merang-Artwork Windows 10 Icon Theme]]
  ([[https://github.com/B00merang-Artwork/Windows-10/issues/26][No License (Maybe GPL)]],


@@ 187,3 221,4 @@ you might want to setup an apk cache.
- [[https://commons.wikimedia.org/wiki/File:Windows_10_Logo.svg#/media/File:Windows_logo_2012-Black.svg][Windows 10 Logo]] from Wikimedia Commons (Public domain)
  (Scaled down & color-inverted using Gimp)
- [[https://ia804709.us.archive.org/32/items/computer-wallpapers/all-of-the-windows-10-default-wallpapers-.jpg][Windows 10 Wallpaper]] under CC BY 4.0 from [[https://archive.org/details/computer-wallpapers/amd-ryzen--wallpaper.jpg][archive.org]] uploaded by 123linux.com
- [[https://www.gosquared.com/resources/flag-icons/][Country Flags (2013)]] by [[https://github.com/gosquared][gosquared]] under MIT

A overlay/etc/languages.yml => overlay/etc/languages.yml +839 -0
@@ 0,0 1,839 @@
---
# List of Languages
# the name should be the native name,
# however for now it is using the ISO language name
# (with some slight modifications, to differentiate different regions)
# - the language key should be set to a ISO 639-1 code,
#   but may also contain territory data
# - the lang key must be a combination of ISO 639-1 and ISO 3166
#   Additionally it must specify a character format
# - the icon can be set to the flag of the country/territory whoose ISEO 3166
#   code was used for the lang key
#
# The language key will be used to install libreoffice language packs
# libreoffice-lang-$language
#
# Template:
# - name:
#   icon: ".png"
#   language:
#   lang:
#
# The Language names were obtained from Wikipedia:
# https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
# The lang key LL_TT.CCCCC was obtained from the arch linux locale.gen file
# with additional codes taken from
# https://lingohub.com/academy/best-practices/iso-639-2-list
#
# TODO:
# (wiki missing)    - unable to find a language name
# (locale missing)  - the locale.gen file didn't contain the language

- name: English (UK)
  icon: "GB.png"
  language: en_GB
  lang: en_GB.UTF-8
- name: English (US)
  icon: "US.png"
  language: en_US
  lang: en_US.UTF-8
- name: English (South Africa)
  icon: "ZA.png"
  language: en_ZA
  lang: en_ZA.UTF-8

- name: Deutsch
  icon: "DE.png"
  language: de
  lang: de_DE.UTF-8

- name: Afrikaans
  icon: "ZA.png"
  language: af
  lang: af_ZA.UTF-8

- name: Amharic
  icon: "ET.png"
  language: am
  lang: am_ET.UTF-8

- name: Arabic (United Arab Emirates)
  icon: "AE.png"
  language: ar
  lang: ar_AE.UTF-8
- name: Arabic (Bahrain)
  icon: "BH.png"
  language: ar
  lang: ar_BH.UTF-8
- name: Arabic (Algeria)
  icon: "DZ.png"
  language: ar
  lang: ar_DZ.UTF-8
- name: Arabic (Egypt)
  icon: "EG.png"
  language: ar
  lang: ar_EG.UTF-8
- name: Arabic (India)
  icon: "IN.png"
  language: ar
  lang: ar_IN
- name: Arabic (Iraq)
  icon: "IQ.png"
  language: ar
  lang: ar_IQ.UTF-8
- name: Arabic (Jordan)
  icon: "JO.png"
  language: ar
  lang: ar_JO.UTF-8
- name: Arabic (Kuwait)
  icon: "KW.png"
  language: ar
  lang: ar_KW.UTF-8
- name: Arabic (Lebanon)
  icon: "LB.png"
  language: ar
  lang: ar_LB.UTF-8
- name: Arabic (Libya)
  icon: "LY.png"
  language: ar
  lang: ar_LY.UTF-8
- name: Arabic (Morocco)
  icon: "MA.png"
  language: ar
  lang: ar_MA.UTF-8
- name: Arabic (Oman)
  icon: "OM.png"
  language: ar
  lang: ar_OM.UTF-8
- name: Arabic (Qatar)
  icon: "QA.png"
  language: ar
  lang: ar_QA.UTF-8
- name: Arabic (Saudi Arabia)
  icon: "SA.png"
  language: ar
  lang: ar_SA.UTF-8
- name: Arabic (Sudan)
  icon: "SD.png"
  language: ar
  lang: ar_SD.UTF-8
- name: Arabic (South Sudan)
  icon: "SS.png"
  language: ar
  lang: ar_SS
- name: Arabic (Syrian Arab Republic)
  icon: "SY.png"
  language: ar
  lang: ar_SY.UTF-8
- name: Arabic (Tunisia)
  icon: "TN.png"
  language: ar
  lang: ar_TN.UTF-8
- name: Arabic (Yemen)
  icon: "YE.png"
  language: ar
  lang: ar_YE.UTF-8

- name: Assamese
  icon: "IN.png"
  language: as
  lang: as_IN

- name: Asturian, Bable, Leonese, Asturleonese
  icon: "ES.png"
  language: ast
  lang: ast_ES.UTF-8

- name: Belarusian
  icon: "BY.png"
  language: be
  lang: be_BY.UTF-8

- name: Bulgarian
  icon: "BG.png"
  language: bg
  lang: bg_BG.UTF-8

- name: Bengali
  icon: "BD.png"
  language: bn
  lang: bn_BD
- name: Bengali
  icon: "IN.png"
  language: bn_in
  lang: bn_IN

- name: Tibetan (China)
  icon: "CN.png"
  language: bo
  lang: bo_CN
- name: Tibetan (India)
  icon: "IN.png"
  language: bo
  lang: bo_IN

- name: Breton
  icon: "FR.png"
  language: br
  lang: br_FR.UTF-8

#brx (wiki missing)

- name: Bosnian
  icon: "BA.png"
  language: bs
  lang: bs_BA.UTF-8

- name: Catalan (Andorra)
  icon: "AD.png"
  language: ca
  lang: ca_AD.UTF-8
- name: Catalan (Spain)
  icon: "ES.png"
  language: ca
  lang: ca_ES.UTF-8
- name: Catalan (France)
  icon: "FR.png"
  language: ca
  lang: ca_FR.UTF-8
- name: Catalan (Italy)
  icon: "IT.png"
  language: ca
  lang: ca_IT.UTF-8

- name: Catalan (Valencian)
  icon: "ES.png"
  language: ca_valencia
  lang: ca_ES@valencia

- name: Czech
  icon: "CZ.png"
  language: cs
  lang: cs_CZ.UTF-8

#ckb (wiki missing)

- name: Welsh
  icon: "_wales.png"
  language: cy
  lang: cy_GB

- name: Danish
  icon: "DK.png"
  language: da
  lang: da_DK.UTF-8

#dgo (locale missing)

- name: Lower Sorbian
  icon: "DE.png"
  language: dsb
  lang: dsb_DE

- name: Dzongkha
  icon: "BT.png"
  language: dz
  lang: dz_BT

- name: Greek (Greece)
  icon: "GR.png"
  language: el
  lang: el_GR.UTF-8
- name: Greek (Cyprus)
  icon: "CY.png"
  language: el
  lang: el_CY.UTF-8

#eo (wiki missing, locale missing)

- name: Spanish (Argentina)
  icon: "AR.png"
  language: es
  lang: es_AR.UTF-8
- name: Spanish (Bolivia)
  icon: "BO.png"
  language: es
  lang: es_BO.UTF-8
- name: Spanish (Chile)
  icon: "CL.png"
  language: es
  lang: es_CL.UTF-8
- name: Spanish (Colombia)
  icon: "CO.png"
  language: es
  lang: es_CO.UTF-8
- name: Spanish (Costa Rica)
  icon: "CR.png"
  language: es
  lang: es_CR.UTF-8
- name: Spanish (Cuba)
  icon: "CU.png"
  language: es
  lang: es_CU
- name: Spanish (Dominican Republic)
  icon: "DO.png"
  language: es
  lang: es_DO.UTF-8
- name: Spanish (Ecuador)
  icon: "EC.png"
  language: es
  lang: es_EC.UTF-8
- name: Spanish (Spain)
  icon: "ES.png"
  language: es
  lang: es_ES.UTF-8
- name: Spanish (Guatemala)
  icon: "GT.png"
  language: es
  lang: es_GT.UTF-8
- name: Spanish (Honduras)
  icon: "HN.png"
  language: es
  lang: es_HN.UTF-8
- name: Spanish (Mexico)
  icon: "MX.png"
  language: es
  lang: es_MX.UTF-8
- name: Spanish (Nicaragua)
  icon: "NI.png"
  language: es
  lang: es_NI.UTF-8
- name: Spanish (Panama)
  icon: "PA.png"
  language: es
  lang: es_PA.UTF-8
- name: Spanish (Peru)
  icon: "PE.png"
  language: es
  lang: es_PE.UTF-8
- name: Spanish (Puerto Rico)
  icon: "PR.png"
  language: es
  lang: es_PR.UTF-8
- name: Spanish (Paraguay)
  icon: "PY.png"
  language: es
  lang: es_PY.UTF-8
- name: Spanish (El Savador)
  icon: "SV.png"
  language: es
  lang: es_SV.UTF-8
- name: Spanish (US)
  icon: "US.png"
  language: es
  lang: es_US.UTF-8
- name: Spanish (Uruguay)
  icon: "UY.png"
  language: es
  lang: es_UY.UTF-8
- name: Spanish (Venezuela)
  icon: "VE.png"
  language: es
  lang: es_VE.UTF-8

- name: Estonian
  icon: "EE.png"
  language: et
  lang: et_EE.UTF-8

- name: Basque
  icon: "ES.png"
  language: eu
  lang: eu_ES.UTF-8

- name: Persian
  icon: "IR.png"
  language: fa
  lang: fa_IR

- name: Finnish
  icon: "FI.png"
  language: fi
  lang: fi_FI.UTF-8

- name: French (Belgium)
  icon: "BE.png"
  language: fr
  lang: fr_BE.UTF-8
- name: French (Canada)
  icon: "CA.png"
  language: fr
  lang: fr_CA.UTF-8
- name: French (Switzerland)
  icon: "CH.png"
  language: fr
  lang: fr_CH.UTF-8
- name: French (France)
  icon: "FR.png"
  language: fr
  lang: fr_FR.UTF-8
- name: French (Luxembourg)
  icon: "LU.png"
  language: fr
  lang: fr_LU.UTF-8

- name: Friulian
  icon: "IT.png"
  language: fur
  lang: fur_IT

- name: Western Frisian (Germany)
  icon: "DE.png"
  language: fy
  lang: fy_DE
- name: Western Frisian (Netherlands)
  icon: "NL.png"
  language: fy
  lang: fy_NL

- name: Irish
  icon: "IE.png"
  language: ga
  lang: ga_IE.UTF-8

- name: Gaelic
  icon: "GB.png"
  language: gd
  lang: gd_GB.UTF-8

- name: Galician
  icon: "ES.png"
  language: gl
  lang: gl_ES.UTF-8

- name: Gujarati
  icon: "IN.png"
  language: gu
  lang: gu_IN

#gug (locale missing, wiki missing)

- name: Hebrew
  icon: "IL.png"
  language: he
  lang: he_IL.UTF-8

- name: Hindi
  icon: "IN.png"
  language: hi
  lang: hi_IN

- name: Croatian
  icon: "HR.png"
  language: hr
  lang: hr_HR.UTF-8

- name: Upper Sorbian
  icon: "DE.png"
  language: hsb
  lang: hsb_DE.UTF-8

- name: Hungarian
  icon: "HU.png"
  language: hu
  lang: hu_HU.UTF-8

- name: Indonesian
  icon: "ID.png"
  language: id
  lang: id_ID.UTF-8

- name: Icelandic
  icon: "IS.png"
  language: is
  lang: is_IS.UTF_8

- name: Italian (Switzerland)
  icon: "CH.png"
  language: it
  lang: it_CH.UTF-8
- name: Italian (Italy)
  icon: "IT.png"
  language: it
  lang: it_IT.UTF-8

- name: Japanese
  icon: "JP.png"
  language: jp
  lang: jp_JP.UTF-8

- name: Georgian
  icon: "GE.png"
  language: ka
  lang: ka_GE.UTF-8

- name: Kabyle
  icon: "DZ.png"
  language: kab
  lang: kab_DZ

- name: Kazakh
  icon: "KZ.png"
  language: kk
  lang: kk_KZ.UTF_8

- name: (Central) Khmer (Cambodian)
  icon: "KH.png"
  language: km
  lang: km_KH

#kmr_latn (wiki missing, locale mising)

- name: Kannada
  icon: "IN.png"
  language: kn
  lang: kn_IN

- name: Korean
  icon: "KR.png"
  language: ko
  lang: ko_KR.UTF-8

- name: Konkani
  icon: "IN.png"
  language: kok
  lang: kok_IN

- name: Kashmiri
  icon: "IN.png"
  language: ks
  lang: ks_IN

- name: Luxembourgish (Letzeburgesch)
  icon: "LU.png"
  language: lb
  lang: lb_LU

- name: Lao
  icon: "LA.png"
  language: lo
  lang: lo_LA

- name: Lithuanian
  icon: "LT.png"
  language: lt
  lang: lt_LT.UTF-8

- name: Latvian
  icon: "LV.png"
  language: lv
  lang: lv_LV.UTF-8

- name: Maithili (India)
  icon: "IN.png"
  language: mai
  lang: mai_IN
- name: Maithili (Nepal)
  icon: "NP.png"
  language: mai
  lang: mai_NP

- name: Macedonian
  icon: "MK.png"
  language: mk
  lang: mk_MK.UTF-8

- name: Malayalam
  icon: "IN.png"
  language: ml
  lang: ml_IN

- name: Mongolian
  icon: "MN.png"
  language: mn
  lang: mn_MN

- name: Manipuri
  icon: "IN.png"
  language: mni
  lang: mni_IN

- name: Marathi
  icon: "IN.png"
  language: mr
  lang: mr_IN

- name: Burmese (Myanmar)
  icon: "MM.png"
  language: my
  lang: my_MM

# NOTE: had to remove the a accent,
# because yad doesn't support it
- name: Norwegian Bokmal
  icon: "NO.png"
  language: nb
  lang: nb_NO.UTF-8

- name: Nepali
  icon: "NP.png"
  language: ne
  lang: ne_NP

- name: Dutch (Flemish) (Aruba)
  icon: "AW.png"
  language: nl
  lang: nl_AW
- name: Dutch (Flemish) (Belgium)
  icon: "BE.png"
  language: nl
  lang: nl_BE.UTF-8
- name: Dutch (Flemish) (Netherlands)
  icon: "NL.png"
  language: nl
  lang: nl_NL.UTF-8

- name: Norwegian Nynorsk
  icon: "NO.png"
  language: nn
  lang: nn_NO.UTF-8

- name: South(ern) Ndebele
  icon: "ZA.png"
  language: nr
  lang: nr_ZA

- name: Pedi; Sepedi; Northern Sotho
  icon: "ZA.png"
  language: nso
  lang: nso_ZA

- name: Occitan
  icon: "FR.png"
  language: oc
  lang: oc_FR.UTF-8

- name: Oromo (Ethiopia)
  icon: "ET.png"
  language: om
  lang: om_ET
- name: Oromo (Kenya)
  icon: "KE.png"
  language: om
  lang: om_KE.UTF-8

- name: Oriya
  icon: "IN.png"
  language: or
  lang: or_IN

# NOTE: there is a pa_PK variant,
# however LibreOffice doesn't support it on Alpine Linux
- name: Punjabi, Panjabi
  icon: "IN.png"
  language: pa_IN
  lang: pa_IN

- name: Polish
  icon: "PL.png"
  language: pl
  lang: pl_PL.UTF-8

- name: Portuguese
  icon: "PT.png"
  language: pt
  lang: pt_PT.UTF-8
- name: Portuguese (Brazil)
  icon: "BR.png"
  language: pt_BR
  lang: pt_BR.UTF-8

- name: Romanian, Moldavian, Moldovan
  icon: "RO.png"
  language: ro
  lang: ro_RO.UTF-8

- name: Russian (Russia)
  icon: "RU.png"
  language: ru
  lang: ru_RU.UTF-8
- name: Russian (Ukraine)
  icon: "UA.png"
  language: ru
  lang: ru_UA.UTF-8

- name: Kinyarwanda
  icon: "RW.png"
  language: rw
  lang: rw_RW

- name: Sanskrit
  icon: "IN.png"
  language: sa_IN
  lang: sa_IN

- name: Santali
  icon: "IN.png"
  language: sat
  lang: sat_IN

- name: Sindhi
  icon: "IN.png"
  language: sd
  lang: sd_IN

- name: Sinhala, Sinhalese
  icon: "LK.png"
  language: si
  lang: si_LK

- name: Sidamo
  icon: "ET.png"
  language: sid
  lang: sid_ET

- name: Slovak
  icon: "SK.png"
  language: sk
  lang: sk_SK.UTF-8

- name: Slovenian
  icon: "SI.png"
  language: sl
  lang: sl_SI.UTF-8

- name: Albanian (Albania)
  icon: "AL.png"
  language: sq
  lang: sq_AL.UTF-8
- name: Albanian (North Macedonia)
  icon: "MK.png"
  language: sq
  lang: sq_MK

- name: Serbia (Suriname)
  icon: "SR.png"
  language: sr
  lang: sr_RS
- name: Serbia (Montenegro)
  icon: "ME.png"
  language: sr
  lang: sr_ME

- name: Serbian (Latin)
  icon: "RS.png"
  language: sr_latn
  lang: sr_RS@latin

- name: Swati
  icon: "ZA.png"
  language: ss
  lang: ss_ZA

- name: Southern Sotho
  icon: "ZA.png"
  language: st
  lang: st_ZA.UTF_8

# NOTE: there is a sw_KE variant,
# however LibreOffice doesn't support it on Alpine Linux
- name: Swahili
  icon: "TZ.png"
  language: sw_TZ
  lang: sw_TZ

- name: Swedish (Finland)
  icon: "FI.png"
  language: sv
  lang: sc_FI.UTF-8
- name: Swedish (Sweden)
  icon: "SE.png"
  language: sv
  lang: sc_SE.UTF-8

- name: Tamil (Tokelau)
  icon: "LK.png"
  language: ta
  lang: ta_LK
- name: Tamil (India)
  icon: "IN.png"
  language: ta
  lang: ta_IN

- name: Telugu
  icon: "IN.png"
  language: te
  lang: te_IN

- name: Tajik
  icon: "TJ.png"
  language: tg
  lang: tg_TJ.UTF-8

- name: Thai
  icon: "TH.png"
  language: th
  lang: th_TH.UTF-8

- name: Tswana
  icon: "ZA.png"
  language: tn
  lang: tn_ZA

- name: Turkish (Cyprus)
  icon: "CY.png"
  language: tr
  lang: tr_CY.UTF-8
- name: Turkish (Turkey)
  icon: "TR.png"
  language: tr
  lang: tr_TR.UTF-8

- name: Tsonga
  icon: "ZA.png"
  language: ts
  lang: ts_ZA

- name: Tatar
  icon: "RU.png"
  language: tt
  lang: tt_RU

- name: Uighur, Uyghur
  icon: "CN.png"
  language: ug
  lang: ug_CN

- name: Ukrainian
  icon: "UA.png"
  language: uk
  lang: uk_UA.UTF-8

# NOTE: There might be a uz_UZ@cyrillic variant
- name: Uzbek
  icon: "UZ.png"
  language: uz
  lang: uz_UZ.UTF-8

- name: Venda
  icon: "ZA.png"
  language: ve
  lang: ve_ZA

#vec (locale missing, wiki missing)

- name: Yiddish
  icon: "US.png"
  language: yi
  lang: yi_US.UTF-8

- name: Xhosa
  icon: "ZA.png"
  language: xh
  lang: xh_ZA.UTF-8

# NOTE: zh_HK and zh_SG are also available
# however LibreOffice doesn't support it on Alpine Linux
- name: Chinese (China)
  icon: "CN.png"
  language: zh_CN
  lang: zh_CN.UTF-8
- name: Chinese (Taiwan)
  icon: "TW.png"
  language: zh_TW
  lang: zh_TW.UTF-8

- name: Zulu
  icon: "ZA.png"
  language: zu
  lang: zu_ZA.UTF-8

M overlay/etc/lightdm/lightdm.conf => overlay/etc/lightdm/lightdm.conf +1 -1
@@ 110,7 110,7 @@ allow-guest=true
guest-session=xfce
#session-wrapper=lightdm-session
#greeter-wrapper=
#guest-wrapper=
guest-wrapper=/usr/bin/language-wrapper
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=

M overlay/etc/local.d/cushion.start => overlay/etc/local.d/cushion.start +27 -3
@@ 49,7 49,6 @@ rc-service networking start

exec 1>/dev/console 2>&1


#############################################################################
# INSTALL DEPENDENCIES
# NOTE: libreoffice doesn't offer a lang package containing all languages


@@ 82,9 81,8 @@ libreoffice-writer
lightdm
lightdm-gtk-greeter
lightdm-gtk-greeter-lang
lsblk
lightdm-lang
mesa-dri-gallium
neovim
openssh
openssl
polkit


@@ 105,7 103,11 @@ xfce4-terminal
xfce4-terminal-lang
xfce4-whiskermenu-plugin
xfce4-whiskermenu-plugin-lang
xfdesktop-lang
xorg-server
xsetroot
yad
yq
EOF

setup-xorg-base


@@ 113,6 115,28 @@ addgroup autologin
addgroup nopasswdlogin

#############################################################################
# LANGUAGES
#############################################################################
if [ -f "${ovlpath}/languages.yml" ]; then
	# provided a custom language definition
	install -Dm 644 ${ovlpath}/languages.yml /etc/languages.yml
fi

# loop trough language definiton
# and try to install matching libreoffice lang packages
cat /etc/languages.yml | \
	yq '.[]' | \
	grep language: | \
	tr '[:upper:]' '[:lower:]' | \
	awk -F ' ' '{ print $2 }' | \
	sort | \
	uniq | \
	while read pkg;
	do
	apk add libreoffice-lang-$pkg
	done

#############################################################################
# START & ENABLE SERVICES
#############################################################################
rc-service dbus start

A overlay/usr/bin/language-select => overlay/usr/bin/language-select +72 -0
@@ 0,0 1,72 @@
#!/bin/sh
# depends: yad, yq, bc, awk, xargs

# path to flag icon collection
icon_base_path="/usr/share/icons/flags/"
# path to languages.yml file
db="$(cat $1)"

len=$(echo "$db" | yq 'length')

if [ "$len" = "0" ]; then
	# No languages found
	# cannot show selection menu
	exit 1
fi

code=0
# only show the selector if more than one language is available
# otherwise no input is needed
if [ ! "$len" = "1" ]; then
	# generate options list
	# every option prints three lines
	# 1. index
	# 2. icon path
	# 3. name
	options=$(
		for i in $(seq 0 $(echo $len - 1 | bc));
		do
			icon=$(echo "$db" | yq ".[$i]" | yq '.icon')
			name=$(echo "$db" | yq ".[$i]" | yq '.name')
			# show the index, to make selection resolution easier
			echo $i
			# the icon name has to be prefixed with the system icon path
			echo $icon_base_path$icon
			# escaped quotes are needed,
			# because otherwise yad thinks that English (UK) are multiple args
			echo \"$name\"
		done
		   )

	dimens=$(xrandr | \
		awk '/ primary/{ print $(NF-11) }' | \
		awk -F'+' '{ print $1 }')
	width=$(echo $dimens | awk -F'x' '{ print $1 }')
	height=$(echo $dimens | awk -F'x' '{ print $2 }')

	#####################################################
	# SHOW THE SELECTION POPUP
	# NOTE: we have to use xargs to pass the lines to yad,
	# because sh doesn't support arrays
	# and there is no other way to make sure that
	# English (UK) is treated as one argument
	# NOTE: the language index is not shown to the user
	# NOTE: by typing the user can search for a language
	sel=$(echo "$options" | xargs yad \
		--list \
		--width $width \
		--height $height \
		--hide-column 1 \
		--search-column 3 \
		--column=Index:NUM \
		--column=Flag:IMG \
		--column=Language:Text)

	# yad's list mode outputs v1|v2|v3|...
	# so we have to cut of at the first | and print the first value
	code=$(echo $sel | awk -F '|' '{ print $1 }' )
fi

selection=$(echo "$db" | yq ".[$code]")
echo LANG=$(echo "$selection" | yq '.lang')
echo LANGUAGE=$(echo "$selection" | yq '.language')

A overlay/usr/bin/language-wrapper => overlay/usr/bin/language-wrapper +9 -0
@@ 0,0 1,9 @@
#!/bin/sh -e

xsetroot -cursor_name left_ptr

export GTK_THEME=windows10-dark
sh /usr/bin/language-select /etc/languages.yml | \
    xargs -n 1 echo export \ >> $HOME/.profile

exec /usr/libexec/lightdm-guest-session "$@"

A overlay/usr/share/icons/flags/AD.png => overlay/usr/share/icons/flags/AD.png +0 -0
A overlay/usr/share/icons/flags/AE.png => overlay/usr/share/icons/flags/AE.png +0 -0
A overlay/usr/share/icons/flags/AF.png => overlay/usr/share/icons/flags/AF.png +0 -0
A overlay/usr/share/icons/flags/AG.png => overlay/usr/share/icons/flags/AG.png +0 -0
A overlay/usr/share/icons/flags/AI.png => overlay/usr/share/icons/flags/AI.png +0 -0
A overlay/usr/share/icons/flags/AL.png => overlay/usr/share/icons/flags/AL.png +0 -0
A overlay/usr/share/icons/flags/AM.png => overlay/usr/share/icons/flags/AM.png +0 -0
A overlay/usr/share/icons/flags/AN.png => overlay/usr/share/icons/flags/AN.png +0 -0
A overlay/usr/share/icons/flags/AO.png => overlay/usr/share/icons/flags/AO.png +0 -0
A overlay/usr/share/icons/flags/AQ.png => overlay/usr/share/icons/flags/AQ.png +0 -0
A overlay/usr/share/icons/flags/AR.png => overlay/usr/share/icons/flags/AR.png +0 -0
A overlay/usr/share/icons/flags/AS.png => overlay/usr/share/icons/flags/AS.png +0 -0
A overlay/usr/share/icons/flags/AT.png => overlay/usr/share/icons/flags/AT.png +0 -0
A overlay/usr/share/icons/flags/AU.png => overlay/usr/share/icons/flags/AU.png +0 -0
A overlay/usr/share/icons/flags/AW.png => overlay/usr/share/icons/flags/AW.png +0 -0
A overlay/usr/share/icons/flags/AX.png => overlay/usr/share/icons/flags/AX.png +0 -0
A overlay/usr/share/icons/flags/AZ.png => overlay/usr/share/icons/flags/AZ.png +0 -0
A overlay/usr/share/icons/flags/BA.png => overlay/usr/share/icons/flags/BA.png +0 -0
A overlay/usr/share/icons/flags/BB.png => overlay/usr/share/icons/flags/BB.png +0 -0
A overlay/usr/share/icons/flags/BD.png => overlay/usr/share/icons/flags/BD.png +0 -0
A overlay/usr/share/icons/flags/BE.png => overlay/usr/share/icons/flags/BE.png +0 -0
A overlay/usr/share/icons/flags/BF.png => overlay/usr/share/icons/flags/BF.png +0 -0
A overlay/usr/share/icons/flags/BG.png => overlay/usr/share/icons/flags/BG.png +0 -0
A overlay/usr/share/icons/flags/BH.png => overlay/usr/share/icons/flags/BH.png +0 -0
A overlay/usr/share/icons/flags/BI.png => overlay/usr/share/icons/flags/BI.png +0 -0
A overlay/usr/share/icons/flags/BJ.png => overlay/usr/share/icons/flags/BJ.png +0 -0
A overlay/usr/share/icons/flags/BL.png => overlay/usr/share/icons/flags/BL.png +0 -0
A overlay/usr/share/icons/flags/BM.png => overlay/usr/share/icons/flags/BM.png +0 -0
A overlay/usr/share/icons/flags/BN.png => overlay/usr/share/icons/flags/BN.png +0 -0
A overlay/usr/share/icons/flags/BO.png => overlay/usr/share/icons/flags/BO.png +0 -0
A overlay/usr/share/icons/flags/BR.png => overlay/usr/share/icons/flags/BR.png +0 -0
A overlay/usr/share/icons/flags/BS.png => overlay/usr/share/icons/flags/BS.png +0 -0
A overlay/usr/share/icons/flags/BT.png => overlay/usr/share/icons/flags/BT.png +0 -0
A overlay/usr/share/icons/flags/BW.png => overlay/usr/share/icons/flags/BW.png +0 -0
A overlay/usr/share/icons/flags/BY.png => overlay/usr/share/icons/flags/BY.png +0 -0
A overlay/usr/share/icons/flags/BZ.png => overlay/usr/share/icons/flags/BZ.png +0 -0
A overlay/usr/share/icons/flags/CA.png => overlay/usr/share/icons/flags/CA.png +0 -0
A overlay/usr/share/icons/flags/CC.png => overlay/usr/share/icons/flags/CC.png +0 -0
A overlay/usr/share/icons/flags/CD.png => overlay/usr/share/icons/flags/CD.png +0 -0
A overlay/usr/share/icons/flags/CF.png => overlay/usr/share/icons/flags/CF.png +0 -0
A overlay/usr/share/icons/flags/CG.png => overlay/usr/share/icons/flags/CG.png +0 -0
A overlay/usr/share/icons/flags/CH.png => overlay/usr/share/icons/flags/CH.png +0 -0
A overlay/usr/share/icons/flags/CI.png => overlay/usr/share/icons/flags/CI.png +0 -0
A overlay/usr/share/icons/flags/CK.png => overlay/usr/share/icons/flags/CK.png +0 -0
A overlay/usr/share/icons/flags/CL.png => overlay/usr/share/icons/flags/CL.png +0 -0
A overlay/usr/share/icons/flags/CM.png => overlay/usr/share/icons/flags/CM.png +0 -0
A overlay/usr/share/icons/flags/CN.png => overlay/usr/share/icons/flags/CN.png +0 -0
A overlay/usr/share/icons/flags/CO.png => overlay/usr/share/icons/flags/CO.png +0 -0
A overlay/usr/share/icons/flags/CR.png => overlay/usr/share/icons/flags/CR.png +0 -0
A overlay/usr/share/icons/flags/CU.png => overlay/usr/share/icons/flags/CU.png +0 -0
A overlay/usr/share/icons/flags/CV.png => overlay/usr/share/icons/flags/CV.png +0 -0
A overlay/usr/share/icons/flags/CW.png => overlay/usr/share/icons/flags/CW.png +0 -0
A overlay/usr/share/icons/flags/CX.png => overlay/usr/share/icons/flags/CX.png +0 -0
A overlay/usr/share/icons/flags/CY.png => overlay/usr/share/icons/flags/CY.png +0 -0
A overlay/usr/share/icons/flags/CZ.png => overlay/usr/share/icons/flags/CZ.png +0 -0
A overlay/usr/share/icons/flags/DE.png => overlay/usr/share/icons/flags/DE.png +0 -0
A overlay/usr/share/icons/flags/DJ.png => overlay/usr/share/icons/flags/DJ.png +0 -0
A overlay/usr/share/icons/flags/DK.png => overlay/usr/share/icons/flags/DK.png +0 -0
A overlay/usr/share/icons/flags/DM.png => overlay/usr/share/icons/flags/DM.png +0 -0
A overlay/usr/share/icons/flags/DO.png => overlay/usr/share/icons/flags/DO.png +0 -0
A overlay/usr/share/icons/flags/DZ.png => overlay/usr/share/icons/flags/DZ.png +0 -0
A overlay/usr/share/icons/flags/EC.png => overlay/usr/share/icons/flags/EC.png +0 -0
A overlay/usr/share/icons/flags/EE.png => overlay/usr/share/icons/flags/EE.png +0 -0
A overlay/usr/share/icons/flags/EG.png => overlay/usr/share/icons/flags/EG.png +0 -0
A overlay/usr/share/icons/flags/EH.png => overlay/usr/share/icons/flags/EH.png +0 -0
A overlay/usr/share/icons/flags/ER.png => overlay/usr/share/icons/flags/ER.png +0 -0
A overlay/usr/share/icons/flags/ES.png => overlay/usr/share/icons/flags/ES.png +0 -0
A overlay/usr/share/icons/flags/ET.png => overlay/usr/share/icons/flags/ET.png +0 -0
A overlay/usr/share/icons/flags/FI.png => overlay/usr/share/icons/flags/FI.png +0 -0
A overlay/usr/share/icons/flags/FJ.png => overlay/usr/share/icons/flags/FJ.png +0 -0
A overlay/usr/share/icons/flags/FK.png => overlay/usr/share/icons/flags/FK.png +0 -0
A overlay/usr/share/icons/flags/FM.png => overlay/usr/share/icons/flags/FM.png +0 -0
A overlay/usr/share/icons/flags/FO.png => overlay/usr/share/icons/flags/FO.png +0 -0
A overlay/usr/share/icons/flags/FR.png => overlay/usr/share/icons/flags/FR.png +0 -0
A overlay/usr/share/icons/flags/GA.png => overlay/usr/share/icons/flags/GA.png +0 -0
A overlay/usr/share/icons/flags/GB.png => overlay/usr/share/icons/flags/GB.png +0 -0
A overlay/usr/share/icons/flags/GD.png => overlay/usr/share/icons/flags/GD.png +0 -0
A overlay/usr/share/icons/flags/GE.png => overlay/usr/share/icons/flags/GE.png +0 -0
A overlay/usr/share/icons/flags/GG.png => overlay/usr/share/icons/flags/GG.png +0 -0
A overlay/usr/share/icons/flags/GH.png => overlay/usr/share/icons/flags/GH.png +0 -0
A overlay/usr/share/icons/flags/GI.png => overlay/usr/share/icons/flags/GI.png +0 -0
A overlay/usr/share/icons/flags/GL.png => overlay/usr/share/icons/flags/GL.png +0 -0
A overlay/usr/share/icons/flags/GM.png => overlay/usr/share/icons/flags/GM.png +0 -0
A overlay/usr/share/icons/flags/GN.png => overlay/usr/share/icons/flags/GN.png +0 -0
A overlay/usr/share/icons/flags/GQ.png => overlay/usr/share/icons/flags/GQ.png +0 -0
A overlay/usr/share/icons/flags/GR.png => overlay/usr/share/icons/flags/GR.png +0 -0
A overlay/usr/share/icons/flags/GS.png => overlay/usr/share/icons/flags/GS.png +0 -0
A overlay/usr/share/icons/flags/GT.png => overlay/usr/share/icons/flags/GT.png +0 -0
A overlay/usr/share/icons/flags/GU.png => overlay/usr/share/icons/flags/GU.png +0 -0
A overlay/usr/share/icons/flags/GW.png => overlay/usr/share/icons/flags/GW.png +0 -0
A overlay/usr/share/icons/flags/GY.png => overlay/usr/share/icons/flags/GY.png +0 -0
A overlay/usr/share/icons/flags/HK.png => overlay/usr/share/icons/flags/HK.png +0 -0
A overlay/usr/share/icons/flags/HN.png => overlay/usr/share/icons/flags/HN.png +0 -0
A overlay/usr/share/icons/flags/HR.png => overlay/usr/share/icons/flags/HR.png +0 -0
A overlay/usr/share/icons/flags/HT.png => overlay/usr/share/icons/flags/HT.png +0 -0
A overlay/usr/share/icons/flags/HU.png => overlay/usr/share/icons/flags/HU.png +0 -0
A overlay/usr/share/icons/flags/IC.png => overlay/usr/share/icons/flags/IC.png +0 -0
A overlay/usr/share/icons/flags/ID.png => overlay/usr/share/icons/flags/ID.png +0 -0
A overlay/usr/share/icons/flags/IE.png => overlay/usr/share/icons/flags/IE.png +0 -0
A overlay/usr/share/icons/flags/IL.png => overlay/usr/share/icons/flags/IL.png +0 -0
A overlay/usr/share/icons/flags/IM.png => overlay/usr/share/icons/flags/IM.png +0 -0
A overlay/usr/share/icons/flags/IN.png => overlay/usr/share/icons/flags/IN.png +0 -0
A overlay/usr/share/icons/flags/IQ.png => overlay/usr/share/icons/flags/IQ.png +0 -0
A overlay/usr/share/icons/flags/IR.png => overlay/usr/share/icons/flags/IR.png +0 -0
A overlay/usr/share/icons/flags/IS.png => overlay/usr/share/icons/flags/IS.png +0 -0
A overlay/usr/share/icons/flags/IT.png => overlay/usr/share/icons/flags/IT.png +0 -0
A overlay/usr/share/icons/flags/JE.png => overlay/usr/share/icons/flags/JE.png +0 -0
A overlay/usr/share/icons/flags/JM.png => overlay/usr/share/icons/flags/JM.png +0 -0
A overlay/usr/share/icons/flags/JO.png => overlay/usr/share/icons/flags/JO.png +0 -0
A overlay/usr/share/icons/flags/JP.png => overlay/usr/share/icons/flags/JP.png +0 -0
A overlay/usr/share/icons/flags/KE.png => overlay/usr/share/icons/flags/KE.png +0 -0
A overlay/usr/share/icons/flags/KG.png => overlay/usr/share/icons/flags/KG.png +0 -0
A overlay/usr/share/icons/flags/KH.png => overlay/usr/share/icons/flags/KH.png +0 -0
A overlay/usr/share/icons/flags/KI.png => overlay/usr/share/icons/flags/KI.png +0 -0
A overlay/usr/share/icons/flags/KM.png => overlay/usr/share/icons/flags/KM.png +0 -0
A overlay/usr/share/icons/flags/KN.png => overlay/usr/share/icons/flags/KN.png +0 -0
A overlay/usr/share/icons/flags/KP.png => overlay/usr/share/icons/flags/KP.png +0 -0
A overlay/usr/share/icons/flags/KR.png => overlay/usr/share/icons/flags/KR.png +0 -0
A overlay/usr/share/icons/flags/KW.png => overlay/usr/share/icons/flags/KW.png +0 -0
A overlay/usr/share/icons/flags/KY.png => overlay/usr/share/icons/flags/KY.png +0 -0
A overlay/usr/share/icons/flags/KZ.png => overlay/usr/share/icons/flags/KZ.png +0 -0
A overlay/usr/share/icons/flags/LA.png => overlay/usr/share/icons/flags/LA.png +0 -0
A overlay/usr/share/icons/flags/LB.png => overlay/usr/share/icons/flags/LB.png +0 -0
A overlay/usr/share/icons/flags/LC.png => overlay/usr/share/icons/flags/LC.png +0 -0
A overlay/usr/share/icons/flags/LI.png => overlay/usr/share/icons/flags/LI.png +0 -0
A overlay/usr/share/icons/flags/LICENSE => overlay/usr/share/icons/flags/LICENSE +4 -0
@@ 0,0 1,4 @@
Obtained & extracted from the flag collection from https://github.com/gosquared/flags
licensed under MIT

https://www.gosquared.com/resources/flag-icons/

A overlay/usr/share/icons/flags/LK.png => overlay/usr/share/icons/flags/LK.png +0 -0
A overlay/usr/share/icons/flags/LR.png => overlay/usr/share/icons/flags/LR.png +0 -0
A overlay/usr/share/icons/flags/LS.png => overlay/usr/share/icons/flags/LS.png +0 -0
A overlay/usr/share/icons/flags/LT.png => overlay/usr/share/icons/flags/LT.png +0 -0
A overlay/usr/share/icons/flags/LU.png => overlay/usr/share/icons/flags/LU.png +0 -0
A overlay/usr/share/icons/flags/LV.png => overlay/usr/share/icons/flags/LV.png +0 -0
A overlay/usr/share/icons/flags/LY.png => overlay/usr/share/icons/flags/LY.png +0 -0
A overlay/usr/share/icons/flags/MA.png => overlay/usr/share/icons/flags/MA.png +0 -0
A overlay/usr/share/icons/flags/MC.png => overlay/usr/share/icons/flags/MC.png +0 -0
A overlay/usr/share/icons/flags/MD.png => overlay/usr/share/icons/flags/MD.png +0 -0
A overlay/usr/share/icons/flags/ME.png => overlay/usr/share/icons/flags/ME.png +0 -0
A overlay/usr/share/icons/flags/MF.png => overlay/usr/share/icons/flags/MF.png +0 -0
A overlay/usr/share/icons/flags/MG.png => overlay/usr/share/icons/flags/MG.png +0 -0
A overlay/usr/share/icons/flags/MH.png => overlay/usr/share/icons/flags/MH.png +0 -0
A overlay/usr/share/icons/flags/MK.png => overlay/usr/share/icons/flags/MK.png +0 -0
A overlay/usr/share/icons/flags/ML.png => overlay/usr/share/icons/flags/ML.png +0 -0
A overlay/usr/share/icons/flags/MM.png => overlay/usr/share/icons/flags/MM.png +0 -0
A overlay/usr/share/icons/flags/MN.png => overlay/usr/share/icons/flags/MN.png +0 -0
A overlay/usr/share/icons/flags/MO.png => overlay/usr/share/icons/flags/MO.png +0 -0
A overlay/usr/share/icons/flags/MP.png => overlay/usr/share/icons/flags/MP.png +0 -0
A overlay/usr/share/icons/flags/MQ.png => overlay/usr/share/icons/flags/MQ.png +0 -0
A overlay/usr/share/icons/flags/MR.png => overlay/usr/share/icons/flags/MR.png +0 -0
A overlay/usr/share/icons/flags/MS.png => overlay/usr/share/icons/flags/MS.png +0 -0
A overlay/usr/share/icons/flags/MT.png => overlay/usr/share/icons/flags/MT.png +0 -0
A overlay/usr/share/icons/flags/MU.png => overlay/usr/share/icons/flags/MU.png +0 -0
A overlay/usr/share/icons/flags/MV.png => overlay/usr/share/icons/flags/MV.png +0 -0
A overlay/usr/share/icons/flags/MW.png => overlay/usr/share/icons/flags/MW.png +0 -0
A overlay/usr/share/icons/flags/MX.png => overlay/usr/share/icons/flags/MX.png +0 -0
A overlay/usr/share/icons/flags/MY.png => overlay/usr/share/icons/flags/MY.png +0 -0
A overlay/usr/share/icons/flags/MZ.png => overlay/usr/share/icons/flags/MZ.png +0 -0
A overlay/usr/share/icons/flags/NA.png => overlay/usr/share/icons/flags/NA.png +0 -0
A overlay/usr/share/icons/flags/NC.png => overlay/usr/share/icons/flags/NC.png +0 -0
A overlay/usr/share/icons/flags/NE.png => overlay/usr/share/icons/flags/NE.png +0 -0
A overlay/usr/share/icons/flags/NF.png => overlay/usr/share/icons/flags/NF.png +0 -0
A overlay/usr/share/icons/flags/NG.png => overlay/usr/share/icons/flags/NG.png +0 -0
A overlay/usr/share/icons/flags/NI.png => overlay/usr/share/icons/flags/NI.png +0 -0
A overlay/usr/share/icons/flags/NL.png => overlay/usr/share/icons/flags/NL.png +0 -0
A overlay/usr/share/icons/flags/NO.png => overlay/usr/share/icons/flags/NO.png +0 -0
A overlay/usr/share/icons/flags/NP.png => overlay/usr/share/icons/flags/NP.png +0 -0
A overlay/usr/share/icons/flags/NR.png => overlay/usr/share/icons/flags/NR.png +0 -0
A overlay/usr/share/icons/flags/NU.png => overlay/usr/share/icons/flags/NU.png +0 -0
A overlay/usr/share/icons/flags/NZ.png => overlay/usr/share/icons/flags/NZ.png +0 -0
A overlay/usr/share/icons/flags/OM.png => overlay/usr/share/icons/flags/OM.png +0 -0
A overlay/usr/share/icons/flags/PA.png => overlay/usr/share/icons/flags/PA.png +0 -0
A overlay/usr/share/icons/flags/PE.png => overlay/usr/share/icons/flags/PE.png +0 -0
A overlay/usr/share/icons/flags/PF.png => overlay/usr/share/icons/flags/PF.png +0 -0
A overlay/usr/share/icons/flags/PG.png => overlay/usr/share/icons/flags/PG.png +0 -0
A overlay/usr/share/icons/flags/PH.png => overlay/usr/share/icons/flags/PH.png +0 -0
A overlay/usr/share/icons/flags/PK.png => overlay/usr/share/icons/flags/PK.png +0 -0
A overlay/usr/share/icons/flags/PL.png => overlay/usr/share/icons/flags/PL.png +0 -0
A overlay/usr/share/icons/flags/PN.png => overlay/usr/share/icons/flags/PN.png +0 -0
A overlay/usr/share/icons/flags/PR.png => overlay/usr/share/icons/flags/PR.png +0 -0
A overlay/usr/share/icons/flags/PS.png => overlay/usr/share/icons/flags/PS.png +0 -0
A overlay/usr/share/icons/flags/PT.png => overlay/usr/share/icons/flags/PT.png +0 -0
A overlay/usr/share/icons/flags/PW.png => overlay/usr/share/icons/flags/PW.png +0 -0
A overlay/usr/share/icons/flags/PY.png => overlay/usr/share/icons/flags/PY.png +0 -0
A overlay/usr/share/icons/flags/QA.png => overlay/usr/share/icons/flags/QA.png +0 -0
A overlay/usr/share/icons/flags/RO.png => overlay/usr/share/icons/flags/RO.png +0 -0
A overlay/usr/share/icons/flags/RS.png => overlay/usr/share/icons/flags/RS.png +0 -0
A overlay/usr/share/icons/flags/RU.png => overlay/usr/share/icons/flags/RU.png +0 -0
A overlay/usr/share/icons/flags/RW.png => overlay/usr/share/icons/flags/RW.png +0 -0
A overlay/usr/share/icons/flags/SA.png => overlay/usr/share/icons/flags/SA.png +0 -0
A overlay/usr/share/icons/flags/SB.png => overlay/usr/share/icons/flags/SB.png +0 -0
A overlay/usr/share/icons/flags/SC.png => overlay/usr/share/icons/flags/SC.png +0 -0
A overlay/usr/share/icons/flags/SD.png => overlay/usr/share/icons/flags/SD.png +0 -0
A overlay/usr/share/icons/flags/SE.png => overlay/usr/share/icons/flags/SE.png +0 -0
A overlay/usr/share/icons/flags/SG.png => overlay/usr/share/icons/flags/SG.png +0 -0
A overlay/usr/share/icons/flags/SH.png => overlay/usr/share/icons/flags/SH.png +0 -0
A overlay/usr/share/icons/flags/SI.png => overlay/usr/share/icons/flags/SI.png +0 -0
A overlay/usr/share/icons/flags/SK.png => overlay/usr/share/icons/flags/SK.png +0 -0
A overlay/usr/share/icons/flags/SL.png => overlay/usr/share/icons/flags/SL.png +0 -0
A overlay/usr/share/icons/flags/SM.png => overlay/usr/share/icons/flags/SM.png +0 -0
A overlay/usr/share/icons/flags/SN.png => overlay/usr/share/icons/flags/SN.png +0 -0
A overlay/usr/share/icons/flags/SO.png => overlay/usr/share/icons/flags/SO.png +0 -0
A overlay/usr/share/icons/flags/SR.png => overlay/usr/share/icons/flags/SR.png +0 -0
A overlay/usr/share/icons/flags/SS.png => overlay/usr/share/icons/flags/SS.png +0 -0
A overlay/usr/share/icons/flags/ST.png => overlay/usr/share/icons/flags/ST.png +0 -0
A overlay/usr/share/icons/flags/SV.png => overlay/usr/share/icons/flags/SV.png +0 -0
A overlay/usr/share/icons/flags/SY.png => overlay/usr/share/icons/flags/SY.png +0 -0
A overlay/usr/share/icons/flags/SZ.png => overlay/usr/share/icons/flags/SZ.png +0 -0
A overlay/usr/share/icons/flags/TC.png => overlay/usr/share/icons/flags/TC.png +0 -0
A overlay/usr/share/icons/flags/TD.png => overlay/usr/share/icons/flags/TD.png +0 -0
A overlay/usr/share/icons/flags/TF.png => overlay/usr/share/icons/flags/TF.png +0 -0
A overlay/usr/share/icons/flags/TG.png => overlay/usr/share/icons/flags/TG.png +0 -0
A overlay/usr/share/icons/flags/TH.png => overlay/usr/share/icons/flags/TH.png +0 -0
A overlay/usr/share/icons/flags/TJ.png => overlay/usr/share/icons/flags/TJ.png +0 -0
A overlay/usr/share/icons/flags/TK.png => overlay/usr/share/icons/flags/TK.png +0 -0
A overlay/usr/share/icons/flags/TL.png => overlay/usr/share/icons/flags/TL.png +0 -0
A overlay/usr/share/icons/flags/TM.png => overlay/usr/share/icons/flags/TM.png +0 -0
A overlay/usr/share/icons/flags/TN.png => overlay/usr/share/icons/flags/TN.png +0 -0
A overlay/usr/share/icons/flags/TO.png => overlay/usr/share/icons/flags/TO.png +0 -0
A overlay/usr/share/icons/flags/TR.png => overlay/usr/share/icons/flags/TR.png +0 -0
A overlay/usr/share/icons/flags/TT.png => overlay/usr/share/icons/flags/TT.png +0 -0
A overlay/usr/share/icons/flags/TV.png => overlay/usr/share/icons/flags/TV.png +0 -0
A overlay/usr/share/icons/flags/TW.png => overlay/usr/share/icons/flags/TW.png +0 -0
A overlay/usr/share/icons/flags/TZ.png => overlay/usr/share/icons/flags/TZ.png +0 -0
A overlay/usr/share/icons/flags/UA.png => overlay/usr/share/icons/flags/UA.png +0 -0
A overlay/usr/share/icons/flags/UG.png => overlay/usr/share/icons/flags/UG.png +0 -0
A overlay/usr/share/icons/flags/US.png => overlay/usr/share/icons/flags/US.png +0 -0
A overlay/usr/share/icons/flags/UY.png => overlay/usr/share/icons/flags/UY.png +0 -0
A overlay/usr/share/icons/flags/UZ.png => overlay/usr/share/icons/flags/UZ.png +0 -0
A overlay/usr/share/icons/flags/VA.png => overlay/usr/share/icons/flags/VA.png +0 -0
A overlay/usr/share/icons/flags/VC.png => overlay/usr/share/icons/flags/VC.png +0 -0
A overlay/usr/share/icons/flags/VE.png => overlay/usr/share/icons/flags/VE.png +0 -0
A overlay/usr/share/icons/flags/VG.png => overlay/usr/share/icons/flags/VG.png +0 -0
A overlay/usr/share/icons/flags/VI.png => overlay/usr/share/icons/flags/VI.png +0 -0
A overlay/usr/share/icons/flags/VN.png => overlay/usr/share/icons/flags/VN.png +0 -0
A overlay/usr/share/icons/flags/VU.png => overlay/usr/share/icons/flags/VU.png +0 -0
A overlay/usr/share/icons/flags/WF.png => overlay/usr/share/icons/flags/WF.png +0 -0
A overlay/usr/share/icons/flags/WS.png => overlay/usr/share/icons/flags/WS.png +0 -0
A overlay/usr/share/icons/flags/YE.png => overlay/usr/share/icons/flags/YE.png +0 -0
A overlay/usr/share/icons/flags/YT.png => overlay/usr/share/icons/flags/YT.png +0 -0
A overlay/usr/share/icons/flags/ZA.png => overlay/usr/share/icons/flags/ZA.png +0 -0
A overlay/usr/share/icons/flags/ZM.png => overlay/usr/share/icons/flags/ZM.png +0 -0
A overlay/usr/share/icons/flags/ZW.png => overlay/usr/share/icons/flags/ZW.png +0 -0
A overlay/usr/share/icons/flags/_wales.png => overlay/usr/share/icons/flags/_wales.png +0 -0