nix fmt
This commit is contained in:
@@ -9,7 +9,8 @@ let
|
|||||||
getAttr
|
getAttr
|
||||||
attrNames
|
attrNames
|
||||||
toString
|
toString
|
||||||
replaceStrings;
|
replaceStrings
|
||||||
|
;
|
||||||
|
|
||||||
mapAttrs = lib.mapAttrs;
|
mapAttrs = lib.mapAttrs;
|
||||||
recursiveUpdate = lib.recursiveUpdate;
|
recursiveUpdate = lib.recursiveUpdate;
|
||||||
@@ -18,17 +19,19 @@ let
|
|||||||
deepMerge = a: b: recursiveUpdate a b;
|
deepMerge = a: b: recursiveUpdate a b;
|
||||||
|
|
||||||
# Merge component sources: base.sources overlaid by overrides (component-wise deep merge).
|
# Merge component sources: base.sources overlaid by overrides (component-wise deep merge).
|
||||||
mergeSources = baseSources: overrides:
|
mergeSources =
|
||||||
baseSources //
|
baseSources: overrides:
|
||||||
mapAttrs (name: ov:
|
baseSources
|
||||||
if hasAttr name baseSources then deepMerge (getAttr name baseSources) ov else ov
|
// mapAttrs (
|
||||||
|
name: ov: if hasAttr name baseSources then deepMerge (getAttr name baseSources) ov else ov
|
||||||
) overrides;
|
) overrides;
|
||||||
|
|
||||||
# Apply a single variant overlay (variables + sources).
|
# Apply a single variant overlay (variables + sources).
|
||||||
applyVariantOnce = selected: variant:
|
applyVariantOnce =
|
||||||
|
selected: variant:
|
||||||
let
|
let
|
||||||
vVars = if variant ? variables then variant.variables else {};
|
vVars = if variant ? variables then variant.variables else { };
|
||||||
vSrcs = if variant ? sources then variant.sources else {};
|
vSrcs = if variant ? sources then variant.sources else { };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
variables = selected.variables // vVars;
|
variables = selected.variables // vVars;
|
||||||
@@ -36,14 +39,15 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Apply platform-specific overrides if present for the given system.
|
# Apply platform-specific overrides if present for the given system.
|
||||||
applyPlatforms = selected: variant: system:
|
applyPlatforms =
|
||||||
|
selected: variant: system:
|
||||||
if system == null || !(variant ? platforms) || !(hasAttr system variant.platforms) then
|
if system == null || !(variant ? platforms) || !(hasAttr system variant.platforms) then
|
||||||
selected
|
selected
|
||||||
else
|
else
|
||||||
let
|
let
|
||||||
p = variant.platforms.${system};
|
p = variant.platforms.${system};
|
||||||
pVars = if p ? variables then p.variables else {};
|
pVars = if p ? variables then p.variables else { };
|
||||||
pSrcs = if p ? sources then p.sources else {};
|
pSrcs = if p ? sources then p.sources else { };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
variables = selected.variables // pVars;
|
variables = selected.variables // pVars;
|
||||||
@@ -51,7 +55,8 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Resolve variant chain via inherits (ancestor first), then apply platforms.
|
# Resolve variant chain via inherits (ancestor first), then apply platforms.
|
||||||
resolveVariant = spec: baseSelected: variantName: system:
|
resolveVariant =
|
||||||
|
spec: baseSelected: variantName: system:
|
||||||
if variantName == null || !(spec ? variants) || !(hasAttr variantName spec.variants) then
|
if variantName == null || !(spec ? variants) || !(hasAttr variantName spec.variants) then
|
||||||
baseSelected
|
baseSelected
|
||||||
else
|
else
|
||||||
@@ -64,7 +69,8 @@ let
|
|||||||
applyPlatforms withVariant v system;
|
applyPlatforms withVariant v system;
|
||||||
|
|
||||||
# Render ${var} substitutions in any string within attrs/lists.
|
# Render ${var} substitutions in any string within attrs/lists.
|
||||||
renderValue = value: vars:
|
renderValue =
|
||||||
|
value: vars:
|
||||||
if isString value then
|
if isString value then
|
||||||
let
|
let
|
||||||
keys = attrNames vars;
|
keys = attrNames vars;
|
||||||
@@ -80,23 +86,26 @@ let
|
|||||||
value;
|
value;
|
||||||
|
|
||||||
# Decide fetcher for URL type based on optional extra.unpack hint.
|
# Decide fetcher for URL type based on optional extra.unpack hint.
|
||||||
useFetchZip = comp:
|
useFetchZip = comp: comp ? extra && comp.extra ? unpack && comp.extra.unpack == "zip";
|
||||||
comp ? extra && comp.extra ? unpack && comp.extra.unpack == "zip";
|
|
||||||
|
|
||||||
# Build a single src from a rendered component spec.
|
# Build a single src from a rendered component spec.
|
||||||
mkSrcFromRendered = comp:
|
mkSrcFromRendered =
|
||||||
|
comp:
|
||||||
let
|
let
|
||||||
fetcher = if comp ? fetcher then comp.fetcher else "none";
|
fetcher = if comp ? fetcher then comp.fetcher else "none";
|
||||||
in
|
in
|
||||||
if fetcher == "github" then
|
if fetcher == "github" then
|
||||||
pkgs.fetchFromGitHub ({
|
pkgs.fetchFromGitHub (
|
||||||
|
{
|
||||||
owner = comp.owner;
|
owner = comp.owner;
|
||||||
repo = comp.repo;
|
repo = comp.repo;
|
||||||
# Allow tag as rev (ignore null/empty tag)
|
# Allow tag as rev (ignore null/empty tag)
|
||||||
rev = if comp ? tag && comp.tag != null && comp.tag != "" then comp.tag else comp.rev;
|
rev = if comp ? tag && comp.tag != null && comp.tag != "" then comp.tag else comp.rev;
|
||||||
fetchSubmodules = if comp ? submodules then comp.submodules else false;
|
fetchSubmodules = if comp ? submodules then comp.submodules else false;
|
||||||
hash = comp.hash;
|
hash = comp.hash;
|
||||||
} // lib.optionalAttrs (comp ? name) { name = comp.name; })
|
}
|
||||||
|
// lib.optionalAttrs (comp ? name) { name = comp.name; }
|
||||||
|
)
|
||||||
else if fetcher == "git" then
|
else if fetcher == "git" then
|
||||||
pkgs.fetchgit {
|
pkgs.fetchgit {
|
||||||
url = comp.url;
|
url = comp.url;
|
||||||
@@ -110,11 +119,17 @@ let
|
|||||||
in
|
in
|
||||||
if useFetchZip comp then
|
if useFetchZip comp then
|
||||||
pkgs.fetchzip (
|
pkgs.fetchzip (
|
||||||
{ inherit url; hash = comp.hash; }
|
{
|
||||||
|
inherit url;
|
||||||
|
hash = comp.hash;
|
||||||
|
}
|
||||||
// lib.optionalAttrs (comp ? extra && comp.extra ? stripRoot) { stripRoot = comp.extra.stripRoot; }
|
// lib.optionalAttrs (comp ? extra && comp.extra ? stripRoot) { stripRoot = comp.extra.stripRoot; }
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
pkgs.fetchurl { inherit url; hash = comp.hash; }
|
pkgs.fetchurl {
|
||||||
|
inherit url;
|
||||||
|
hash = comp.hash;
|
||||||
|
}
|
||||||
else if fetcher == "pypi" then
|
else if fetcher == "pypi" then
|
||||||
pkgs.python3Packages.fetchPypi {
|
pkgs.python3Packages.fetchPypi {
|
||||||
pname = comp.name;
|
pname = comp.name;
|
||||||
@@ -125,7 +140,8 @@ let
|
|||||||
# fetcher == "none": pass-through (e.g., linux version/hash consumed by custom logic)
|
# fetcher == "none": pass-through (e.g., linux version/hash consumed by custom logic)
|
||||||
comp;
|
comp;
|
||||||
|
|
||||||
in rec {
|
in
|
||||||
|
rec {
|
||||||
/*
|
/*
|
||||||
Select a variant from a loaded version.json specification.
|
Select a variant from a loaded version.json specification.
|
||||||
|
|
||||||
@@ -135,12 +151,17 @@ in rec {
|
|||||||
- variantName: string or null (when null, uses spec.defaultVariant if present)
|
- variantName: string or null (when null, uses spec.defaultVariant if present)
|
||||||
- system: string like "x86_64-linux" or null (to apply platforms overrides)
|
- system: string like "x86_64-linux" or null (to apply platforms overrides)
|
||||||
*/
|
*/
|
||||||
selectVariant = spec: variantName: system:
|
selectVariant =
|
||||||
|
spec: variantName: system:
|
||||||
let
|
let
|
||||||
chosen = if variantName != null then variantName else (if spec ? defaultVariant then spec.defaultVariant else null);
|
chosen =
|
||||||
|
if variantName != null then
|
||||||
|
variantName
|
||||||
|
else
|
||||||
|
(if spec ? defaultVariant then spec.defaultVariant else null);
|
||||||
baseSelected = {
|
baseSelected = {
|
||||||
variables = if spec ? variables then spec.variables else {};
|
variables = if spec ? variables then spec.variables else { };
|
||||||
sources = if spec ? sources then spec.sources else {};
|
sources = if spec ? sources then spec.sources else { };
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
resolveVariant spec baseSelected chosen system;
|
resolveVariant spec baseSelected chosen system;
|
||||||
@@ -155,9 +176,12 @@ in rec {
|
|||||||
Render a component with variables and then build its src (or pass-through for fetcher "none").
|
Render a component with variables and then build its src (or pass-through for fetcher "none").
|
||||||
Prefer using mkAllSources, which handles rendering for all components.
|
Prefer using mkAllSources, which handles rendering for all components.
|
||||||
*/
|
*/
|
||||||
mkSrc = comp: variables:
|
mkSrc =
|
||||||
let rendered = renderValue comp variables;
|
comp: variables:
|
||||||
in mkSrcFromRendered rendered;
|
let
|
||||||
|
rendered = renderValue comp variables;
|
||||||
|
in
|
||||||
|
mkSrcFromRendered rendered;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Produce an attrset of all sources for a selected spec:
|
Produce an attrset of all sources for a selected spec:
|
||||||
@@ -167,15 +191,16 @@ in rec {
|
|||||||
Returns:
|
Returns:
|
||||||
{ componentName = src | renderedComp (for "none"); ... }
|
{ componentName = src | renderedComp (for "none"); ... }
|
||||||
*/
|
*/
|
||||||
mkAllSources = selected:
|
mkAllSources =
|
||||||
mapAttrs (_name: comp:
|
selected:
|
||||||
if comp ? fetcher && comp.fetcher == "none"
|
mapAttrs (
|
||||||
then renderValue comp selected.variables
|
_name: comp:
|
||||||
else mkSrc (renderValue comp selected.variables) selected.variables
|
if comp ? fetcher && comp.fetcher == "none" then
|
||||||
|
renderValue comp selected.variables
|
||||||
|
else
|
||||||
|
mkSrc (renderValue comp selected.variables) selected.variables
|
||||||
) selected.sources;
|
) selected.sources;
|
||||||
|
|
||||||
/*
|
# Expose deepMerge for convenience (right-biased).
|
||||||
Expose deepMerge for convenience (right-biased).
|
|
||||||
*/
|
|
||||||
inherit deepMerge;
|
inherit deepMerge;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{ config, namespace, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
namespace,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.${namespace}.programs.hyprland;
|
cfg = config.${namespace}.programs.hyprland;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
bcachefs-tools = prev.bcachefs-tools.overrideAttrs (old: rec {
|
bcachefs-tools = prev.bcachefs-tools.overrideAttrs (_old: rec {
|
||||||
version = "1.35.2";
|
version = "1.35.2";
|
||||||
src = prev.fetchFromGitHub {
|
src = prev.fetchFromGitHub {
|
||||||
owner = "koverstreet";
|
owner = "koverstreet";
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
self,
|
|
||||||
namespace,
|
namespace,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -27,9 +26,11 @@ let
|
|||||||
|
|
||||||
linux-rpi5 = final.linuxPackagesFor (final.${namespace}.linux-rpi);
|
linux-rpi5 = final.linuxPackagesFor (final.${namespace}.linux-rpi);
|
||||||
|
|
||||||
linux-rpi4 = final.linuxPackagesFor (final.${namespace}.linux-rpi.override {
|
linux-rpi4 = final.linuxPackagesFor (
|
||||||
|
final.${namespace}.linux-rpi.override {
|
||||||
rpiVersion = 4;
|
rpiVersion = 4;
|
||||||
});
|
}
|
||||||
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
${namespace} = prev.${namespace} // {
|
${namespace} = prev.${namespace} // {
|
||||||
@@ -38,19 +39,19 @@ in
|
|||||||
|
|
||||||
linuxPackages_rpi5-lts = linux-rpi5;
|
linuxPackages_rpi5-lts = linux-rpi5;
|
||||||
linuxPackages_rpi4-lts = linux-rpi4;
|
linuxPackages_rpi4-lts = linux-rpi4;
|
||||||
linuxPackages_rpi5-latest = linux-rpi5.overrideAttrs (old: {
|
linuxPackages_rpi5-latest = linux-rpi5.overrideAttrs (_old: {
|
||||||
modDirVersion = "6.18.4";
|
modDirVersion = "6.18.4";
|
||||||
src = linux618Src;
|
src = linux618Src;
|
||||||
});
|
});
|
||||||
linuxPackages_rpi5-rc = linux-rpi5.overrideAttrs (old: {
|
linuxPackages_rpi5-rc = linux-rpi5.overrideAttrs (_old: {
|
||||||
modDirVersion = "6.19.0-rc5";
|
modDirVersion = "6.19.0-rc5";
|
||||||
src = linux619Src;
|
src = linux619Src;
|
||||||
});
|
});
|
||||||
linuxPackages_rpi4-latest = linux-rpi4.overrideAttrs (old: {
|
linuxPackages_rpi4-latest = linux-rpi4.overrideAttrs (_old: {
|
||||||
modDirVersion = "6.18.4";
|
modDirVersion = "6.18.4";
|
||||||
src = linux618Src;
|
src = linux618Src;
|
||||||
});
|
});
|
||||||
linuxPackages_rpi4-rc = linux-rpi4.overrideAttrs (old: {
|
linuxPackages_rpi4-rc = linux-rpi4.overrideAttrs (_old: {
|
||||||
modDirVersion = "6.19.0-rc5";
|
modDirVersion = "6.19.0-rc5";
|
||||||
src = linux619Src;
|
src = linux619Src;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -23,10 +23,11 @@ let
|
|||||||
# Source Versions #
|
# Source Versions #
|
||||||
# ######################################################
|
# ######################################################
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
mkVersions = selected:
|
mkVersions =
|
||||||
|
selected:
|
||||||
let
|
let
|
||||||
s = selected.sources;
|
s = selected.sources;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
suffix = vars.suffix or "";
|
suffix = vars.suffix or "";
|
||||||
|
|||||||
@@ -18,11 +18,7 @@
|
|||||||
final,
|
final,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version =
|
version = if stdenv.isAarch64 then "6.12.47" else cachyConfig.versions.linux.version;
|
||||||
if stdenv.isAarch64 then
|
|
||||||
"6.12.47"
|
|
||||||
else
|
|
||||||
cachyConfig.versions.linux.version;
|
|
||||||
# Single-value optional attr
|
# Single-value optional attr
|
||||||
optionalAttr =
|
optionalAttr =
|
||||||
key: pred: value:
|
key: pred: value:
|
||||||
|
|||||||
@@ -9,11 +9,7 @@
|
|||||||
commonMakeFlags,
|
commonMakeFlags,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version =
|
version = if stdenv.isAarch64 then "6.12.47" else cachyConfig.versions.linux.version;
|
||||||
if stdenv.isAarch64 then
|
|
||||||
"6.12.47"
|
|
||||||
else
|
|
||||||
cachyConfig.versions.linux.version;
|
|
||||||
|
|
||||||
majorMinor = lib.versions.majorMinor version;
|
majorMinor = lib.versions.majorMinor version;
|
||||||
|
|
||||||
@@ -37,10 +33,8 @@ let
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
(
|
(
|
||||||
if stdenv.isAarch64
|
if stdenv.isAarch64 then
|
||||||
then
|
|
||||||
let
|
let
|
||||||
modDirVersion = "6.12.47";
|
|
||||||
tag = "stable_20250916";
|
tag = "stable_20250916";
|
||||||
hash = "sha256-Rjn+eWl5cLcc9wgjS3HYVaWM5eKMN3pPfPbsu+QGR/M=";
|
hash = "sha256-Rjn+eWl5cLcc9wgjS3HYVaWM5eKMN3pPfPbsu+QGR/M=";
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
callPackage,
|
|
||||||
stdenvNoCC,
|
stdenvNoCC,
|
||||||
lib,
|
lib,
|
||||||
fetchurl,
|
fetchurl,
|
||||||
@@ -8,8 +7,6 @@
|
|||||||
# Repo metadata
|
# Repo metadata
|
||||||
owner ? "CachyOS",
|
owner ? "CachyOS",
|
||||||
repo ? "proton-cachyos",
|
repo ? "proton-cachyos",
|
||||||
# Behavior
|
|
||||||
withUpdateScript ? true,
|
|
||||||
# Variant selection (null -> use defaultVariant from version.json)
|
# Variant selection (null -> use defaultVariant from version.json)
|
||||||
variant ? null,
|
variant ? null,
|
||||||
# Packaging/customization knobs
|
# Packaging/customization knobs
|
||||||
@@ -26,7 +23,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec variant null;
|
selected = versioning.selectVariant versionSpec variant null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
base = vars.base;
|
base = vars.base;
|
||||||
release = vars.release;
|
release = vars.release;
|
||||||
|
|
||||||
@@ -66,24 +63,7 @@ stdenvNoCC.mkDerivation {
|
|||||||
sed -i -r 's|"${toolPattern}"|"${toolTitle}"|' $out/bin/compatibilitytool.vdf
|
sed -i -r 's|"${toolPattern}"|"${toolTitle}"|' $out/bin/compatibilitytool.vdf
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru =
|
passthru = { };
|
||||||
if withUpdateScript then
|
|
||||||
{
|
|
||||||
updateScript = callPackage ./update.nix {
|
|
||||||
inherit
|
|
||||||
tarballPrefix
|
|
||||||
tarballSuffix
|
|
||||||
releasePrefix
|
|
||||||
releaseSuffix
|
|
||||||
owner
|
|
||||||
repo
|
|
||||||
;
|
|
||||||
# Prefer explicit variant, otherwise use defaultVariant from the spec
|
|
||||||
variant = if variant != null then variant else (versionSpec.defaultVariant or "cachyos");
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ };
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
inherit homepage;
|
inherit homepage;
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
{
|
|
||||||
writeShellScript,
|
|
||||||
lib,
|
|
||||||
coreutils,
|
|
||||||
findutils,
|
|
||||||
gnugrep,
|
|
||||||
curl,
|
|
||||||
jq,
|
|
||||||
git,
|
|
||||||
nix,
|
|
||||||
nix-prefetch-git,
|
|
||||||
moreutils,
|
|
||||||
yq,
|
|
||||||
# Config
|
|
||||||
tarballPrefix,
|
|
||||||
tarballSuffix,
|
|
||||||
releasePrefix,
|
|
||||||
releaseSuffix,
|
|
||||||
owner,
|
|
||||||
repo,
|
|
||||||
# New: which variant to update (defaults to version.json's defaultVariant)
|
|
||||||
variant ? null,
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
path = lib.makeBinPath [
|
|
||||||
coreutils
|
|
||||||
curl
|
|
||||||
findutils
|
|
||||||
gnugrep
|
|
||||||
jq
|
|
||||||
moreutils
|
|
||||||
git
|
|
||||||
nix-prefetch-git
|
|
||||||
nix
|
|
||||||
yq
|
|
||||||
];
|
|
||||||
in
|
|
||||||
writeShellScript "update-${repo}" ''
|
|
||||||
set -euo pipefail
|
|
||||||
PATH=${path}
|
|
||||||
|
|
||||||
repoRoot="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
||||||
versionFile="$repoRoot/packages/proton-cachyos/version.json"
|
|
||||||
|
|
||||||
# Determine variant to update (prefer CLI arg, else defaultVariant in file)
|
|
||||||
variantEff="${variant:-}"
|
|
||||||
if [ -z "$variantEff" ]; then
|
|
||||||
variantEff="$(jq -r '.defaultVariant // empty' "$versionFile")"
|
|
||||||
fi
|
|
||||||
if [ -z "$variantEff" ]; then
|
|
||||||
variantEff="cachyos"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Read current values from the unified version.json
|
|
||||||
localBase="$(jq -r --arg v "$variantEff" '.variants[$v].variables.base' "$versionFile")"
|
|
||||||
localRelease="$(jq -r --arg v "$variantEff" '.variants[$v].variables.release' "$versionFile")"
|
|
||||||
localHash="$(jq -r --arg v "$variantEff" '.variants[$v].sources.proton.hash' "$versionFile")"
|
|
||||||
|
|
||||||
# Discover latest release tag
|
|
||||||
latestVer="$(
|
|
||||||
curl -fsSL "https://github.com/${owner}/${repo}/releases.atom" \
|
|
||||||
| xq -r '.feed.entry[].link."@href"' \
|
|
||||||
| grep -Po "(?<=/)${releasePrefix}[^/]+${releaseSuffix}$" \
|
|
||||||
| head -n 1
|
|
||||||
)"
|
|
||||||
|
|
||||||
if [ "${releasePrefix}''${localBase}-''${localRelease}${releaseSuffix}" = "$latestVer" ]; then
|
|
||||||
echo "No update needed for variant '$variantEff' (${localBase}.${localRelease})."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
latestBase="$(echo "$latestVer" | grep -Po "(?<=^${releasePrefix})[^-]+")"
|
|
||||||
latestRelease="$(echo "$latestVer" | grep -Po "(?<=-)[^-]+(?=${releaseSuffix}$)")"
|
|
||||||
artifactUrl="https://github.com/${owner}/${repo}/releases/download/''${latestVer}/${tarballPrefix}''${latestVer}${tarballSuffix}"
|
|
||||||
|
|
||||||
latestSha256="$(nix-prefetch-url --type sha256 "$artifactUrl")"
|
|
||||||
latestHash="$(nix-hash --to-sri --type sha256 "$latestSha256")"
|
|
||||||
|
|
||||||
# Update the selected variant in version.json
|
|
||||||
tmp="$(mktemp)"
|
|
||||||
jq \
|
|
||||||
--arg v "$variantEff" \
|
|
||||||
--arg latestBase "$latestBase" \
|
|
||||||
--arg latestRelease "$latestRelease" \
|
|
||||||
--arg latestHash "$latestHash" \
|
|
||||||
'
|
|
||||||
.variants[$v].variables.base = $latestBase
|
|
||||||
| .variants[$v].variables.release = $latestRelease
|
|
||||||
| .variants[$v].sources.proton.hash = $latestHash
|
|
||||||
' "$versionFile" > "$tmp"
|
|
||||||
mv "$tmp" "$versionFile"
|
|
||||||
|
|
||||||
git -C "$repoRoot" add "packages/proton-cachyos/version.json"
|
|
||||||
git -C "$repoRoot" commit -m "${repo}(${variantEff}): ''${localBase}.''${localRelease} -> ''${latestBase}.''${latestRelease}"
|
|
||||||
''
|
|
||||||
@@ -17,7 +17,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
|
|
||||||
extraVersion = vars.extraVersion or "rpi";
|
extraVersion = vars.extraVersion or "rpi";
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
|
|
||||||
modDirVersion = vars.modDirVersion;
|
modDirVersion = vars.modDirVersion;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
in
|
in
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
in
|
in
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
|
|
||||||
defaultConfig = ''
|
defaultConfig = ''
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ let
|
|||||||
|
|
||||||
versionSpec = importJSON ./version.json;
|
versionSpec = importJSON ./version.json;
|
||||||
selected = versioning.selectVariant versionSpec null null;
|
selected = versioning.selectVariant versionSpec null null;
|
||||||
vars = selected.variables or {};
|
vars = selected.variables or { };
|
||||||
sources = versioning.mkAllSources selected;
|
sources = versioning.mkAllSources selected;
|
||||||
in
|
in
|
||||||
vscode-utils.buildVscodeMarketplaceExtension {
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
lib,
|
lib,
|
||||||
bc,
|
bc,
|
||||||
bison,
|
bison,
|
||||||
fetchurl,
|
|
||||||
flex,
|
flex,
|
||||||
gnutls,
|
gnutls,
|
||||||
installShellFiles,
|
installShellFiles,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, namespace, lib, ... }:
|
{ pkgs, namespace, ... }:
|
||||||
let
|
let
|
||||||
kernel = pkgs.${namespace}.linuxPackages_cachyos-deckify-lto;
|
kernel = pkgs.${namespace}.linuxPackages_cachyos-deckify-lto;
|
||||||
in
|
in
|
||||||
|
|||||||
Reference in New Issue
Block a user