diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-11-02 19:53:17 +0100 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-11-05 22:47:43 +0100 |
| commit | 5ca82ffa08af81f36ec998e7f49f53af7496a93a (patch) | |
| tree | 5df14a39ca08d7bcbd98659d66a4b6d2d6e27500 /pkgs/default.nix | |
| parent | modules/*: Always use `extra_lib`, also for `options.mkEnable` (diff) | |
| download | nixos-config-5ca82ffa08af81f36ec998e7f49f53af7496a93a.zip | |
pkgs/*: Use a `stable`/`unstable` marker in the filename
Diffstat (limited to 'pkgs/default.nix')
| -rw-r--r-- | pkgs/default.nix | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix index 4fdb94fe..bc7d70e7 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,16 +6,20 @@ inherit (unstable_pkgs) lib; mergePkgs = pkgs: lib.callPackageWith (extra_lib.warnMerge pkgs in_tree_pkgs "the ./pkgs/by-name set"); - callPackageStable = lib.callPackageWith (mergePkgs stable_pkgs); - callPackageUnstable = lib.callPackageWith (mergePkgs unstable_pkgs); + callPackageStable = mergePkgs stable_pkgs; + callPackageUnstable = mergePkgs unstable_pkgs; in_tree_pkgs = extra_lib.mkByName { baseDirectory = ./by-name; - fileName = "package.nix"; - finalizeFunction = name: value: - if value.stable - then callPackageStable value.pkg {} - else callPackageUnstable value.pkg {}; + fileRegex = "package.(stable|unstable).nix"; + finalizeFunction = name: pkgPathList: let + # When specifying a regex `mkByName` returns a list of candidates. + # But we know, that there can only be one. + pkgPath = builtins.head pkgPathList; + in + if (builtins.match "(stable)" (builtins.baseNameOf pkgPath)) == ["stable"] + then callPackageStable pkgPath {} + else callPackageUnstable pkgPath {}; }; in in_tree_pkgs |
