From a6fa5131611f4f244b3489589def099304d8c8eb Mon Sep 17 00:00:00 2001
From: Chupligin Sergey <neochapay@gmail.com>
Date: Fri, 28 Jan 2022 12:48:12 +0000
Subject: [PATCH] [nemomobile] init nemomobile edition

---
 editions/nemomobile                           |  66 +++++
 overlays/nemomobile/etc/bluetooth/main.conf   | 257 ++++++++++++++++++
 overlays/nemomobile/etc/lightdm/lightdm.conf  |   6 +
 overlays/nemomobile/etc/systemd/logind.conf   |  37 +++
 .../systemd/system/user@.service.d/local.conf |   5 +
 overlays/nemomobile/etc/xprofile              |   1 +
 overlays/nemomobile/overlay.txt               |   1 +
 .../lightdm.conf.d/50-lightdm-autologin.conf  |   3 +
 services/nemomobile                           |  26 ++
 9 files changed, 402 insertions(+)
 create mode 100644 editions/nemomobile
 create mode 100644 overlays/nemomobile/etc/bluetooth/main.conf
 create mode 100644 overlays/nemomobile/etc/lightdm/lightdm.conf
 create mode 100644 overlays/nemomobile/etc/systemd/logind.conf
 create mode 100644 overlays/nemomobile/etc/systemd/system/user@.service.d/local.conf
 create mode 100644 overlays/nemomobile/etc/xprofile
 create mode 100644 overlays/nemomobile/overlay.txt
 create mode 100644 overlays/nemomobile/usr/share/lightdm/lightdm.conf.d/50-lightdm-autologin.conf
 create mode 100644 services/nemomobile

diff --git a/editions/nemomobile b/editions/nemomobile
new file mode 100644
index 00000000..86d95acb
--- /dev/null
+++ b/editions/nemomobile
@@ -0,0 +1,66 @@
+## Maintained by NeoChapay ##
+
+# Device specific packages
+>pinephone nemo-device-pinephone
+>pinephonepro nemo-device-pinephone
+>pinetab nemo-device-pinetab
+
+bootsplash-theme-nemo
+
+# Minimal packages
+sudo
+#parted
+openssh
+
+# OpenGLES qt packages
+qt5-es2-base
+qt5-es2-declarative
+qt5-es2-multimedia
+qt5-es2-wayland
+
+# Multimedia packages
+gst-libav
+gst-plugins-bad
+gst-plugins-base
+gst-plugins-ugly
+ffmpeg-pp
+
+# Additional packages
+accountsservice
+lightdm
+mce
+mce-plugin-libhybris-nonandroid
+dsme
+swi-prolog7
+ohm
+ohm-plugin-ruleengine
+
+# Main glacier packages
+lipstick-glacier-home
+glacier-calc
+glacier-camera
+glacier-contacts
+glacier-filemuncher
+glacier-gallery
+glacier-messages
+glacier-music
+glacier-wayland-session
+glacier-browser
+glacier-mail
+glacier-testtool
+glacier-packagemanager
+fingerterm
+qt5-quickcontrols-nemo-examples
+
+# Other
+xdg-user-dirs
+mesa
+alsa-utils
+pulseaudio-bluetooth
+wget
+vim
+nano
+maliit-nemo-keyboard
+
+nemo-theme-glacier
+nemo-theme-openmoko
diff --git a/overlays/nemomobile/etc/bluetooth/main.conf b/overlays/nemomobile/etc/bluetooth/main.conf
new file mode 100644
index 00000000..4cf76ff5
--- /dev/null
+++ b/overlays/nemomobile/etc/bluetooth/main.conf
@@ -0,0 +1,257 @@
+[General]
+
+# Default adapter name
+# Defaults to 'BlueZ X.YZ'
+#Name = BlueZ
+
+# Default device class. Only the major and minor device class bits are
+# considered. Defaults to '0x000000'.
+# Phone, smart-phone
+Class = 0x00020c
+
+# How long to stay in discoverable mode before going back to non-discoverable
+# The value is in seconds. Default is 180, i.e. 3 minutes.
+# 0 = disable timer, i.e. stay discoverable forever
+#DiscoverableTimeout = 0
+
+# Always allow pairing even if there are no agent registered
+# Possible values: true, false
+# Default: false
+#AlwaysPairable = false
+
+# How long to stay in pairable mode before going back to non-discoverable
+# The value is in seconds. Default is 0.
+# 0 = disable timer, i.e. stay pairable forever
+#PairableTimeout = 0
+
+# Use vendor id source (assigner), vendor, product and version information for
+# DID profile support. The values are separated by ":" and assigner, VID, PID
+# and version.
+# Possible vendor id source values: bluetooth, usb (default) or false (disabled)
+#DeviceID = bluetooth:1234:5678:abcd
+
+# Do reverse service discovery for previously unknown devices that connect to
+# us. For BR/EDR this option is really only needed for qualification since the
+# BITE tester doesn't like us doing reverse SDP for some test cases, for LE
+# this disables the GATT client functionally so it can be used in system which
+# can only operate as peripheral.
+# Defaults to 'true'.
+#ReverseServiceDiscovery = true
+
+# Enable name resolving after inquiry. Set it to 'false' if you don't need
+# remote devices name and want shorter discovery cycle. Defaults to 'true'.
+#NameResolving = true
+
+# Enable runtime persistency of debug link keys. Default is false which
+# makes debug link keys valid only for the duration of the connection
+# that they were created for.
+#DebugKeys = false
+
+# Restricts all controllers to the specified transport. Default value
+# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
+# Possible values: "dual", "bredr", "le"
+#ControllerMode = dual
+
+# Enables Multi Profile Specification support. This allows to specify if
+# system supports only Multiple Profiles Single Device (MPSD) configuration
+# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple
+# Devices (MPMD) configurations.
+# Possible values: "off", "single", "multiple"
+#MultiProfile = off
+
+# Permanently enables the Fast Connectable setting for adapters that
+# support it. When enabled other devices can connect faster to us,
+# however the tradeoff is increased power consumptions. This feature
+# will fully work only on kernel version 4.1 and newer. Defaults to
+# 'false'.
+#FastConnectable = false
+
+# Default privacy setting.
+# Enables use of private address.
+# Possible values: "off", "device", "network"
+# "network" option not supported currently
+# Defaults to "off"
+#Privacy = off
+
+# Specify the policy to the JUST-WORKS repairing initiated by peer
+# Possible values: "never", "confirm", "always"
+# Defaults to "never"
+#JustWorksRepairing = never
+
+# How long to keep temporary devices around
+# The value is in seconds. Default is 30.
+# 0 = disable timer, i.e. never keep temporary devices
+#TemporaryTimeout = 30
+
+# Enables the device to issue an SDP request to update known services when
+# profile is connected. Defaults to true.
+#RefreshDiscovery = true
+
+# Enables experimental features and interfaces.
+# Defaults to false.
+#Experimental = false
+
+[BR]
+# The following values are used to load default adapter parameters for BR/EDR.
+# BlueZ loads the values into the kernel before the adapter is powered if the
+# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't
+# provided, the kernel will be initialized to it's default value.  The actual
+# value will vary based on the kernel version and thus aren't provided here.
+# The Bluetooth Core Specification should be consulted for the meaning and valid
+# domain of each of these values.
+
+# BR/EDR Page scan activity configuration
+#PageScanType=
+#PageScanInterval=
+#PageScanWindow=
+
+# BR/EDR Inquiry scan activity configuration
+#InquiryScanType=
+#InquiryScanInterval=
+#InquiryScanWindow=
+
+# BR/EDR Link supervision timeout
+#LinkSupervisionTimeout=
+
+# BR/EDR Page Timeout
+#PageTimeout=
+
+# BR/EDR Sniff Intervals
+#MinSniffInterval=
+#MaxSniffInterval=
+
+[LE]
+# The following values are used to load default adapter parameters for LE.
+# BlueZ loads the values into the kernel before the adapter is powered if the
+# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't
+# provided, the kernel will be initialized to it's default value.  The actual
+# value will vary based on the kernel version and thus aren't provided here.
+# The Bluetooth Core Specification should be consulted for the meaning and valid
+# domain of each of these values.
+# LE advertisement interval (used for legacy advertisement interface only)
+#MinAdvertisementInterval=
+#MaxAdvertisementInterval=
+#MultiAdvertisementRotationInterval=
+
+# LE scanning parameters used for passive scanning supporting auto connect
+# scenarios
+#ScanIntervalAutoConnect=
+#ScanWindowAutoConnect=
+
+# LE scanning parameters used for passive scanning supporting wake from suspend
+# scenarios
+#ScanIntervalSuspend=
+#ScanWindowSuspend=
+
+# LE scanning parameters used for active scanning supporting discovery
+# proceedure
+#ScanIntervalDiscovery=
+#ScanWindowDiscovery=
+
+# LE scanning parameters used for passive scanning supporting the advertisement
+# monitor Apis
+#ScanIntervalAdvMonitor=
+#ScanWindowAdvMonitor=
+
+# LE scanning parameters used for connection establishment.
+#ScanIntervalConnect=
+#ScanWindowConnect=
+
+# LE default connection parameters.  These values are superceeded by any
+# specific values provided via the Load Connection Parameters interface
+#MinConnectionInterval=
+#MaxConnectionInterval=
+#ConnectionLatency=
+#ConnectionSupervisionTimeout=
+#Autoconnecttimeout=
+
+# Scan duration during interleaving scan. Only used when scanning for ADV
+# monitors. The units are msec.
+# Default: 300
+#AdvMonAllowlistScanDuration=
+# Default: 500
+#AdvMonNoFilterScanDuration=
+
+# Enable/Disable Advertisement Monitor interleave scan for power saving.
+# 0: disable
+# 1: enable
+# Defaults to 1
+#EnableAdvMonInterleaveScan=
+
+[GATT]
+# GATT attribute cache.
+# Possible values:
+# always: Always cache attributes even for devices not paired, this is
+# recommended as it is best for interoperability, with more consistent
+# reconnection times and enables proper tracking of notifications for all
+# devices.
+# yes: Only cache attributes of paired devices.
+# no: Never cache attributes
+# Default: always
+#Cache = always
+
+# Minimum required Encryption Key Size for accessing secured characteristics.
+# Possible values: 0 and 7-16. 0 means don't care.
+# Defaults to 0
+#KeySize = 0
+
+# Exchange MTU size.
+# Possible values: 23-517
+# Defaults to 517
+#ExchangeMTU = 517
+
+# Number of ATT channels
+# Possible values: 1-5 (1 disables EATT)
+# Default to 3
+#Channels = 3
+
+[AVDTP]
+# AVDTP L2CAP Signalling Channel Mode.
+# Possible values:
+# basic: Use L2CAP Basic Mode
+# ertm: Use L2CAP Enhanced Retransmission Mode
+#SessionMode = basic
+
+# AVDTP L2CAP Transport Channel Mode.
+# Possible values:
+# basic: Use L2CAP Basic Mode
+# streaming: Use L2CAP Streaming Mode
+#StreamMode = basic
+
+[Policy]
+#
+# The ReconnectUUIDs defines the set of remote services that should try
+# to be reconnected to in case of a link loss (link supervision
+# timeout). The policy plugin should contain a sane set of values by
+# default, but this list can be overridden here. By setting the list to
+# empty the reconnection feature gets disabled.
+#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb,0000110a-0000-1000-8000-00805f9b34fb,0000110b-0000-1000-8000-00805f9b34fb
+
+# ReconnectAttempts define the number of attempts to reconnect after a link
+# lost. Setting the value to 0 disables reconnecting feature.
+#ReconnectAttempts=7
+
+# ReconnectIntervals define the set of intervals in seconds to use in between
+# attempts.
+# If the number of attempts defined in ReconnectAttempts is bigger than the
+# set of intervals the last interval is repeated until the last attempt.
+#ReconnectIntervals=1,2,4,8,16,32,64
+
+# AutoEnable defines option to enable all controllers when they are found.
+# This includes adapters present on start as well as adapters that are plugged
+# in later on. Defaults to 'false'.
+#AutoEnable=false
+
+# Audio devices that were disconnected due to suspend will be reconnected on
+# resume. ResumeDelay determines the delay between when the controller
+# resumes from suspend and a connection attempt is made. A longer delay is
+# better for better co-existence with Wi-Fi.
+# The value is in seconds.
+# Default: 2
+#ResumeDelay = 2
+
+[AdvMon]
+# Default RSSI Sampling Period. This is used when a client registers an
+# advertisement monitor and leaves the RSSISamplingPeriod unset.
+# Default: 0
+#RSSISamplingPeriod=0
diff --git a/overlays/nemomobile/etc/lightdm/lightdm.conf b/overlays/nemomobile/etc/lightdm/lightdm.conf
new file mode 100644
index 00000000..f857e7cb
--- /dev/null
+++ b/overlays/nemomobile/etc/lightdm/lightdm.conf
@@ -0,0 +1,6 @@
+[LightDM]
+run-directory=/run/lightdm
+
+[Seat:*]
+user-session=nemomobile
+session-wrapper=/etc/lightdm/Xsession
\ No newline at end of file
diff --git a/overlays/nemomobile/etc/systemd/logind.conf b/overlays/nemomobile/etc/systemd/logind.conf
new file mode 100644
index 00000000..23f5f9b7
--- /dev/null
+++ b/overlays/nemomobile/etc/systemd/logind.conf
@@ -0,0 +1,37 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+#
+# Entries in this file show the compile time defaults.
+# You can change settings by editing this file.
+# Defaults can be restored by simply deleting this file.
+#
+# See logind.conf(5) for details.
+
+[Login]
+#NAutoVTs=6
+#ReserveVT=6
+#KillUserProcesses=no
+#KillOnlyUsers=
+#KillExcludeUsers=root
+#InhibitDelayMaxSec=5
+HandlePowerKey=ignore
+#HandleSuspendKey=suspend
+#HandleHibernateKey=hibernate
+#HandleLidSwitch=suspend
+#HandleLidSwitchExternalPower=suspend
+#HandleLidSwitchDocked=ignore
+#PowerKeyIgnoreInhibited=no
+#SuspendKeyIgnoreInhibited=no
+#HibernateKeyIgnoreInhibited=no
+#LidSwitchIgnoreInhibited=yes
+#HoldoffTimeoutSec=30s
+#IdleAction=ignore
+#IdleActionSec=30min
+#RuntimeDirectorySize=10%
+#RemoveIPC=yes
+#InhibitorsMax=8192
+#SessionsMax=8192
diff --git a/overlays/nemomobile/etc/systemd/system/user@.service.d/local.conf b/overlays/nemomobile/etc/systemd/system/user@.service.d/local.conf
new file mode 100644
index 00000000..614fc40d
--- /dev/null
+++ b/overlays/nemomobile/etc/systemd/system/user@.service.d/local.conf
@@ -0,0 +1,5 @@
+[Service]
+Environment="QT_QPA_PLATFORM=wayland"
+Environment="QT_QUICK_CONTROLS_MOBILE=1"
+Environment="QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
+Environment="MALIIT_FORCE_DBUS_CONNECTION=1"
\ No newline at end of file
diff --git a/overlays/nemomobile/etc/xprofile b/overlays/nemomobile/etc/xprofile
new file mode 100644
index 00000000..f310f034
--- /dev/null
+++ b/overlays/nemomobile/etc/xprofile
@@ -0,0 +1 @@
+test -f $HOME/.config/locale.conf && source $HOME/.config/locale.conf
diff --git a/overlays/nemomobile/overlay.txt b/overlays/nemomobile/overlay.txt
new file mode 100644
index 00000000..f520cc0c
--- /dev/null
+++ b/overlays/nemomobile/overlay.txt
@@ -0,0 +1 @@
+Overlay
\ No newline at end of file
diff --git a/overlays/nemomobile/usr/share/lightdm/lightdm.conf.d/50-lightdm-autologin.conf b/overlays/nemomobile/usr/share/lightdm/lightdm.conf.d/50-lightdm-autologin.conf
new file mode 100644
index 00000000..5da56438
--- /dev/null
+++ b/overlays/nemomobile/usr/share/lightdm/lightdm.conf.d/50-lightdm-autologin.conf
@@ -0,0 +1,3 @@
+[Seat:*]
+autologin-user=manjaro
+autologin-user-timeout=0
diff --git a/services/nemomobile b/services/nemomobile
new file mode 100644
index 00000000..b480632b
--- /dev/null
+++ b/services/nemomobile
@@ -0,0 +1,26 @@
+sshd.service
+#NetworkManager.service
+bluetooth.service
+tlp.service
+zswap-arm.service
+bootsplash-hide-when-booted.service
+bootsplash-show-on-shutdown.service
+hfd-service.service
+connman.service
+mce.service
+dsme.service
+lightdm.service
+
+>pinephone eg25-manager.service
+>pinephone pinephone-post-install.service
+>pinephone nemomobile-post-install.service
+>pinephone ofono.service
+>pinephone ofonoctl.service
+>pinephone pinephone-modem-scripts.pinephone-modem-setup.service
+
+>pinephonepro eg25-manager.service
+>pinephonepro pinephonepro-post-install.service
+#>pinephonepro nemomobile-post-install.service
+>pinephonepro ofono.service
+>pinephonepro ofonoctl.service
+>pinephonepro pinephone-modem-scripts.pinephone-modem-setup.service
-- 
GitLab