forked from lix-project/nixos-module
fix: use the official-release bit from the Lix sources to skip versionSuffix
I wrote that json file intending to use it for this and then forgot. lol oops.
This commit is contained in:
parent
e350380d72
commit
1c291723b9
|
@ -8,8 +8,12 @@
|
||||||
inputs.flakey-profile.url = "github:lf-/flakey-profile";
|
inputs.flakey-profile.url = "github:lf-/flakey-profile";
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, lix, flake-utils, flakey-profile, ... }:
|
outputs = inputs@{ self, nixpkgs, lix, flake-utils, flakey-profile, ... }:
|
||||||
let versionSuffix = "pre${builtins.substring 0 8 lix.lastModifiedDate}-${lix.shortRev or lix.dirtyShortRev}";
|
let
|
||||||
in {
|
lixVersionJson = builtins.fromJSON (builtins.readFile (lix + "/version.json"));
|
||||||
|
versionSuffix = nixpkgs.lib.optionalString (!lixVersionJson.official_release)
|
||||||
|
"-pre${builtins.substring 0 8 lix.lastModifiedDate}-${lix.shortRev or lix.dirtyShortRev}";
|
||||||
|
in
|
||||||
|
{
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
nixosModules = {
|
nixosModules = {
|
||||||
# Use a locally built Lix
|
# Use a locally built Lix
|
||||||
|
|
11
overlay.nix
11
overlay.nix
|
@ -6,7 +6,7 @@ let
|
||||||
# usage.
|
# usage.
|
||||||
# https://github.com/nixos/nixpkgs/blob/6afb255d976f85f3359e4929abd6f5149c323a02/nixos/modules/config/nix.nix#L121
|
# https://github.com/nixos/nixpkgs/blob/6afb255d976f85f3359e4929abd6f5149c323a02/nixos/modules/config/nix.nix#L121
|
||||||
lixPackageFromSource = final.callPackage (lix + "/package.nix") ({
|
lixPackageFromSource = final.callPackage (lix + "/package.nix") ({
|
||||||
versionSuffix = "-${versionSuffix}";
|
inherit versionSuffix;
|
||||||
});
|
});
|
||||||
|
|
||||||
# These packages depend on Nix features that Lix does not support
|
# These packages depend on Nix features that Lix does not support
|
||||||
|
@ -23,7 +23,8 @@ let
|
||||||
override_2_18 = prev.lib.genAttrs overridelist_2_18 (
|
override_2_18 = prev.lib.genAttrs overridelist_2_18 (
|
||||||
name: prev.${name}.override {
|
name: prev.${name}.override {
|
||||||
nix = final.nixVersions.nix_2_18_upstream;
|
nix = final.nixVersions.nix_2_18_upstream;
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
inherit (prev) lib;
|
inherit (prev) lib;
|
||||||
|
|
||||||
|
@ -56,7 +57,7 @@ let
|
||||||
maybeWarnDuplicate = x: if final.lix-overlay-present > 1 then builtins.trace warning x else x;
|
maybeWarnDuplicate = x: if final.lix-overlay-present > 1 then builtins.trace warning x else x;
|
||||||
|
|
||||||
versionJson = builtins.fromJSON (builtins.readFile ./version.json);
|
versionJson = builtins.fromJSON (builtins.readFile ./version.json);
|
||||||
supportedLixMajor = builtins.elemAt (builtins.match ''^([[:digit:]]+\.[[:digit:]]+)\..*'' versionJson.version) 0;
|
supportedLixMajor = lib.versions.majorMinor versionJson.version;
|
||||||
lixPackageToUse = if lix != null then lixPackageFromSource else prev.lix;
|
lixPackageToUse = if lix != null then lixPackageFromSource else prev.lix;
|
||||||
# Especially if using Lix from nixpkgs, it is plausible that the overlay
|
# Especially if using Lix from nixpkgs, it is plausible that the overlay
|
||||||
# could be used against the wrong Lix major version and cause confusing build
|
# could be used against the wrong Lix major version and cause confusing build
|
||||||
|
@ -98,7 +99,7 @@ let
|
||||||
nix-doc = prev.callPackage ./nix-doc/package.nix { withPlugin = false; };
|
nix-doc = prev.callPackage ./nix-doc/package.nix { withPlugin = false; };
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
# Make the overlay idempotent, since flakes passing nixos modules around by
|
# Make the overlay idempotent, since flakes passing nixos modules around by
|
||||||
# value and many other things make it way too easy to include the overlay
|
# value and many other things make it way too easy to include the overlay
|
||||||
# twice
|
# twice
|
||||||
if (prev ? lix-overlay-present) then { lix-overlay-present = 2; } else overlay
|
if (prev ? lix-overlay-present) then { lix-overlay-present = 2; } else overlay
|
||||||
|
|
Loading…
Reference in a new issue