feat(servivi): add lineageos docker build files
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
b852ca15f4
commit
afa2717916
7 changed files with 139 additions and 8 deletions
|
@ -3,7 +3,7 @@
|
|||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
} @ inputs:
|
||||
with lib;
|
||||
with builtins; let
|
||||
user = config.vars.user;
|
||||
|
@ -26,15 +26,21 @@ in {
|
|||
backend = "podman-socket";
|
||||
|
||||
projects = let
|
||||
configPath = "/var/lib/arion";
|
||||
|
||||
composeFiles =
|
||||
filter (n: hasSuffix "compose.nix" (toString n))
|
||||
(filesystem.listFilesRecursive ./.);
|
||||
|
||||
projects = listToAttrs (map (p: {
|
||||
projects = filterAttrs (n: v: v.enabled or true) (listToAttrs (map (p: {
|
||||
name = elemAt (match ".*\/(.*)\/compose\.nix" (toString p)) 0;
|
||||
value = import p;
|
||||
|
||||
value = import p (inputs
|
||||
// {
|
||||
rwPath = configPath + "/" + elemAt (match "[^-]*-(.*)" "${dirOf p}") 0;
|
||||
});
|
||||
})
|
||||
composeFiles);
|
||||
composeFiles));
|
||||
in
|
||||
mapAttrs (n: v: {
|
||||
# https://docs.hercules-ci.com/arion/options
|
||||
|
@ -42,10 +48,12 @@ in {
|
|||
enableDefaultNetwork = v.enableDefaultNetwork or true;
|
||||
networks = optionalAttrs (hasAttr "networks" v) v.networks;
|
||||
|
||||
services = mapAttrs (n': v': {
|
||||
services =
|
||||
mapAttrs (n': v': {
|
||||
image = optionalAttrs (hasAttr "customImage" v') v'.customImage;
|
||||
service = filterAttrs (n: v: n != "customImage") v';
|
||||
}) v.services;
|
||||
})
|
||||
v.services;
|
||||
};
|
||||
})
|
||||
projects;
|
||||
|
|
7
devices/servivi/modules/arion/lineageos/Caddyfile
Executable file
7
devices/servivi/modules/arion/lineageos/Caddyfile
Executable file
|
@ -0,0 +1,7 @@
|
|||
ota.nelim.org {
|
||||
tls matt@nelim.org {
|
||||
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
|
||||
resolvers 1.0.0.1
|
||||
}
|
||||
reverse_proxy lineageOTA
|
||||
}
|
76
devices/servivi/modules/arion/lineageos/compose.nix
Normal file
76
devices/servivi/modules/arion/lineageos/compose.nix
Normal file
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
config,
|
||||
rwPath,
|
||||
...
|
||||
}: {
|
||||
# FIXME: crashes when building
|
||||
|
||||
# This should only be ran when an update is needed
|
||||
enabled = false;
|
||||
|
||||
services = {
|
||||
"builder" = {
|
||||
image = "lineageos4microg/docker-lineage-cicd";
|
||||
container_name = "lineage_builder";
|
||||
|
||||
environment = {
|
||||
BRANCH_NAME = "lineage-20.0";
|
||||
DEVICE_LIST = "lemonadep";
|
||||
SIGN_BUILDS = "true";
|
||||
SIGNATURE_SPOOFING = "restricted";
|
||||
WITH_GMS = "true";
|
||||
ZIP_SUBDIR = "false";
|
||||
OTA_URL = "https://ota.nelim.org/api";
|
||||
CUSTOM_PACKAGES = "AuroraStore AvesLibre Droidify MJPdfReader Mull OpenCalc";
|
||||
INCLUDE_PROPRIETARY = "false";
|
||||
PARALLEL_JOBS = 6;
|
||||
CLEAN_AFTER_BUILD = "false";
|
||||
CCACHE_SIZE = "200G";
|
||||
};
|
||||
|
||||
volumes = [
|
||||
"${rwPath}/lineage/src:/srv/src"
|
||||
"${rwPath}/lineage/zips:/srv/zips"
|
||||
"${rwPath}/lineage/logs:/srv/logs"
|
||||
"${rwPath}/lineage/cache:/srv/ccache"
|
||||
"${rwPath}/lineage/keys:/srv/keys"
|
||||
|
||||
"${toString ./.}/manifests:/srv/local_manifests:ro"
|
||||
"${toString ./.}/scripts:/srv/userscripts:ro"
|
||||
"/etc/timezone:/etc/timezone:ro"
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
];
|
||||
};
|
||||
|
||||
"OTA-server" = {
|
||||
container_name = "lineageOTA";
|
||||
image = "docker.io/julianxhokaxhiu/lineageota";
|
||||
volumes = [
|
||||
"${rwPath}/lineage/zips:/var/www/html/builds/full:ro"
|
||||
];
|
||||
};
|
||||
|
||||
"caddy" = {
|
||||
image = "quay.io/slothcroissant/caddy-cloudflaredns:latest";
|
||||
container_name = "caddy";
|
||||
|
||||
ports = [
|
||||
"80:80"
|
||||
"443:443"
|
||||
];
|
||||
|
||||
volumes = [
|
||||
"${rwPath}/caddy/data:/data"
|
||||
"${rwPath}/caddy/config:/config"
|
||||
|
||||
"${toString ./.}/Caddyfile:/etc/caddy/Caddyfile:ro"
|
||||
];
|
||||
|
||||
env_file = [config.sops.secrets.caddy-cloudflare.path];
|
||||
environment = {
|
||||
CLOUDFLARE_EMAIL = "matt@nelim.rg";
|
||||
ACME_AGREE = "true";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
<remote name="gitea" fetch="https://git.nelim.org/" />
|
||||
|
||||
<project name="matt1432/android_vendor_customs" path="vendor/alternatives" remote="gitea" revision="master" />
|
||||
|
||||
<project name="lineageos4microg/android_vendor_partner_gms" path="vendor/partner_gms" remote="github" revision="master" />
|
||||
<project name="matt1432/android_vendor_mulchwebview" path="vendor/mulch" remote="gitea" revision="main" />
|
||||
<project name="jgudec/android_vendor_lawnchair" path="vendor/lawnchair" remote="github" revision="13" />
|
||||
</manifest>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
<project name="TheMuppets/proprietary_vendor_oneplus_lemonadep" path="vendor/oneplus/lemonadep" remote="github" revision="lineage-20" />
|
||||
<project name="TheMuppets/proprietary_vendor_oneplus_sm8350-common" path="vendor/oneplus/sm8350-common" remote="github" revision="lineage-20" />
|
||||
|
||||
<project name="LineageOS/android_device_oneplus_lemonadep" path="device/oneplus/lemonadep" remote="github" revision="lineage-20" />
|
||||
<project name="LineageOS/android_hardware_oplus" path="hardware/oplus" remote="github" revision="lineage-20" />
|
||||
<project name="LineageOS/android_kernel_oneplus_sm8350" path="kernel/oneplus/sm8350" remote="github" revision="lineage-20" />
|
||||
<project name="LineageOS/android_device_oneplus_sm8350-common" path="device/oneplus/sm8350-common" remote="github" revision="lineage-20" />
|
||||
</manifest>
|
20
devices/servivi/modules/arion/lineageos/scripts/before.sh
Executable file
20
devices/servivi/modules/arion/lineageos/scripts/before.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## See here for AndroidAuto: https://github.com/sn-00-x/aa4mg
|
||||
|
||||
## add MulchWebView
|
||||
sed -i "1s;^;\$(call inherit-product-if-exists, vendor/mulch/mulch.mk)\n\n;" "/srv/src/LINEAGE_20_0/vendor/lineage/config/common.mk"
|
||||
|
||||
## add lawnchair overlay to build
|
||||
sed -i "1s;^;\$(call inherit-product-if-exists, vendor/lawnchair/lawnchair.mk)\n\n;" "/srv/src/LINEAGE_20_0/vendor/lineage/config/common.mk"
|
||||
|
||||
## remove Trebuchet
|
||||
sed -i 's/overrides.*/overrides: ["Home", "Launcher2", "Launcher3", "Launcher3QuickStep", "ParanoidQuickStep", "PixelLauncher", "TrebuchetQuickStep", "TrebuchetOverlay"],/' "/srv/src/LINEAGE_20_0/vendor/lawnchair/Android.bp"
|
||||
|
||||
## only add needed packages from microg
|
||||
echo "PRODUCT_PACKAGES += \\
|
||||
GmsCore \\
|
||||
GsfProxy \\
|
||||
FakeStore \\
|
||||
IchnaeaNlpBackend \\
|
||||
NominatimGeocoderBackend" > "/srv/src/LINEAGE_20_0/vendor/partner_gms/products/gms.mk"
|
BIN
flake.lock
BIN
flake.lock
Binary file not shown.
Loading…
Reference in a new issue