[Nexus 6 Android Development] espionage724:
This is LineageOS built from official sources (cm14.1 and lineage-15.0 branches), featuring two patches that allow for Signature Spoofing and Network Location providers to be used outside of /system. These two conditions allow for easy installation of microG and related-services, along with the modular location provider platform UnifiedNlp.

I also include a few other extras (see ROM Features below), and experiment with things every now and then. Suggestions are welcome!

What is microG and UnifiedNlp? microG is a free re-implementation of Google's proprietary apps and libraries. UnifiedNlp serves as a replacement to Google Location Services and helps your device find its location (more info).

Benefits of microG and UnifiedNlp:

FLOSS

Lightweight

Modular

Can run with relatively-limited permissions

Improved device performance and battery life

Lower data usage

Faster GPS locks and better location accuracy

Significantly more control over privacy

No max-brightness bug (related to Google Location Services; when you wake the screen and it goes max-bright for a short period of time)

ROM Features:

Upstream up-to-date LineageOS builds

Location Providers can be installed outside of /system (intended for UnifiedNlp and allows microG to provide that)

Can toggle Signature Spoofing on or off for applications that can use it (intended for microG and FakeStore)

Native 493 DPI (see compatibility notes below)

Steven Black's Unified Hosts File built-in (gambling and fakenews filters)

Various Tweaks

Latest Nougat Version (recommended):

2017/10/31

Latest Oreo Version (testing):

2017/11/02

Older Versions:

Google Drive Archive

Instructions:

Can be found in the 2nd post down or by clicking here

Recommendations and Tips

Can be found in the 3rd post down or by clicking here

Known Issues

Can also be found in the 3rd post down or by clicking here

Reporting Problems and Issues

I'm not too knowledgeable in Android development and likely can't help directly with most ROM, kernel, and/or hardware issues

The best advice I can give is to post issues in this thread and hope others can share a solution, and/or report the issue upstream to LineageOS developers/maintainers if applicable

Changelog:

Nougat/cm14.1 (at the bottom of the page)

Oreo/lineage-15.0 (at the bottom of the page)

LineageOS shamu Changelog

Compatibility Notes:

The latest Nougat/cm14.1 version of this ROM passes SafetyNet (last checked: 2017/10/31)

The latest Oreo/lineage-15.0 version does not pass SafetyNet (last checked: 2017/10/29)

LineageOS and the default kernel support F2FS, however, the unofficial TWRP projects that support F2FS for shamu currently don't support F2FS decryption. Unless you know what you're doing, I suggest using a custom kernel with forced-encryption disabled if you want to have Data and Cache partitions with F2FS

493 DPI is used on this ROM. The default DPI for a Nexus 6 is 560. Some apps from Play Store may not show when the DPI is not set to an expected value. Theoretically, apps acquired from F-Droid and Yalp Store (when spoofing a N6) are not affected by this, but reports about this are welcome (a quick fix is wm density 560)

Other Notes:

This ROM should work fine with GApps, but I don't test this kind of set-up. If you choose not to use microG nor go GApp-less, I recommend using Open GApps

This ROM is signed with my key and the build type is userdebug

I use this ROM daily with microG and primarily to play Pokemon GO and Ingress; I should be able to notice any SafetyNet, location, or other issues quickly but all reports are welcome!

The patches and my notes for compiling (below) should be easily adaptable for any device capable of running LineageOS, or any ROM theoretically (change the Motorola manifest for other non-moto devices or remove it and supply your own vendor blobs if applicable)

Modifications Done:

Notes for Nougat/cm14.1

Notes for Oreo/lineage-15.0

Additional Support:

microG on xda-developers

UnifiedNlp on xda-developers

microG Website

microG Wiki

Other Resources:

How this ROM is built

My Nexus 6 configuration and other notes

Reddit guide for setting up microG + UnifiedNlp

Shadow53's notes on flashable zips for microG and Play Store, Google Cal/Contact sync, and other information

Shadow53's NO GAPPS initiative

XDA:DevDB Information

LineageOS for easy microG + UnifiedNlp, ROM for the Nexus 6

Contributors

espionage724

ROM OS Version: 7.x Nougat

ROM Kernel: Linux 3.10.x

Based On: LineageOS

Version Information

Status: Nightly

Created 2017-07-06

Last Updated 2019-01-06