From 495e968f9ff2e0e9a61f7429c0f211575b39963b Mon Sep 17 00:00:00 2001 From: Tyce Herrman Date: Wed, 2 Sep 2026 11:42:55 -0400 Subject: [PATCH 1/3] lix: 2.95.2 -> 2.95.3 Assisted-by: Codex (gpt-5.6-sol) Assisted-by: Codex (GPT-6) --- pkgs/tools/package-management/lix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix index 55c0a1c86c0a..5edfe3b5518b 100644 --- a/pkgs/tools/package-management/lix/default.nix +++ b/pkgs/tools/package-management/lix/default.nix @@ -217,14 +217,14 @@ lib.makeExtensible ( attrName = "lix_2_95"; lix-args = rec { - version = "2.95.2"; + version = "2.95.3"; src = fetchFromGitea { domain = "git.lix.systems"; owner = "lix-project"; repo = "lix"; rev = version; - hash = "sha256-nFxJMIdcGTI9NiHAa5HZ2BmcGFLwC2pTq+V4Gjc499I="; + hash = "sha256-rEhhsqccghnnJHjsqCCBzdD7PyF/ibDe8zadnajBmjI="; }; cargoDeps = rustPlatform.fetchCargoVendor { From 53819b8cb06fe2800c5ddab81bb4d948334a01f6 Mon Sep 17 00:00:00 2001 From: Tyce Herrman Date: Wed, 2 Sep 2026 11:43:41 -0400 Subject: [PATCH 2/3] lix: add update script for 2.95 releases Extract version, source, and Cargo definitions consistently for 2.94, 2.95, and the development snapshot. Keep scope construction, patches, and aliases in default.nix. Isolate the 2.95 updater in its release file so replacing a shared Cargo hash cannot modify the development snapshot. Restrict automated updates to the 2.95 release series. Assisted-by: Codex (gpt-5.6-sol) Assisted-by: Codex (GPT-6) --- pkgs/tools/package-management/lix/2.94.nix | 21 +++++++ pkgs/tools/package-management/lix/2.95.nix | 30 ++++++++++ .../package-management/lix/common-lix.nix | 2 + pkgs/tools/package-management/lix/default.nix | 55 ++----------------- pkgs/tools/package-management/lix/git.nix | 21 +++++++ 5 files changed, 78 insertions(+), 51 deletions(-) create mode 100644 pkgs/tools/package-management/lix/2.94.nix create mode 100644 pkgs/tools/package-management/lix/2.95.nix create mode 100644 pkgs/tools/package-management/lix/git.nix diff --git a/pkgs/tools/package-management/lix/2.94.nix b/pkgs/tools/package-management/lix/2.94.nix new file mode 100644 index 000000000000..978712923cca --- /dev/null +++ b/pkgs/tools/package-management/lix/2.94.nix @@ -0,0 +1,21 @@ +{ + fetchFromGitea, + rustPlatform, +}: +rec { + version = "2.94.2"; + + src = fetchFromGitea { + domain = "git.lix.systems"; + owner = "lix-project"; + repo = "lix"; + rev = version; + hash = "sha256-Nmqsl/YCnBW5U3TUfFWHGVUbyS2/Ll655BAE3qZilC4="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + name = "lix-${version}"; + inherit src; + hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg="; + }; +} diff --git a/pkgs/tools/package-management/lix/2.95.nix b/pkgs/tools/package-management/lix/2.95.nix new file mode 100644 index 000000000000..ee81bcbb5081 --- /dev/null +++ b/pkgs/tools/package-management/lix/2.95.nix @@ -0,0 +1,30 @@ +{ + fetchFromGitea, + nix-update-script, + rustPlatform, +}: +rec { + version = "2.95.3"; + + src = fetchFromGitea { + domain = "git.lix.systems"; + owner = "lix-project"; + repo = "lix"; + rev = version; + hash = "sha256-rEhhsqccghnnJHjsqCCBzdD7PyF/ibDe8zadnajBmjI="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + name = "lix-${version}"; + inherit src; + hash = "sha256-a5XtutX+NS4wOqxeqbscWZMs99teKick5+cQfbCRGxQ="; + }; + + updateScript = nix-update-script { + attrPath = "lixPackageSets.lix_2_95.lix"; + extraArgs = [ + "--override-filename=pkgs/tools/package-management/lix/2.95.nix" + "--version-regex=^(2[.]95[.][0-9]+)$" + ]; + }; +} diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index b783fe1671d5..2c22bdbd0272 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -10,6 +10,7 @@ docCargoDeps ? null, patches ? [ ], knownVulnerabilities ? [ ], + updateScript ? null, }@args: assert lib.assertMsg ( @@ -504,6 +505,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { inherit aws-sdk-cpp boehmgc; + inherit updateScript; tests = { misc = nixosTests.nix-misc.default.passthru.override { nixPackage = finalAttrs.finalPackage; }; installer = nixosTests.installer.simple.override { selectNixPackage = _: finalAttrs.finalPackage; }; diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix index 5edfe3b5518b..208815aefb03 100644 --- a/pkgs/tools/package-management/lix/default.nix +++ b/pkgs/tools/package-management/lix/default.nix @@ -28,6 +28,7 @@ nixos-rebuild-ng, colmena, nix-update, + nix-update-script, nix-init, nurl, @@ -190,23 +191,7 @@ lib.makeExtensible ( lix_2_94 = self.makeLixScope { attrName = "lix_2_94"; - lix-args = rec { - version = "2.94.2"; - - src = fetchFromGitea { - domain = "git.lix.systems"; - owner = "lix-project"; - repo = "lix"; - rev = version; - hash = "sha256-Nmqsl/YCnBW5U3TUfFWHGVUbyS2/Ll655BAE3qZilC4="; - }; - - cargoDeps = rustPlatform.fetchCargoVendor { - name = "lix-${version}"; - inherit src; - hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg="; - }; - + lix-args = (import ./2.94.nix { inherit fetchFromGitea rustPlatform; }) // { patches = [ lixMdbookPatch ]; @@ -216,23 +201,7 @@ lib.makeExtensible ( lix_2_95 = self.makeLixScope { attrName = "lix_2_95"; - lix-args = rec { - version = "2.95.3"; - - src = fetchFromGitea { - domain = "git.lix.systems"; - owner = "lix-project"; - repo = "lix"; - rev = version; - hash = "sha256-rEhhsqccghnnJHjsqCCBzdD7PyF/ibDe8zadnajBmjI="; - }; - - cargoDeps = rustPlatform.fetchCargoVendor { - name = "lix-${version}"; - inherit src; - hash = "sha256-a5XtutX+NS4wOqxeqbscWZMs99teKick5+cQfbCRGxQ="; - }; - + lix-args = (import ./2.95.nix { inherit fetchFromGitea rustPlatform nix-update-script; }) // { patches = [ lixFunctional2TimeoutPatch ]; @@ -242,23 +211,7 @@ lib.makeExtensible ( git = self.makeLixScope { attrName = "git"; - lix-args = rec { - version = "2.96.0-pre-20260408_${builtins.substring 0 12 src.rev}"; - - src = fetchFromGitea { - domain = "git.lix.systems"; - owner = "lix-project"; - repo = "lix"; - rev = "bc9fb560ac2d36cd317a856ee96785ea2055fbff"; - hash = "sha256-bONRPjhk5OZdnkQZexZNJzlvwIPg31Gy7fNiwGoX3BQ="; - }; - - cargoDeps = rustPlatform.fetchCargoVendor { - name = "lix-${version}"; - inherit src; - hash = "sha256-a5XtutX+NS4wOqxeqbscWZMs99teKick5+cQfbCRGxQ="; - }; - }; + lix-args = import ./git.nix { inherit fetchFromGitea rustPlatform; }; }; latest = self.lix_2_95; diff --git a/pkgs/tools/package-management/lix/git.nix b/pkgs/tools/package-management/lix/git.nix new file mode 100644 index 000000000000..541a2bbac196 --- /dev/null +++ b/pkgs/tools/package-management/lix/git.nix @@ -0,0 +1,21 @@ +{ + fetchFromGitea, + rustPlatform, +}: +rec { + version = "2.96.0-pre-20260408_${builtins.substring 0 12 src.rev}"; + + src = fetchFromGitea { + domain = "git.lix.systems"; + owner = "lix-project"; + repo = "lix"; + rev = "bc9fb560ac2d36cd317a856ee96785ea2055fbff"; + hash = "sha256-bONRPjhk5OZdnkQZexZNJzlvwIPg31Gy7fNiwGoX3BQ="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + name = "lix-${version}"; + inherit src; + hash = "sha256-a5XtutX+NS4wOqxeqbscWZMs99teKick5+cQfbCRGxQ="; + }; +} From 6cf20e6351ed57da89d7e8902ca47151d000be96 Mon Sep 17 00:00:00 2001 From: Tyce Herrman Date: Wed, 2 Sep 2026 11:43:43 -0400 Subject: [PATCH 3/3] lix: add tyceherrman as maintainer Assisted-by: Codex (gpt-5.6-sol) --- pkgs/tools/package-management/lix/common-lix.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index 2c22bdbd0272..c5782b122c6a 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -527,6 +527,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://lix.systems"; license = lib.licenses.lgpl21Plus; teams = [ lib.teams.lix ]; + maintainers = [ lib.maintainers.tyceherrman ]; platforms = lib.platforms.unix; outputsToInstall = [ "out" ] ++ lib.optional enableDocumentation "man"; mainProgram = "nix";