WARNING: Locking the bootloader on Oneplus 6 running LineageOS 19 is not possible any more. You will end up in a boot loop.
Buy used, not even Fairphone is better for the enviroment
Since March 2016 I am buying used smartphones from Oneplus and running pure LineageOS without Google Play Services or MicroG on them. I started with Oneplus 2, then used Oneplus 3T until summer 2021. Now I own a Oneplus 6 I bought for 180EUR over classifieds. Oneplus are great devices and very Custom ROM friendly. With Oneplus 3T and Oneplus 6 I was even able to lock the bootloader, without any changes on LineageOS or the LineageOS recovery. So additionally to improved privacy I also got the security back.
We have way to many smartphones which are laying around in drawers, closets and basements. Before you start thinking of buying a new phone, even if it is a Fairphone, think about buying a used phone and running an up-to-date Custom ROM on it. This is very environment friendly, privacy respecting (if you ditch Google Play Services) and good on your valet.
Base install of Oneplus 6
Not much to be written here, just follow the official instructions. Be sure to install the LineageOS Recovery as well. I find it works great, I always had problems with OTA Updates and TWRP.
After the install completes and first boot is successfully reboot to bootloader and using
fastboot oem lock lock the bootloader again. This worked with LOS17 on Oneplus 3T and with LOS18 on Oneplus 6 for me. Hopefully it will work for you as well, but I am taking no responsibility if it does not :)!
F-Droid and automatic updates
If you are here, you know what F-Droid is. Right?
I prefer using F-Droid Classic from Marcus to access the FOSS repository. For me it is faster than the new F-Droid app and it also has working Privileged Extension, which enables us to have automatic updates of the installed apps. To get this working first install the F-Droid Classic app and then from the the F-Droid Classic repo (it will be automatically setup after the installation) install F-Droid Privileged Extensions - Device Owner. It is important that you do this before setting up any apps or accounts on your smartphone, otherwise following commands will not work.
First enable USB Debugging and Rooted Debugging under Development Options.
Now run following commands in your shell:
adb root adb shell dpm set-device-owner eu.bubu1.privext/org.fdroid.DeviceAdminReceiver
After this you can then enable Automatically install updates in F-Droid Classic and forget about updating the installed apps. This will be done automatically from now on and you will just be notified that your admin did the updating for you.
Disabling unused apps and installing more capable alternatives
I disable some of the default apps in LineageOS and replace them with more capable alternatives. Some of the apps can be disabled under their properties and some of them are a bit more resilient. To disable these more resilient apps, Camera in this case, run this in your shell:
adb root adb shell pm disable org.lineageos.snap
These are the default apps I disable and the alternatives I then install from F-Droid.
|Camera (org.lineageos.snap)||Open Camera|
|Gallery (com.android.gallery3d)||Simple Gallery Pro|
LineageOS needs some more tweaks to be de-googled. For example I disable WLAN/Bluetooth scanning and redefine the address for the Captive Portal using this:
adb shell 'settings put global captive_portal_http_url "http://captiveportal.kuketz.de"' adb shell 'settings put global captive_portal_https_url "https://captiveportal.kuketz.de"' adb shell 'settings put global captive_portal_fallback_url "http://captiveportal.kuketz.de"' adb shell 'settings put global captive_portal_other_fallback_urls "http://captiveportal.kuketz.de"' adb shell 'settings get global captive_portal_https_url'
So now you have a nice base setup and are free to install whatever you want from F-Droid. Here are some recommended apps.
Have fun with your new used smartphone and happy hacking. Feel free to reach out, if you get stuck or have questions.