diff --git a/build/core/clear_vars.mk b/build/core/clear_vars.mk
index 1d8135c..3711fb2 100644
--- a/build/core/clear_vars.mk
+++ b/build/core/clear_vars.mk
@@ -1,4 +1,4 @@
 #
-# Lineage-specific variable clears
+# Bliss-specific variable clears
 #
 LOCAL_IGNORE_SUBDIR :=
diff --git a/build/core/config.mk b/build/core/config.mk
index f2e595f..e3289df 100644
--- a/build/core/config.mk
+++ b/build/core/config.mk
@@ -21,4 +21,4 @@
 FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT := $(TOPDIR)vendor/lineage/build/core/apicheck_msg_current.txt
 
 # Rules for QCOM targets
-include $(TOPDIR)vendor/lineage/build/core/qcom_target.mk
+include $(TOPDIR)vendor/bliss/build/core/qcom_target.mk
diff --git a/build/core/definitions.mk b/build/core/definitions.mk
index 82ed55d..6a5e21c 100644
--- a/build/core/definitions.mk
+++ b/build/core/definitions.mk
@@ -1,12 +1,12 @@
 #
-# Lineage-specific macros
+# BlissRoms-specific macros
 #
 define uniq
 $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1)))
 endef
 
 # Include board/platform macros
-include vendor/lineage/build/core/utils.mk
+include vendor/bliss/build/core/utils.mk
 
 # Include vendor platform definitions
-include vendor/lineage/build/core/vendor/*.mk
+include vendor/bliss/build/core/vendor/*.mk
diff --git a/build/core/main.mk b/build/core/main.mk
deleted file mode 100644
index 0793b8a..0000000
--- a/build/core/main.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Include LineageOS versions
-include $(TOPDIR)vendor/lineage/build/core/main_version.mk
diff --git a/build/core/main_version.mk b/build/core/main_version.mk
deleted file mode 100644
index dddeee7..0000000
--- a/build/core/main_version.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-# Build fingerprint
-ifneq ($(BUILD_FINGERPRINT),)
-ADDITIONAL_BUILD_PROPERTIES += \
-    ro.build.fingerprint=$(BUILD_FINGERPRINT)
-endif
-
-# LineageOS System Version
-ADDITIONAL_BUILD_PROPERTIES += \
-    ro.lineage.version=$(LINEAGE_VERSION) \
-    ro.lineage.releasetype=$(LINEAGE_BUILDTYPE) \
-    ro.lineage.build.version=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR) \
-    ro.modversion=$(LINEAGE_VERSION) \
-    ro.lineagelegal.url=https://lineageos.org/legal
-
-# LineageOS Platform Display Version
-ADDITIONAL_BUILD_PROPERTIES += \
-    ro.lineage.display.version=$(LINEAGE_DISPLAY_VERSION)
-
-# LineageOS Platform SDK Version
-ADDITIONAL_BUILD_PROPERTIES += \
-    ro.lineage.build.version.plat.sdk=$(LINEAGE_PLATFORM_SDK_VERSION)
-
-# LineageOS Platform Internal Version
-ADDITIONAL_BUILD_PROPERTIES += \
-    ro.lineage.build.version.plat.rev=$(LINEAGE_PLATFORM_REV)
diff --git a/build/envsetup.sh b/build/envsetup.sh
index 03c83e3..9697648 100644
--- a/build/envsetup.sh
+++ b/build/envsetup.sh
@@ -1,16 +1,16 @@
-function __print_lineage_functions_help() {
+function __print_bliss_functions_help() {
 cat <<EOF
-Additional LineageOS functions:
+Additional BlissRoms functions:
 - cout:            Changes directory to out.
 - mmp:             Builds all of the modules in the current directory and pushes them to the device.
 - mmap:            Builds all of the modules in the current directory and its dependencies, then pushes the package to the device.
 - mmmp:            Builds all of the modules in the supplied directories and pushes them to the device.
-- lineagegerrit:   A Git wrapper that fetches/pushes patch from/to LineageOS Gerrit Review.
-- lineagerebase:   Rebase a Gerrit change and push it again.
-- lineageremote:   Add git remote for LineageOS Gerrit Review.
+- blissgerrit:   A Git wrapper that fetches/pushes patch from/to BlissRoms Gerrit Review.
+- blissrebase:   Rebase a Gerrit change and push it again.
+- blissremote:   Add git remote for BlissRoms Gerrit Review.
 - aospremote:      Add git remote for matching AOSP repository.
 - cafremote:       Add git remote for matching CodeAurora repository.
-- githubremote:    Add git remote for LineageOS Github.
+- githubremote:    Add git remote for BlissRoms Github.
 - mka:             Builds using SCHED_BATCH on all processors.
 - mkap:            Builds the module(s) using mka and pushes them to the device.
 - cmka:            Cleans and builds using mka.
@@ -78,12 +78,12 @@
             # A buildtype was specified, assume a full device name
             lunch $target
         else
-            # This is probably just the Lineage model name
+            # This is probably just the BlissRoms model name
             if [ -z "$variant" ]; then
                 variant="userdebug"
             fi
 
-            lunch lineage_$target-$variant
+            lunch bliss_$target-$variant
         fi
     fi
     return $?
@@ -94,7 +94,7 @@
 function eat()
 {
     if [ "$OUT" ] ; then
-        ZIPPATH=`ls -tr "$OUT"/lineage-*.zip | tail -1`
+        ZIPPATH=`ls -tr "$OUT"/Bliss-*.zip | tail -1`
         if [ ! -f $ZIPPATH ] ; then
             echo "Nothing to eat"
             return 1
@@ -102,13 +102,13 @@
         echo "Waiting for device..."
         adb wait-for-device-recovery
         echo "Found device"
-        if (adb shell getprop ro.lineage.device | grep -q "$LINEAGE_BUILD"); then
+        if (adb shell getprop ro.bliss.device | grep -q "$BLISS_BUILD"); then
             echo "Rebooting to sideload for install"
             adb reboot sideload-auto-reboot
             adb wait-for-sideload
             adb sideload $ZIPPATH
         else
-            echo "The connected device does not appear to be $LINEAGE_BUILD, run away!"
+            echo "The connected device does not appear to be $BLISS_BUILD, run away!"
         fi
         return $?
     else
@@ -232,14 +232,14 @@
    fi
 }
 
-function lineageremote()
+function blissremote()
 {
     if ! git rev-parse --git-dir &> /dev/null
     then
         echo ".git directory not found. Please run this from the root directory of the Android repository you wish to set up."
         return 1
     fi
-    git remote rm lineage 2> /dev/null
+    git remote rm bliss 2> /dev/null
     local REMOTE=$(git config --get remote.github.projectname)
     local LINEAGE="true"
     if [ -z "$REMOTE" ]
@@ -261,14 +261,14 @@
         local PROJECT=$REMOTE
     fi
 
-    local LINEAGE_USER=$(git config --get review.review.lineageos.org.username)
+    local LINEAGE_USER=$(git config --get review.review.blissroms.com.username)
     if [ -z "$LINEAGE_USER" ]
     then
-        git remote add lineage ssh://review.lineageos.org:29418/$PFX$PROJECT
+        git remote add bliss ssh://review.blissroms.com:29418/$PFX$PROJECT
     else
-        git remote add lineage ssh://$LINEAGE_USER@review.lineageos.org:29418/$PFX$PROJECT
+        git remote add bliss ssh://$LINEAGE_USER@review.blissroms.com:29418/$PFX$PROJECT
     fi
-    echo "Remote 'lineage' created"
+    echo "Remote 'bliss' created"
 }
 
 function aospremote()
@@ -367,14 +367,14 @@
     adb wait-for-device-recovery
     adb root
     adb wait-for-device-recovery
-    if (adb shell getprop ro.lineage.device | grep -q "$LINEAGE_BUILD");
+    if (adb shell getprop ro.bliss.device | grep -q "$BLISS_BUILD");
     then
         adb push $OUT/boot.img /cache/
         adb shell dd if=/cache/boot.img of=$PARTITION
         adb shell rm -rf /cache/boot.img
         echo "Installation complete."
     else
-        echo "The connected device does not appear to be $LINEAGE_BUILD, run away!"
+        echo "The connected device does not appear to be $BLISS_BUILD, run away!"
     fi
 }
 
@@ -405,14 +405,14 @@
     adb wait-for-device-recovery
     adb root
     adb wait-for-device-recovery
-    if (adb shell getprop ro.lineage.device | grep -q "$LINEAGE_BUILD");
+    if (adb shell getprop ro.bliss.device | grep -q "$BLISS_BUILD");
     then
         adb push $OUT/recovery.img /cache/
         adb shell dd if=/cache/recovery.img of=$PARTITION
         adb shell rm -rf /cache/recovery.img
         echo "Installation complete."
     else
-        echo "The connected device does not appear to be $LINEAGE_BUILD, run away!"
+        echo "The connected device does not appear to be $BLISS_BUILD, run away!"
     fi
 }
 
@@ -432,13 +432,13 @@
     if [ "$REPO_REMOTE" = "github" ]
     then
         pwd
-        lineageremote
-        git push lineage HEAD:refs/heads/'$1'
+        blissremote
+        git push bliss HEAD:refs/heads/'$1'
     fi
     '
 }
 
-function lineagegerrit() {
+function blissgerrit() {
     if [ "$(__detect_shell)" = "zsh" ]; then
         # zsh does not define FUNCNAME, derive from funcstack
         local FUNCNAME=$funcstack[1]
@@ -448,7 +448,7 @@
         $FUNCNAME help
         return 1
     fi
-    local user=`git config --get review.review.lineageos.org.username`
+    local user=`git config --get review.review.blissroms.com.username`
     local review=`git config --get remote.github.review`
     local project=`git config --get remote.github.projectname`
     local command=$1
@@ -484,7 +484,7 @@
             case $1 in
                 __cmg_*) echo "For internal use only." ;;
                 changes|for)
-                    if [ "$FUNCNAME" = "lineagegerrit" ]; then
+                    if [ "$FUNCNAME" = "blissgerrit" ]; then
                         echo "'$FUNCNAME $1' is deprecated."
                     fi
                     ;;
@@ -577,7 +577,7 @@
                 $local_branch:refs/for/$remote_branch || return 1
             ;;
         changes|for)
-            if [ "$FUNCNAME" = "lineagegerrit" ]; then
+            if [ "$FUNCNAME" = "blissgerrit" ]; then
                 echo >&2 "'$FUNCNAME $command' is deprecated."
             fi
             ;;
@@ -676,7 +676,7 @@
     esac
 }
 
-function lineagerebase() {
+function blissrebase() {
     local repo=$1
     local refs=$2
     local pwd="$(pwd)"
@@ -684,7 +684,7 @@
 
     if [ -z $repo ] || [ -z $refs ]; then
         echo "LineageOS Gerrit Rebase Usage: "
-        echo "      lineagerebase <path to project> <patch IDs on Gerrit>"
+        echo "      blissrebase <path to project> <patch IDs on Gerrit>"
         echo "      The patch IDs appear on the Gerrit commands that are offered."
         echo "      They consist on a series of numbers and slashes, after the text"
         echo "      refs/changes. For example, the ID in the following command is 26/8126/2"
@@ -705,7 +705,7 @@
     echo "Bringing it up to date..."
     repo sync .
     echo "Fetching change..."
-    git fetch "http://review.lineageos.org/p/$repo" "refs/changes/$refs" && git cherry-pick FETCH_HEAD
+    git fetch "https://review.blissroms.com/p/$repo" "refs/changes/$refs" && git cherry-pick FETCH_HEAD
     if [ "$?" != "0" ]; then
         echo "Error cherry-picking. Not uploading!"
         return
@@ -789,7 +789,7 @@
         echo "Device Found."
     fi
 
-    if (adb shell getprop ro.lineage.device | grep -q "$LINEAGE_BUILD") || [ "$FORCE_PUSH" = "true" ];
+    if (adb shell getprop ro.bliss.device | grep -q "$BLISS_BUILD") || [ "$FORCE_PUSH" = "true" ];
     then
     # retrieve IP and PORT info if we're using a TCP connection
     TCPIPPORT=$(adb devices \
@@ -908,7 +908,7 @@
     rm -f $OUT/.log
     return 0
     else
-        echo "The connected device does not appear to be $LINEAGE_BUILD, run away!"
+        echo "The connected device does not appear to be $BLISS_BUILD, run away!"
     fi
 }
 
@@ -921,7 +921,7 @@
 
 function repopick() {
     T=$(gettop)
-    $T/vendor/lineage/build/tools/repopick.py $@
+    $T/vendor/bliss/build/tools/repopick.py $@
 }
 
 function fixup_common_out_dir() {
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
index 0a2b968..b3ceb74 100644
--- a/build/soong/Android.bp
+++ b/build/soong/Android.bp
@@ -1,14 +1,14 @@
 bootstrap_go_package {
-    name: "soong-lineage",
-    pkgPath: "lineage/soong/android",
+    name: "soong-bliss",
+    pkgPath: "bliss/soong/android",
     srcs: [
         "android/variable.go",
     ],
 }
 
 bootstrap_go_package {
-    name: "soong-lineage-generator",
-    pkgPath: "lineage/soong/generator",
+    name: "soong-bliss-generator",
+    pkgPath: "bliss/soong/generator",
     deps: [
         "blueprint",
         "blueprint-pathtools",
@@ -23,7 +23,7 @@
     pluginFor: ["soong_build"],
 }
 
-lineage_generator {
+bliss_generator {
     name: "generated_kernel_includes",
 
     // The headers make command
diff --git a/build/soong/generator/generator.go b/build/soong/generator/generator.go
index a6b2dd1..61b1384 100644
--- a/build/soong/generator/generator.go
+++ b/build/soong/generator/generator.go
@@ -29,7 +29,7 @@
 )
 
 func init() {
-	android.RegisterModuleType("lineage_generator", GeneratorFactory)
+	android.RegisterModuleType("bliss_generator", GeneratorFactory)
 
 	pctx.HostBinToolVariable("sboxCmd", "sbox")
 }
@@ -213,12 +213,12 @@
 	if depRoot == "" {
 		depRoot = ctx.ModuleDir()
 	} else {
-		depRoot = lineageExpandVariables(ctx, depRoot)
+		depRoot = blissExpandVariables(ctx, depRoot)
 	}
 
 	// Glob dep_files property
 	for _, dep_file := range g.properties.Dep_files {
-		dep_file = lineageExpandVariables(ctx, dep_file)
+		dep_file = blissExpandVariables(ctx, dep_file)
 		globPath := filepath.Join(depRoot, dep_file)
 		paths, err := ctx.GlobWithDeps(globPath, nil)
 		if err != nil {
@@ -230,7 +230,7 @@
 		}
 	}
 
-	cmd := lineageExpandVariables(ctx, String(g.properties.Cmd))
+	cmd := blissExpandVariables(ctx, String(g.properties.Cmd))
 
 	rawCommand, err := android.Expand(cmd, func(name string) (string, error) {
 		switch name {
diff --git a/build/soong/generator/variables.go b/build/soong/generator/variables.go
index 8485f94..3e633ff 100644
--- a/build/soong/generator/variables.go
+++ b/build/soong/generator/variables.go
@@ -6,12 +6,12 @@
 	"android/soong/android"
 )
 
-func lineageExpandVariables(ctx android.ModuleContext, in string) string {
-	lineageVars := ctx.Config().VendorConfig("lineageVarsPlugin")
+func blissExpandVariables(ctx android.ModuleContext, in string) string {
+	blissVars := ctx.Config().VendorConfig("blissVarsPlugin")
 
 	out, err := android.Expand(in, func(name string) (string, error) {
-		if lineageVars.IsSet(name) {
-			return lineageVars.String(name), nil
+		if blissVars.IsSet(name) {
+			return blissVars.String(name), nil
 		}
 		// This variable is not for us, restore what the original
 		// variable string will have looked like for an Expand
diff --git a/build/soong/soong_config.mk b/build/soong/soong_config.mk
index 6f3567a..73621c2 100644
--- a/build/soong/soong_config.mk
+++ b/build/soong/soong_config.mk
@@ -1,7 +1,7 @@
 add_json_str_omitempty = $(if $(strip $(2)),$(call add_json_str, $(1), $(2)))
 add_json_val_default = $(call add_json_val, $(1), $(if $(strip $(2)), $(2), $(3)))
 
-_json_contents := $(_json_contents)    "Lineage":{$(newline)
+_json_contents := $(_json_contents)    "Bliss":{$(newline)
 
 # See build/core/soong_config.mk for the add_json_* functions you can use here.
 $(call add_json_str_omitempty, Additional_gralloc_10_usage_bits, $(TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS))
diff --git a/build/target/product/AndroidProducts.mk b/build/target/product/AndroidProducts.mk
index 6fb1a04..d35038d 100644
--- a/build/target/product/AndroidProducts.mk
+++ b/build/target/product/AndroidProducts.mk
@@ -15,13 +15,13 @@
 #
 
 PRODUCT_MAKEFILES := \
-    $(LOCAL_DIR)/lineage_arm.mk \
-    $(LOCAL_DIR)/lineage_arm64.mk \
-    $(LOCAL_DIR)/lineage_x86.mk \
-    $(LOCAL_DIR)/lineage_x86_64.mk
+    $(LOCAL_DIR)/bliss_arm.mk \
+    $(LOCAL_DIR)/bliss_arm64.mk \
+    $(LOCAL_DIR)/bliss_x86.mk \
+    $(LOCAL_DIR)/bliss_x86_64.mk
 
 COMMON_LUNCH_CHOICES := \
-    lineage_arm-userdebug \
-    lineage_arm64-userdebug \
-    lineage_x86-userdebug \
-    lineage_x86_64-userdebug
+    bliss_arm-userdebug \
+    bliss_arm64-userdebug \
+    bliss_x86-userdebug \
+    bliss_x86_64-userdebug
diff --git a/build/target/product/lineage_arm.mk b/build/target/product/bliss_arm.mk
similarity index 87%
rename from build/target/product/lineage_arm.mk
rename to build/target/product/bliss_arm.mk
index 90eb1ed..ceddd5a 100644
--- a/build/target/product/lineage_arm.mk
+++ b/build/target/product/bliss_arm.mk
@@ -14,9 +14,9 @@
 
 $(call inherit-product, build/target/product/aosp_arm.mk)
 
-include vendor/lineage/build/target/product/lineage_generic_target.mk
+include vendor/bliss/build/target/product/bliss_generic_target.mk
 
 TARGET_NO_KERNEL_OVERRIDE := true
 TARGET_USES_64_BIT_BINDER := true
 
-PRODUCT_NAME := lineage_arm
+PRODUCT_NAME := bliss_arm
diff --git a/build/target/product/lineage_arm64.mk b/build/target/product/bliss_arm64.mk
similarity index 87%
rename from build/target/product/lineage_arm64.mk
rename to build/target/product/bliss_arm64.mk
index e57d8fd..d19b8bf 100644
--- a/build/target/product/lineage_arm64.mk
+++ b/build/target/product/bliss_arm64.mk
@@ -14,8 +14,8 @@
 
 $(call inherit-product, build/target/product/aosp_arm64.mk)
 
-include vendor/lineage/build/target/product/lineage_generic_target.mk
+include vendor/bliss/build/target/product/bliss_generic_target.mk
 
 TARGET_NO_KERNEL_OVERRIDE := true
 
-PRODUCT_NAME := lineage_arm64
+PRODUCT_NAME := bliss_arm64
diff --git a/build/target/product/lineage_generic_target.mk b/build/target/product/bliss_generic_target.mk
similarity index 92%
rename from build/target/product/lineage_generic_target.mk
rename to build/target/product/bliss_generic_target.mk
index e2dca79..54a91a6 100644
--- a/build/target/product/lineage_generic_target.mk
+++ b/build/target/product/bliss_generic_target.mk
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 $(call inherit-product, build/target/product/gsi_release.mk)
-$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
+$(call inherit-product, vendor/bliss/config/common_full_phone.mk)
 
 PRODUCT_COPY_FILES += \
     device/generic/goldfish/data/etc/permissions/privapp-permissions-goldfish.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-goldfish.xml \
diff --git a/build/target/product/lineage_x86.mk b/build/target/product/bliss_x86.mk
similarity index 85%
rename from build/target/product/lineage_x86.mk
rename to build/target/product/bliss_x86.mk
index 8585249..15a4804 100644
--- a/build/target/product/lineage_x86.mk
+++ b/build/target/product/bliss_x86.mk
@@ -14,11 +14,11 @@
 
 $(call inherit-product, build/target/product/aosp_x86.mk)
 
-include vendor/lineage/build/target/product/lineage_generic_target.mk
+include vendor/bliss/build/target/product/bliss_generic_target.mk
 
 TARGET_USES_64_BIT_BINDER := true
 
-PRODUCT_NAME := lineage_x86
+PRODUCT_NAME := bliss_x86
 
-PRODUCT_SDK_ADDON_NAME := lineage
+PRODUCT_SDK_ADDON_NAME := bliss
 PRODUCT_SDK_ADDON_SYS_IMG_SOURCE_PROP := $(LOCAL_PATH)/source.properties
diff --git a/build/target/product/lineage_x86_64.mk b/build/target/product/bliss_x86_64.mk
similarity index 84%
rename from build/target/product/lineage_x86_64.mk
rename to build/target/product/bliss_x86_64.mk
index 559bde6..0fd72c6 100644
--- a/build/target/product/lineage_x86_64.mk
+++ b/build/target/product/bliss_x86_64.mk
@@ -14,9 +14,9 @@
 
 $(call inherit-product, build/target/product/aosp_x86_64.mk)
 
-include vendor/lineage/build/target/product/lineage_generic_target.mk
+include vendor/bliss/build/target/product/bliss_generic_target.mk
 
-PRODUCT_NAME := lineage_x86_64
+PRODUCT_NAME := bliss_x86_64
 
-PRODUCT_SDK_ADDON_NAME := lineage
+PRODUCT_SDK_ADDON_NAME := bliss
 PRODUCT_SDK_ADDON_SYS_IMG_SOURCE_PROP := $(LOCAL_PATH)/source.properties
diff --git a/build/target/product/source.properties b/build/target/product/source.properties
index 11d524e..94aa7a8 100644
--- a/build/target/product/source.properties
+++ b/build/target/product/source.properties
@@ -1,7 +1,7 @@
-Pkg.Desc=LineageOS System Image API ${PLATFORM_VERSION} ${TARGET_CPU_ABI}
+Pkg.Desc=Bliss System Image API ${PLATFORM_VERSION} ${TARGET_CPU_ABI}
 Pkg.Revision=1
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 SystemImage.Abi=${TARGET_CPU_ABI}
-SystemImage.TagId=lineage
-SystemImage.TagDisplay=LineageOS
+SystemImage.TagId=bliss
+SystemImage.TagDisplay=Bliss
 
diff --git a/build/tasks/bacon.mk b/build/tasks/bacon.mk
deleted file mode 100644
index 7bd78b4..0000000
--- a/build/tasks/bacon.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2017 Unlegacy-Android
-# Copyright (C) 2017 The LineageOS Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# -----------------------------------------------------------------
-# Lineage OTA update package
-
-LINEAGE_TARGET_PACKAGE := $(PRODUCT_OUT)/lineage-$(LINEAGE_VERSION).zip
-
-MD5 := prebuilts/build-tools/path/$(HOST_OS)-x86/md5sum
-
-.PHONY: bacon
-bacon: $(INTERNAL_OTA_PACKAGE_TARGET)
-	$(hide) ln -f $(INTERNAL_OTA_PACKAGE_TARGET) $(LINEAGE_TARGET_PACKAGE)
-	$(hide) $(MD5) $(LINEAGE_TARGET_PACKAGE) | sed "s|$(PRODUCT_OUT)/||" > $(LINEAGE_TARGET_PACKAGE).md5sum
-	@echo "Package Complete: $(LINEAGE_TARGET_PACKAGE)" >&2
diff --git a/build/templates/extract-files.sh b/build/templates/extract-files.sh
index fede670..6872dd8 100755
--- a/build/templates/extract-files.sh
+++ b/build/templates/extract-files.sh
@@ -25,9 +25,9 @@
 MY_DIR="${BASH_SOURCE%/*}"
 if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
 
-LINEAGE_ROOT="${MY_DIR}/../../.."
+BLISS_ROOT="${MY_DIR}/../../.."
 
-HELPER="${LINEAGE_ROOT}/vendor/lineage/build/tools/extract_utils.sh"
+HELPER="${BLISS_ROOT}/vendor/bliss/build/tools/extract_utils.sh"
 if [ ! -f "${HELPER}" ]; then
     echo "Unable to find helper script at ${HELPER}"
     exit 1
@@ -60,7 +60,7 @@
 fi
 
 # Initialize the helper
-setup_vendor "${DEVICE}" "${VENDOR}" "${LINEAGE_ROOT}" false "${CLEAN_VENDOR}"
+setup_vendor "${DEVICE}" "${VENDOR}" "${BLISS_ROOT}" false "${CLEAN_VENDOR}"
 
 extract "${MY_DIR}/proprietary-files.txt" "${SRC}" ${KANG} --section "${SECTION}"
 
diff --git a/build/templates/setup-makefiles.sh b/build/templates/setup-makefiles.sh
index 51b4ba2..c245ecf 100755
--- a/build/templates/setup-makefiles.sh
+++ b/build/templates/setup-makefiles.sh
@@ -27,9 +27,9 @@
 MY_DIR="${BASH_SOURCE%/*}"
 if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
 
-LINEAGE_ROOT="$MY_DIR"/../../..
+BLISS_ROOT="$MY_DIR"/../../..
 
-HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh
+HELPER="$BLISS_ROOT"/vendor/bliss/build/tools/extract_utils.sh
 if [ ! -f "$HELPER" ]; then
     echo "Unable to find helper script at $HELPER"
     exit 1
@@ -37,7 +37,7 @@
 . "$HELPER"
 
 # Initialize the helper
-setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT"
+setup_vendor "$DEVICE" "$VENDOR" "$BLISS_ROOT"
 
 # Copyright headers and guards
 write_headers
diff --git a/build/tools/extract_utils.sh b/build/tools/extract_utils.sh
index 5d82b12..7c05284 100644
--- a/build/tools/extract_utils.sh
+++ b/build/tools/extract_utils.sh
@@ -47,7 +47,7 @@
 #
 # $1: device name
 # $2: vendor name
-# $3: Lineage root directory
+# $3: Bliss root directory
 # $4: is common device - optional, default to false
 # $5: cleanup - optional, default to true
 # $6: custom vendor makefile name - optional, default to false
@@ -68,15 +68,15 @@
         exit 1
     fi
 
-    export LINEAGE_ROOT="$3"
-    if [ ! -d "$LINEAGE_ROOT" ]; then
-        echo "\$LINEAGE_ROOT must be set and valid before including this script!"
+    export BLISS_ROOT="$3"
+    if [ ! -d "$BLISS_ROOT" ]; then
+        echo "\$BLISS_ROOT must be set and valid before including this script!"
         exit 1
     fi
 
     export OUTDIR=vendor/"$VENDOR"/"$DEVICE"
-    if [ ! -d "$LINEAGE_ROOT/$OUTDIR" ]; then
-        mkdir -p "$LINEAGE_ROOT/$OUTDIR"
+    if [ ! -d "$BLISS_ROOT/$OUTDIR" ]; then
+        mkdir -p "$BLISS_ROOT/$OUTDIR"
     fi
 
     VNDNAME="$6"
@@ -84,10 +84,10 @@
         VNDNAME="$DEVICE"
     fi
 
-    export PRODUCTMK="$LINEAGE_ROOT"/"$OUTDIR"/"$VNDNAME"-vendor.mk
-    export ANDROIDBP="$LINEAGE_ROOT"/"$OUTDIR"/Android.bp
-    export ANDROIDMK="$LINEAGE_ROOT"/"$OUTDIR"/Android.mk
-    export BOARDMK="$LINEAGE_ROOT"/"$OUTDIR"/BoardConfigVendor.mk
+    export PRODUCTMK="$BLISS_ROOT"/"$OUTDIR"/"$VNDNAME"-vendor.mk
+    export ANDROIDBP="$BLISS_ROOT"/"$OUTDIR"/Android.bp
+    export ANDROIDMK="$BLISS_ROOT"/"$OUTDIR"/Android.mk
+    export BOARDMK="$BLISS_ROOT"/"$OUTDIR"/BoardConfigVendor.mk
 
     if [ "$4" == "true" ] || [ "$4" == "1" ]; then
         COMMON=1
@@ -1243,7 +1243,7 @@
 # Convert apk|jar .odex in the corresposing classes.dex
 #
 function oat2dex() {
-    local LINEAGE_TARGET="$1"
+    local BLISS_TARGET="$1"
     local OEM_TARGET="$2"
     local SRC="$3"
     local TARGET=
@@ -1251,16 +1251,16 @@
     local HOST="$(uname | tr '[:upper:]' '[:lower:]')"
 
     if [ -z "$BAKSMALIJAR" ] || [ -z "$SMALIJAR" ]; then
-        export BAKSMALIJAR="$LINEAGE_ROOT"/prebuilts/tools-lineage/common/smali/baksmali.jar
-        export SMALIJAR="$LINEAGE_ROOT"/prebuilts/tools-lineage/common/smali/smali.jar
+        export BAKSMALIJAR="$BLISS_ROOT"/prebuilts/tools-lineage/common/smali/baksmali.jar
+        export SMALIJAR="$BLISS_ROOT"/prebuilts/tools-lineage/common/smali/smali.jar
     fi
 
     if [ -z "$VDEXEXTRACTOR" ]; then
-        export VDEXEXTRACTOR="$LINEAGE_ROOT"/prebuilts/tools-lineage/${HOST}-x86/bin/vdexExtractor
+        export VDEXEXTRACTOR="$BLISS_ROOT"/prebuilts/tools-lineage/${HOST}-x86/bin/vdexExtractor
     fi
 
     if [ -z "$CDEXCONVERTER" ]; then
-        export CDEXCONVERTER="$LINEAGE_ROOT"/prebuilts/tools-lineage/${HOST}-x86/bin/compact_dex_converter
+        export CDEXCONVERTER="$BLISS_ROOT"/prebuilts/tools-lineage/${HOST}-x86/bin/compact_dex_converter
     fi
 
     # Extract existing boot.oats to the temp folder
@@ -1507,7 +1507,7 @@
     local FIXUP_HASHLIST=( ${PRODUCT_COPY_FILES_FIXUP_HASHES[@]} ${PRODUCT_PACKAGES_FIXUP_HASHES[@]} )
     local PRODUCT_COPY_FILES_COUNT=${#PRODUCT_COPY_FILES_LIST[@]}
     local COUNT=${#FILELIST[@]}
-    local OUTPUT_ROOT="$LINEAGE_ROOT"/"$OUTDIR"/proprietary
+    local OUTPUT_ROOT="$BLISS_ROOT"/"$OUTDIR"/proprietary
     local OUTPUT_TMP="$TMPDIR"/"$OUTDIR"/proprietary
 
     if [ "$SRC" = "adb" ]; then
@@ -1544,7 +1544,7 @@
                 fi
                 if [ -a "$DUMPDIR"/"$PARTITION".new.dat ]; then
                     echo "Converting "$PARTITION".new.dat to "$PARTITION".img"
-                    python "$LINEAGE_ROOT"/vendor/lineage/build/tools/sdat2img.py "$DUMPDIR"/"$PARTITION".transfer.list "$DUMPDIR"/"$PARTITION".new.dat "$DUMPDIR"/"$PARTITION".img 2>&1
+                    python "$BLISS_ROOT"/vendor/lineage/build/tools/sdat2img.py "$DUMPDIR"/"$PARTITION".transfer.list "$DUMPDIR"/"$PARTITION".new.dat "$DUMPDIR"/"$PARTITION".img 2>&1
                     rm -rf "$DUMPDIR"/"$PARTITION".new.dat "$DUMPDIR"/"$PARTITION"
                     mkdir "$DUMPDIR"/"$PARTITION" "$DUMPDIR"/tmp
                     echo "Requesting sudo access to mount the "$PARTITION".img"
@@ -1722,7 +1722,7 @@
     local FILELIST=( ${PRODUCT_COPY_FILES_LIST[@]} )
     local COUNT=${#FILELIST[@]}
     local SRC="$2"
-    local OUTPUT_DIR="$LINEAGE_ROOT"/"$OUTDIR"/radio
+    local OUTPUT_DIR="$BLISS_ROOT"/"$OUTDIR"/radio
 
     if [ "$VENDOR_RADIO_STATE" -eq "0" ]; then
         echo "Cleaning firmware output directory ($OUTPUT_DIR).."
diff --git a/build/tools/repopick.py b/build/tools/repopick.py
index 50ffe37..db19df1 100755
--- a/build/tools/repopick.py
+++ b/build/tools/repopick.py
@@ -153,12 +153,12 @@
 
 
 if __name__ == '__main__':
-    # Default to LineageOS Gerrit
-    default_gerrit = 'https://review.lineageos.org'
+    # Default to BlissRoms Gerrit
+    default_gerrit = 'https://review.blissroms.com'
 
     parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter, description=textwrap.dedent('''\
         repopick.py is a utility to simplify the process of cherry picking
-        patches from LineageOS's Gerrit instance (or any gerrit instance of your choosing)
+        patches from BlissRoms's Gerrit instance (or any gerrit instance of your choosing)
 
         Given a list of change numbers, repopick will cd into the project path
         and cherry pick the latest patch available.
diff --git a/charger/Android.mk b/charger/Android.mk
index 5d42e6a..6ec2330 100644
--- a/charger/Android.mk
+++ b/charger/Android.mk
@@ -15,8 +15,8 @@
 endif
 
 include $(CLEAR_VARS)
-LOCAL_SRC_FILES := healthd_board_lineage.cpp
-LOCAL_MODULE := libhealthd.lineage
+LOCAL_SRC_FILES := healthd_board_bliss.cpp
+LOCAL_MODULE := libhealthd.bliss
 LOCAL_CFLAGS := -Werror
 LOCAL_C_INCLUDES := \
     system/core/healthd/include \
@@ -45,7 +45,7 @@
 
 define _add-charger-image
 include $$(CLEAR_VARS)
-LOCAL_MODULE := vendor_lineage_charger_$(notdir $(1))
+LOCAL_MODULE := vendor_bliss_charger_$(notdir $(1))
 LOCAL_MODULE_STEM := $(notdir $(1))
 _img_modules += $$(LOCAL_MODULE)
 LOCAL_SRC_FILES := $1
@@ -61,7 +61,7 @@
   $(eval $(call _add-charger-image,$(_img))))
 
 include $(CLEAR_VARS)
-LOCAL_MODULE := lineage_charger_res_images
+LOCAL_MODULE := bliss_charger_res_images
 LOCAL_MODULE_TAGS := optional
 LOCAL_REQUIRED_MODULES := $(_img_modules)
 LOCAL_OVERRIDES_PACKAGES := charger_res_images
diff --git a/charger/healthd_board_lineage.cpp b/charger/healthd_board_bliss.cpp
similarity index 98%
rename from charger/healthd_board_lineage.cpp
rename to charger/healthd_board_bliss.cpp
index dcfbc4a..c2f42ea 100644
--- a/charger/healthd_board_lineage.cpp
+++ b/charger/healthd_board_bliss.cpp
@@ -290,10 +290,10 @@
     char value[PROP_VALUE_MAX];
     int rc = 0, scale_count = 0, i;
     GRSurface **scale_frames;
-    int scale_fps;  // Not in use (charger/lineage_battery_scale doesn't have FPS text
+    int scale_fps;  // Not in use (charger/bliss_battery_scale doesn't have FPS text
                     // chunk). We are using hard-coded frame.disp_time instead.
 
-    rc = res_create_multi_display_surface("charger/lineage_battery_scale",
+    rc = res_create_multi_display_surface("charger/bliss_battery_scale",
             &scale_count, &scale_fps, &scale_frames);
     if (rc < 0) {
         LOGE("%s: Unable to load battery scale image", __func__);
diff --git a/charger/images/hdpi/lineage_battery_scale.png b/charger/images/hdpi/bliss_battery_scale.png
similarity index 100%
rename from charger/images/hdpi/lineage_battery_scale.png
rename to charger/images/hdpi/bliss_battery_scale.png
Binary files differ
diff --git a/charger/images/ldpi/lineage_battery_scale.png b/charger/images/ldpi/bliss_battery_scale.png
similarity index 100%
rename from charger/images/ldpi/lineage_battery_scale.png
rename to charger/images/ldpi/bliss_battery_scale.png
Binary files differ
diff --git a/charger/images/mdpi/lineage_battery_scale.png b/charger/images/mdpi/bliss_battery_scale.png
similarity index 100%
rename from charger/images/mdpi/lineage_battery_scale.png
rename to charger/images/mdpi/bliss_battery_scale.png
Binary files differ
diff --git a/charger/images/xhdpi/lineage_battery_scale.png b/charger/images/xhdpi/bliss_battery_scale.png
similarity index 100%
rename from charger/images/xhdpi/lineage_battery_scale.png
rename to charger/images/xhdpi/bliss_battery_scale.png
Binary files differ
diff --git a/charger/images/xxhdpi/lineage_battery_scale.png b/charger/images/xxhdpi/bliss_battery_scale.png
similarity index 100%
rename from charger/images/xxhdpi/lineage_battery_scale.png
rename to charger/images/xxhdpi/bliss_battery_scale.png
Binary files differ
diff --git a/charger/images/xxxhdpi/lineage_battery_scale.png b/charger/images/xxxhdpi/bliss_battery_scale.png
similarity index 100%
rename from charger/images/xxxhdpi/lineage_battery_scale.png
rename to charger/images/xxxhdpi/bliss_battery_scale.png
Binary files differ
diff --git a/config/BoardConfigBliss.mk b/config/BoardConfigBliss.mk
new file mode 100644
index 0000000..f984277
--- /dev/null
+++ b/config/BoardConfigBliss.mk
@@ -0,0 +1,12 @@
+# Charger
+ifeq ($(WITH_BLISS_CHARGER),true)
+    BOARD_HAL_STATIC_LIBRARIES := libhealthd.bliss
+endif
+
+include vendor/bliss/config/BoardConfigKernel.mk
+
+ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
+include vendor/bliss/config/BoardConfigQcom.mk
+endif
+
+include vendor/bliss/config/BoardConfigSoong.mk
diff --git a/config/BoardConfigLineage.mk b/config/BoardConfigLineage.mk
deleted file mode 100644
index 547792f..0000000
--- a/config/BoardConfigLineage.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Charger
-ifeq ($(WITH_LINEAGE_CHARGER),true)
-    BOARD_HAL_STATIC_LIBRARIES := libhealthd.lineage
-endif
-
-include vendor/lineage/config/BoardConfigKernel.mk
-
-ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
-include vendor/lineage/config/BoardConfigQcom.mk
-endif
-
-include vendor/lineage/config/BoardConfigSoong.mk
diff --git a/config/BoardConfigSoong.mk b/config/BoardConfigSoong.mk
index 2e1641a..38d7164 100644
--- a/config/BoardConfigSoong.mk
+++ b/config/BoardConfigSoong.mk
@@ -15,13 +15,13 @@
 # Documentation here:
 # https://github.com/LineageOS/android_build_soong/commit/8328367c44085b948c003116c0ed74a047237a69
 
-SOONG_CONFIG_NAMESPACES += lineageVarsPlugin
+SOONG_CONFIG_NAMESPACES += blissVarsPlugin
 
-SOONG_CONFIG_lineageVarsPlugin :=
+SOONG_CONFIG_blissVarsPlugin :=
 
 define addVar
-  SOONG_CONFIG_lineageVarsPlugin += $(1)
-  SOONG_CONFIG_lineageVarsPlugin_$(1) := $$(subst ",\",$$($1))
+  SOONG_CONFIG_blissVarsPlugin += $(1)
+  SOONG_CONFIG_blissVarsPlugin_$(1) := $$(subst ",\",$$($1))
 endef
 
 $(foreach v,$(EXPORT_TO_SOONG),$(eval $(call addVar,$(v))))
diff --git a/config/aosp_audio.mk b/config/aosp_audio.mk
index 910e7c6..dd5306d 100644
--- a/config/aosp_audio.mk
+++ b/config/aosp_audio.mk
@@ -24,13 +24,13 @@
     $(LOCAL_PATH)/alarms/ogg/Barium.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Barium.ogg \
     $(LOCAL_PATH)/alarms/ogg/Hassium.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Hassium.ogg \
     $(LOCAL_PATH)/alarms/ogg/Scandium.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Scandium.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Argon-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Argon-old.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Carbon-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Carbon-old.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Krypton-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Krypton-old.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Neon-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Neon-old.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Osmium-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Osmium-old.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Oxygen-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Oxygen-old.ogg \
-    vendor/lineage/prebuilt/common/media/audio/alarms/Platinum-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Platinum-old.ogg
+    vendor/bliss/prebuilt/common/media/audio/alarms/Argon-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Argon-old.ogg \
+    vendor/bliss/prebuilt/common/media/audio/alarms/Carbon-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Carbon-old.ogg \
+    vendor/bliss/prebuilt/common/media/audio/alarms/Krypton-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Krypton-old.ogg \
+    vendor/bliss/prebuilt/common/media/audio/alarms/Neon-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Neon-old.ogg \
+    vendor/bliss/prebuilt/common/media/audio/alarms/Osmium-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Osmium-old.ogg \
+    vendor/bliss/prebuilt/common/media/audio/alarms/Oxygen-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Oxygen-old.ogg \
+    vendor/bliss/prebuilt/common/media/audio/alarms/Platinum-old.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/alarms/Platinum-old.ogg
 
 PRODUCT_COPY_FILES += \
     $(LOCAL_PATH)/F1_New_SMS.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/notifications/F1_New_SMS.ogg \
diff --git a/config/lineage_audio.mk b/config/bliss_audio.mk
similarity index 88%
rename from config/lineage_audio.mk
rename to config/bliss_audio.mk
index b87dfca..a70f958 100644
--- a/config/lineage_audio.mk
+++ b/config/bliss_audio.mk
@@ -1,10 +1,10 @@
 #
-# Lineage Audio Files
+# Bliss Audio Files
 #
 
-ALARM_PATH := vendor/lineage/prebuilt/common/media/audio/alarms
-NOTIFICATION_PATH := vendor/lineage/prebuilt/common/media/audio/notifications
-RINGTONE_PATH := vendor/lineage/prebuilt/common/media/audio/ringtones
+ALARM_PATH := vendor/bliss/prebuilt/common/media/audio/alarms
+NOTIFICATION_PATH := vendor/bliss/prebuilt/common/media/audio/notifications
+RINGTONE_PATH := vendor/bliss/prebuilt/common/media/audio/ringtones
 
 # Alarms
 PRODUCT_COPY_FILES += \
diff --git a/config/common.mk b/config/common.mk
index 1c25f0a..4eed1fb 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -1,7 +1,7 @@
 # Allow vendor/extra to override any property by setting it first
 $(call inherit-product-if-exists, vendor/extra/product.mk)
 
-PRODUCT_BRAND ?= LineageOS
+PRODUCT_BRAND ?= Bliss
 
 PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
 
@@ -23,15 +23,15 @@
 
 # Backup Tool
 PRODUCT_COPY_FILES += \
-    vendor/lineage/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
-    vendor/lineage/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
-    vendor/lineage/prebuilt/common/bin/50-lineage.sh:$(TARGET_COPY_OUT_SYSTEM)/addon.d/50-lineage.sh
+    vendor/bliss/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
+    vendor/bliss/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
+    vendor/bliss/prebuilt/common/bin/50-bliss.sh:$(TARGET_COPY_OUT_SYSTEM)/addon.d/50-bliss.sh
 
 ifneq ($(AB_OTA_PARTITIONS),)
 PRODUCT_COPY_FILES += \
-    vendor/lineage/prebuilt/common/bin/backuptool_ab.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.sh \
-    vendor/lineage/prebuilt/common/bin/backuptool_ab.functions:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.functions \
-    vendor/lineage/prebuilt/common/bin/backuptool_postinstall.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_postinstall.sh
+    vendor/bliss/prebuilt/common/bin/backuptool_ab.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.sh \
+    vendor/bliss/prebuilt/common/bin/backuptool_ab.functions:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_ab.functions \
+    vendor/bliss/prebuilt/common/bin/backuptool_postinstall.sh:$(TARGET_COPY_OUT_SYSTEM)/bin/backuptool_postinstall.sh
 ifneq ($(TARGET_BUILD_VARIANT),user)
 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     ro.ota.allow_downgrade=true
@@ -40,23 +40,23 @@
 
 # Backup Services whitelist
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/backup.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/backup.xml
+    vendor/bliss/config/permissions/backup.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/backup.xml
 
 # Lineage-specific broadcast actions whitelist
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/lineage-sysconfig.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/lineage-sysconfig.xml
+    vendor/bliss/config/permissions/lineage-sysconfig.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/lineage-sysconfig.xml
 
 # Copy all Lineage-specific init rc files
-$(foreach f,$(wildcard vendor/lineage/prebuilt/common/etc/init/*.rc),\
+$(foreach f,$(wildcard vendor/bliss/prebuilt/common/etc/init/*.rc),\
 	$(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_SYSTEM)/etc/init/$(notdir $f)))
 
 # Copy over added mimetype supported in libcore.net.MimeUtils
 PRODUCT_COPY_FILES += \
-    vendor/lineage/prebuilt/common/lib/content-types.properties:$(TARGET_COPY_OUT_SYSTEM)/lib/content-types.properties
+    vendor/bliss/prebuilt/common/lib/content-types.properties:$(TARGET_COPY_OUT_SYSTEM)/lib/content-types.properties
 
 # Enable Android Beam on all targets
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/android.software.nfc.beam.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.software.nfc.beam.xml
+    vendor/bliss/config/permissions/android.software.nfc.beam.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.software.nfc.beam.xml
 
 # Enable SIP+VoIP on all targets
 PRODUCT_COPY_FILES += \
@@ -66,28 +66,28 @@
 PRODUCT_COPY_FILES += \
     frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/Vendor_045e_Product_0719.kl
 
-# This is Lineage!
+# Lineage specific permissions 
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.android.xml
+    vendor/bliss/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.android.xml
 
 # Enforce privapp-permissions whitelist
 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     ro.control_privapp_permissions=enforce
 
 # Include AOSP audio files
-include vendor/lineage/config/aosp_audio.mk
+include vendor/bliss/config/aosp_audio.mk
 
-# Include Lineage audio files
-include vendor/lineage/config/lineage_audio.mk
+# Include Bliss audio files
+include vendor/bliss/config/bliss_audio.mk
 
 ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true)
 # Lineage SDK
-include vendor/lineage/config/lineage_sdk_common.mk
+include vendor/bliss/config/lineage_sdk_common.mk
 endif
 
 # TWRP
 ifeq ($(WITH_TWRP),true)
-include vendor/lineage/config/twrp.mk
+include vendor/bliss/config/twrp.mk
 endif
 
 # Do not include art debug targets
@@ -121,7 +121,7 @@
     LineageThemesStub \
     ThemePicker
 
-# Extra tools in Lineage
+# Extra tools in bliss
 PRODUCT_PACKAGES += \
     7z \
     awk \
@@ -188,126 +188,8 @@
     SystemUI \
     TrebuchetQuickStep
 
-PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay
-DEVICE_PACKAGE_OVERLAYS += vendor/lineage/overlay/common
-
-PRODUCT_VERSION_MAJOR = 18
-PRODUCT_VERSION_MINOR = 0
-PRODUCT_VERSION_MAINTENANCE := 0
-
-ifeq ($(TARGET_VENDOR_SHOW_MAINTENANCE_VERSION),true)
-    LINEAGE_VERSION_MAINTENANCE := $(PRODUCT_VERSION_MAINTENANCE)
-else
-    LINEAGE_VERSION_MAINTENANCE := 0
-endif
-
-# Set LINEAGE_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
-
-ifndef LINEAGE_BUILDTYPE
-    ifdef RELEASE_TYPE
-        # Starting with "LINEAGE_" is optional
-        RELEASE_TYPE := $(shell echo $(RELEASE_TYPE) | sed -e 's|^LINEAGE_||g')
-        LINEAGE_BUILDTYPE := $(RELEASE_TYPE)
-    endif
-endif
-
-# Filter out random types, so it'll reset to UNOFFICIAL
-ifeq ($(filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL,$(LINEAGE_BUILDTYPE)),)
-    LINEAGE_BUILDTYPE :=
-endif
-
-ifdef LINEAGE_BUILDTYPE
-    ifneq ($(LINEAGE_BUILDTYPE), SNAPSHOT)
-        ifdef LINEAGE_EXTRAVERSION
-            # Force build type to EXPERIMENTAL
-            LINEAGE_BUILDTYPE := EXPERIMENTAL
-            # Remove leading dash from LINEAGE_EXTRAVERSION
-            LINEAGE_EXTRAVERSION := $(shell echo $(LINEAGE_EXTRAVERSION) | sed 's/-//')
-            # Add leading dash to LINEAGE_EXTRAVERSION
-            LINEAGE_EXTRAVERSION := -$(LINEAGE_EXTRAVERSION)
-        endif
-    else
-        ifndef LINEAGE_EXTRAVERSION
-            # Force build type to EXPERIMENTAL, SNAPSHOT mandates a tag
-            LINEAGE_BUILDTYPE := EXPERIMENTAL
-        else
-            # Remove leading dash from LINEAGE_EXTRAVERSION
-            LINEAGE_EXTRAVERSION := $(shell echo $(LINEAGE_EXTRAVERSION) | sed 's/-//')
-            # Add leading dash to LINEAGE_EXTRAVERSION
-            LINEAGE_EXTRAVERSION := -$(LINEAGE_EXTRAVERSION)
-        endif
-    endif
-else
-    # If LINEAGE_BUILDTYPE is not defined, set to UNOFFICIAL
-    LINEAGE_BUILDTYPE := UNOFFICIAL
-    LINEAGE_EXTRAVERSION :=
-endif
-
-ifeq ($(LINEAGE_BUILDTYPE), UNOFFICIAL)
-    ifneq ($(TARGET_UNOFFICIAL_BUILD_ID),)
-        LINEAGE_EXTRAVERSION := -$(TARGET_UNOFFICIAL_BUILD_ID)
-    endif
-endif
-
-ifeq ($(LINEAGE_BUILDTYPE), RELEASE)
-    ifndef TARGET_VENDOR_RELEASE_BUILD_ID
-        LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(LINEAGE_BUILD)
-    else
-        ifeq ($(TARGET_BUILD_VARIANT),user)
-            ifeq ($(LINEAGE_VERSION_MAINTENANCE),0)
-                LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
-            else
-                LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
-            endif
-        else
-            LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(LINEAGE_BUILD)
-        endif
-    endif
-else
-    ifeq ($(LINEAGE_VERSION_MAINTENANCE),0)
-        ifeq ($(LINEAGE_VERSION_APPEND_TIME_OF_DAY),true)
-            LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d_%H%M%S)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
-        else
-            LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
-        endif
-    else
-        ifeq ($(LINEAGE_VERSION_APPEND_TIME_OF_DAY),true)
-            LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(shell date -u +%Y%m%d_%H%M%S)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
-        else
-            LINEAGE_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(shell date -u +%Y%m%d)-$(LINEAGE_BUILDTYPE)$(LINEAGE_EXTRAVERSION)-$(LINEAGE_BUILD)
-        endif
-    endif
-endif
-
-PRODUCT_EXTRA_RECOVERY_KEYS += \
-    vendor/lineage/build/target/product/security/lineage
-
--include vendor/lineage-priv/keys/keys.mk
-
-LINEAGE_DISPLAY_VERSION := $(LINEAGE_VERSION)
-
-ifneq ($(PRODUCT_DEFAULT_DEV_CERTIFICATE),)
-ifneq ($(PRODUCT_DEFAULT_DEV_CERTIFICATE),build/target/product/security/testkey)
-    ifneq ($(LINEAGE_BUILDTYPE), UNOFFICIAL)
-        ifndef TARGET_VENDOR_RELEASE_BUILD_ID
-            ifneq ($(LINEAGE_EXTRAVERSION),)
-                # Remove leading dash from LINEAGE_EXTRAVERSION
-                LINEAGE_EXTRAVERSION := $(shell echo $(LINEAGE_EXTRAVERSION) | sed 's/-//')
-                TARGET_VENDOR_RELEASE_BUILD_ID := $(LINEAGE_EXTRAVERSION)
-            else
-                TARGET_VENDOR_RELEASE_BUILD_ID := $(shell date -u +%Y%m%d)
-            endif
-        else
-            TARGET_VENDOR_RELEASE_BUILD_ID := $(TARGET_VENDOR_RELEASE_BUILD_ID)
-        endif
-        ifeq ($(LINEAGE_VERSION_MAINTENANCE),0)
-            LINEAGE_DISPLAY_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
-        else
-            LINEAGE_DISPLAY_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(LINEAGE_VERSION_MAINTENANCE)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(LINEAGE_BUILD)
-        endif
-    endif
-endif
-endif
+PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/bliss/overlay
+DEVICE_PACKAGE_OVERLAYS += vendor/bliss/overlay/common
 
 -include $(WORKSPACE)/build_env/image-auto-bits.mk
--include vendor/lineage/config/partner_gms.mk
+-include vendor/bliss/config/partner_gms.mk
diff --git a/config/common_full.mk b/config/common_full.mk
index 91bf198..6fff281 100644
--- a/config/common_full.mk
+++ b/config/common_full.mk
@@ -1,5 +1,5 @@
-# Inherit common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_mobile.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_mobile.mk)
 
 PRODUCT_SIZE := full
 
diff --git a/config/common_full_phone.mk b/config/common_full_phone.mk
index 224e454..2ec5dfa 100644
--- a/config/common_full_phone.mk
+++ b/config/common_full_phone.mk
@@ -1,11 +1,11 @@
-# Inherit full common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_full.mk)
+# Inherit full common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_full.mk)
 
 # Required packages
 PRODUCT_PACKAGES += \
     LatinIME
 
-# Include Lineage LatinIME dictionaries
-PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries
+# Include bliss LatinIME dictionaries
+PRODUCT_PACKAGE_OVERLAYS += vendor/bliss/overlay/dictionaries
 
-$(call inherit-product, vendor/lineage/config/telephony.mk)
+$(call inherit-product, vendor/bliss/config/telephony.mk)
diff --git a/config/common_full_tablet_wifionly.mk b/config/common_full_tablet_wifionly.mk
index f75d42a..b57c727 100644
--- a/config/common_full_tablet_wifionly.mk
+++ b/config/common_full_tablet_wifionly.mk
@@ -1,9 +1,9 @@
-# Inherit full common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_full.mk)
+# Inherit full common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_full.mk)
 
 # Required packages
 PRODUCT_PACKAGES += \
     LatinIME
 
-# Include Lineage LatinIME dictionaries
-PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries
+# Include Bliss LatinIME dictionaries
+PRODUCT_PACKAGE_OVERLAYS += vendor/bliss/overlay/dictionaries
diff --git a/config/common_full_tv.mk b/config/common_full_tv.mk
index 416fed0..79d101c 100644
--- a/config/common_full_tv.mk
+++ b/config/common_full_tv.mk
@@ -1,4 +1,4 @@
 # This config is for legacy purposes, there are no atv product size variants
 
-# Inherit common atv Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_tv.mk)
+# Inherit common atv Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_tv.mk)
diff --git a/config/common_mini.mk b/config/common_mini.mk
index 8e8f88f..ea54797 100644
--- a/config/common_mini.mk
+++ b/config/common_mini.mk
@@ -1,4 +1,4 @@
-# Inherit mini common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_mobile.mk)
+# Inherit mini common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_mobile.mk)
 
 PRODUCT_SIZE := mini
diff --git a/config/common_mini_phone.mk b/config/common_mini_phone.mk
index 6b2c57a..95a7732 100644
--- a/config/common_mini_phone.mk
+++ b/config/common_mini_phone.mk
@@ -1,8 +1,8 @@
-# Inherit mini common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_mini.mk)
+# Inherit mini common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_mini.mk)
 
 # Required packages
 PRODUCT_PACKAGES += \
     LatinIME
 
-$(call inherit-product, vendor/lineage/config/telephony.mk)
+$(call inherit-product, vendor/bliss/config/telephony.mk)
diff --git a/config/common_mini_tablet_wifionly.mk b/config/common_mini_tablet_wifionly.mk
index 9d803d2..bae0813 100644
--- a/config/common_mini_tablet_wifionly.mk
+++ b/config/common_mini_tablet_wifionly.mk
@@ -1,5 +1,5 @@
-# Inherit mini common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_mini.mk)
+# Inherit mini common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_mini.mk)
 
 # Required packages
 PRODUCT_PACKAGES += \
diff --git a/config/common_mini_tv.mk b/config/common_mini_tv.mk
index 416fed0..79d101c 100644
--- a/config/common_mini_tv.mk
+++ b/config/common_mini_tv.mk
@@ -1,4 +1,4 @@
 # This config is for legacy purposes, there are no atv product size variants
 
-# Inherit common atv Lineage stuff
-$(call inherit-product, vendor/lineage/config/common_tv.mk)
+# Inherit common atv Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_tv.mk)
diff --git a/config/common_mobile.mk b/config/common_mobile.mk
index 82502e7..a86c106 100644
--- a/config/common_mobile.mk
+++ b/config/common_mobile.mk
@@ -1,5 +1,5 @@
-# Inherit common mobile Lineage stuff
-$(call inherit-product, vendor/lineage/config/common.mk)
+# Inherit common mobile Bliss stuff
+$(call inherit-product, vendor/bliss/config/common.mk)
 
 # Default notification/alarm sounds
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -22,7 +22,7 @@
     ExactCalculator \
     Exchange2
 
-# Lineage packages
+# bliss packages
 PRODUCT_PACKAGES += \
     AudioFX \
     Backgrounds \
@@ -54,11 +54,11 @@
     charger_res_images
 
 # Custom off-mode charger
-ifeq ($(WITH_LINEAGE_CHARGER),true)
+ifeq ($(WITH_BLISS_CHARGER),true)
 PRODUCT_PACKAGES += \
-    lineage_charger_res_images \
+    bliss_charger_res_images \
     font_log.png \
-    libhealthd.lineage
+    libhealthd.bliss
 endif
 
 # Customizations
diff --git a/config/common_tv.mk b/config/common_tv.mk
index 0ce13ec..a9e6750 100644
--- a/config/common_tv.mk
+++ b/config/common_tv.mk
@@ -1,16 +1,16 @@
-# Inherit common Lineage stuff
-$(call inherit-product, vendor/lineage/config/common.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common.mk)
 
-# Inherit Lineage atv device tree
-$(call inherit-product, device/lineage/atv/lineage_atv.mk)
+# Inherit Bliss atv device tree
+$(call inherit-product, device/bliss/atv/bliss_atv.mk)
 
 # AOSP packages
 PRODUCT_PACKAGES += \
     LeanbackIME
 
-# Lineage packages
+# Bliss packages
 PRODUCT_PACKAGES += \
     AppDrawer \
     LineageCustomizer
 
-DEVICE_PACKAGE_OVERLAYS += vendor/lineage/overlay/tv
+DEVICE_PACKAGE_OVERLAYS += vendor/bliss/overlay/tv
diff --git a/config/lineage_sdk_common.mk b/config/lineage_sdk_common.mk
index 022e69d..a354506 100644
--- a/config/lineage_sdk_common.mk
+++ b/config/lineage_sdk_common.mk
@@ -1,12 +1,12 @@
 # Permissions for lineage sdk services
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/org.lineageos.audio.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.audio.xml \
-    vendor/lineage/config/permissions/org.lineageos.hardware.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.hardware.xml \
-    vendor/lineage/config/permissions/org.lineageos.livedisplay.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.livedisplay.xml \
-    vendor/lineage/config/permissions/org.lineageos.performance.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.performance.xml \
-    vendor/lineage/config/permissions/org.lineageos.profiles.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.profiles.xml \
-    vendor/lineage/config/permissions/org.lineageos.settings.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.settings.xml \
-    vendor/lineage/config/permissions/org.lineageos.trust.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.trust.xml
+    vendor/bliss/config/permissions/org.lineageos.audio.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.audio.xml \
+    vendor/bliss/config/permissions/org.lineageos.hardware.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.hardware.xml \
+    vendor/bliss/config/permissions/org.lineageos.livedisplay.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.livedisplay.xml \
+    vendor/bliss/config/permissions/org.lineageos.performance.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.performance.xml \
+    vendor/bliss/config/permissions/org.lineageos.profiles.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.profiles.xml \
+    vendor/bliss/config/permissions/org.lineageos.settings.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.settings.xml \
+    vendor/bliss/config/permissions/org.lineageos.trust.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.trust.xml
 
 # Lineage Platform Library
 PRODUCT_PACKAGES += \
diff --git a/config/telephony.mk b/config/telephony.mk
index 43bbaa9..a309e70 100644
--- a/config/telephony.mk
+++ b/config/telephony.mk
@@ -1,6 +1,6 @@
 # Sensitive Phone Numbers list
 PRODUCT_COPY_FILES += \
-    vendor/lineage/prebuilt/common/etc/sensitive_pn.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sensitive_pn.xml
+    vendor/bliss/prebuilt/common/etc/sensitive_pn.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sensitive_pn.xml
 
 # World APN list
 PRODUCT_PACKAGES += \
diff --git a/prebuilt/common/Android.mk b/prebuilt/common/Android.mk
index 640c2be..e384302 100644
--- a/prebuilt/common/Android.mk
+++ b/prebuilt/common/Android.mk
@@ -18,10 +18,10 @@
 LOCAL_MODULE := apns-conf.xml
 LOCAL_MODULE_CLASS := ETC
 
-DEFAULT_APNS_FILE := vendor/lineage/prebuilt/common/etc/apns-conf.xml
+DEFAULT_APNS_FILE := vendor/bliss/prebuilt/common/etc/apns-conf.xml
 
 ifdef CUSTOM_APNS_FILE
-CUSTOM_APNS_SCRIPT := vendor/lineage/tools/custom_apns.py
+CUSTOM_APNS_SCRIPT := vendor/bliss/tools/custom_apns.py
 FINAL_APNS_FILE := $(local-generated-sources-dir)/apns-conf.xml
 
 $(FINAL_APNS_FILE): PRIVATE_SCRIPT := $(CUSTOM_APNS_SCRIPT)
diff --git a/prebuilt/common/bin/50-lineage.sh b/prebuilt/common/bin/50-bliss.sh
similarity index 86%
rename from prebuilt/common/bin/50-lineage.sh
rename to prebuilt/common/bin/50-bliss.sh
index 7ee3845..6ae07ca 100755
--- a/prebuilt/common/bin/50-lineage.sh
+++ b/prebuilt/common/bin/50-bliss.sh
@@ -2,8 +2,8 @@
 #
 # ADDOND_VERSION=2
 #
-# /system/addon.d/50-lineage.sh
-# During a LineageOS upgrade, this script backs up /system/etc/hosts,
+# /system/addon.d/50-bliss.sh
+# During a BlissRoms upgrade, this script backs up /system/etc/hosts,
 # /system is formatted and reinstalled, then the file is restored.
 #
 
diff --git a/prebuilt/common/bin/backuptool.sh b/prebuilt/common/bin/backuptool.sh
index 07f2a12..29f8818 100755
--- a/prebuilt/common/bin/backuptool.sh
+++ b/prebuilt/common/bin/backuptool.sh
@@ -36,7 +36,7 @@
   echo "Backup/restore is not possible. Partition is probably empty"
   return 1
 fi
-if ! grep -q "^ro.lineage.version=$V.*" $S/build.prop; then
+if ! grep -q "^ro.bliss.version=$V.*" $S/build.prop; then
   echo "Backup/restore is not possible. Incompatible ROM version: $V"
   return 2
 fi
diff --git a/prebuilt/common/bin/backuptool_ab.sh b/prebuilt/common/bin/backuptool_ab.sh
index 814dc8a..3a47e4f 100755
--- a/prebuilt/common/bin/backuptool_ab.sh
+++ b/prebuilt/common/bin/backuptool_ab.sh
@@ -50,7 +50,7 @@
   echo "Backup/restore is not possible. Partition is probably empty"
   return 1
 fi
-if ! grep -q "^ro.lineage.version=$V.*" /system/build.prop; then
+if ! grep -q "^ro.bliss.version=$V.*" /system/build.prop; then
   echo "Backup/restore is not possible. Incompatible ROM version: $V"
   return 2
 fi
diff --git a/prebuilt/common/etc/init/lineage-adb.rc b/prebuilt/common/etc/init/bliss-adb.rc
similarity index 100%
rename from prebuilt/common/etc/init/lineage-adb.rc
rename to prebuilt/common/etc/init/bliss-adb.rc
diff --git a/prebuilt/common/etc/init/lineage-iosched.rc b/prebuilt/common/etc/init/bliss-iosched.rc
similarity index 100%
rename from prebuilt/common/etc/init/lineage-iosched.rc
rename to prebuilt/common/etc/init/bliss-iosched.rc
diff --git a/prebuilt/common/etc/init/lineage-livedisplay.rc b/prebuilt/common/etc/init/bliss-livedisplay.rc
similarity index 100%
rename from prebuilt/common/etc/init/lineage-livedisplay.rc
rename to prebuilt/common/etc/init/bliss-livedisplay.rc
diff --git a/prebuilt/common/etc/init/lineage-radio.rc b/prebuilt/common/etc/init/bliss-radio.rc
similarity index 100%
rename from prebuilt/common/etc/init/lineage-radio.rc
rename to prebuilt/common/etc/init/bliss-radio.rc
diff --git a/prebuilt/common/etc/init/lineage-ssh.rc b/prebuilt/common/etc/init/bliss-ssh.rc
similarity index 100%
rename from prebuilt/common/etc/init/lineage-ssh.rc
rename to prebuilt/common/etc/init/bliss-ssh.rc
diff --git a/prebuilt/common/etc/init/lineage-system.rc b/prebuilt/common/etc/init/bliss-system.rc
similarity index 94%
rename from prebuilt/common/etc/init/lineage-system.rc
rename to prebuilt/common/etc/init/bliss-system.rc
index 29e795f..f5e7cfc 100644
--- a/prebuilt/common/etc/init/lineage-system.rc
+++ b/prebuilt/common/etc/init/bliss-system.rc
@@ -1,4 +1,4 @@
-# LineageOS core functionality
+# Bliss core functionality
 on init
     export TERMINFO /system/etc/terminfo
 
diff --git a/prebuilt/common/etc/init/lineage-updates.rc b/prebuilt/common/etc/init/bliss-updates.rc
similarity index 71%
rename from prebuilt/common/etc/init/lineage-updates.rc
rename to prebuilt/common/etc/init/bliss-updates.rc
index 3a9b481..eba752c 100644
--- a/prebuilt/common/etc/init/lineage-updates.rc
+++ b/prebuilt/common/etc/init/bliss-updates.rc
@@ -1,4 +1,4 @@
 on post-fs-data
     # Create an additional OTA package directory that unlike /data/ota_package
     # will not be touched by GmsCore.
-    mkdir /data/lineageos_updates 0770 system cache
+    mkdir /data/bliss_updates 0770 system cache
