From ec91266fcd12f16d8ca355ab70a14f2b4c2c4691 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 9 Feb 2025 08:23:49 +0100 Subject: [PATCH] pkgs/overlays/unstable-latest: init this reuses code that was removed in 77ef7434f24baa95c6929a9e532967b0e58b7294 --- pkgs/overlays/unstable-from-source.nix | 3 ++- pkgs/overlays/unstable-latest.nix | 25 +++++++++++++++++++++++++ pkgs/top-level/default.nix | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 pkgs/overlays/unstable-latest.nix diff --git a/pkgs/overlays/unstable-from-source.nix b/pkgs/overlays/unstable-from-source.nix index 214307d..9f9499c 100644 --- a/pkgs/overlays/unstable-from-source.nix +++ b/pkgs/overlays/unstable-from-source.nix @@ -1,5 +1,6 @@ { unstableSource, + attributeName ? "unstable", }: self: super: @@ -32,5 +33,5 @@ let }); in { - unstable = if useUnstable then unstablePkgsForNixpkgs self else self; + "${attributeName}" = if useUnstable then unstablePkgsForNixpkgs self else self; } diff --git a/pkgs/overlays/unstable-latest.nix b/pkgs/overlays/unstable-latest.nix new file mode 100644 index 0000000..68636c0 --- /dev/null +++ b/pkgs/overlays/unstable-latest.nix @@ -0,0 +1,25 @@ +self: super: + +let + nixos = self.config.unstable-latest.nixos or true; + useUnstable = self.config.useUnstable or true; + + unstablePkgsExprs = if nixos + then builtins.fetchTarball "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + else builtins.fetchTarball "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; + + # Compiled nixpkgs expression eg expressions from a nix channel + nixpkgsVersion = builtins.concatStringsSep "." [ + (builtins.readFile "${unstablePkgsExprs}/.version") + (builtins.readFile "${unstablePkgsExprs}/.version-suffix") + ]; + + nixpkgsRevision = (builtins.readFile "${unstablePkgsExprs}/.git-revision"); +in +import ./unstable-from-source.nix { + unstableSource = unstablePkgsExprs; + attributeName = "unstable-latest"; +} self super // { + unstableLatestVersion = if !useUnstable then null else nixpkgsVersion; + unstableLatestRevision = if !useUnstable then null else nixpkgsRevision; +} diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index dfdae8b..34637da 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -15,6 +15,7 @@ let # ../.. should be nix store path that represents self in outputs.nix that is gc-rooted by this point ( import ../overlays/selfExpr.nix { nixpkgsPath = "${builtins.toString ../..}/pkgs/top-level/impure.nix"; } ) ( import ../overlays/unstable-with-meta.nix { unstableSource = inputs.nixpkgs-unstable; revision = inputs.lock.nixpkgs-unstable.revision; } ) + ( import ../overlays/unstable-latest.nix ) ( import ../overlays/version-info-fixup.nix { inherit inputs; } ) ( import ./by-name-overlay.nix ../by-name ) ];