···2329 # then apply extension specific modifcations to packages.
23302331 # overlays will be applied left to right, overrides should come after aliases.
2332- overlays = lib.optionals (config.allowAliases or true) [ aliases ];
23332334 toFix = lib.foldl' (lib.flip lib.extends) baseExtensions overlays;
2335in
···2329 # then apply extension specific modifcations to packages.
23302331 # overlays will be applied left to right, overrides should come after aliases.
2332+ overlays = lib.optionals config.allowAliases [ aliases ];
23332334 toFix = lib.foldl' (lib.flip lib.extends) baseExtensions overlays;
2335in
+2-2
pkgs/applications/misc/bottles/default.nix
···20in
21python3Packages.buildPythonApplication rec {
22 pname = "bottles";
23- version = "2022.3.14-trento-3";
24- sha256 = "0wdqj9l69a9pnray2zcfgl2yw0hmrh23njbgwgqccimch014ckdq";
25 # Note: Update via pkgs/applications/misc/bottles/update.py
26 # mostly copypasted from pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
27
···20in
21python3Packages.buildPythonApplication rec {
22 pname = "bottles";
23+ version = "2022.3.28-trento-1";
24+ sha256 = "1mpvym7b88pb0xxij32arj31q5m6b3z47p8zv9njvkfs0151b2v4";
25 # Note: Update via pkgs/applications/misc/bottles/update.py
26 # mostly copypasted from pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
27
···68 archived = date: throw "the provider has been archived by upstream on ${date}";
69 removed = date: throw "removed from nixpkgs on ${date}";
70 in
71- lib.optionalAttrs (config.allowAliases or false) {
72 arukas = archived "2022/01";
73 chef = archived "2022/01";
74 cherryservers = archived "2022/01";
···68 archived = date: throw "the provider has been archived by upstream on ${date}";
69 removed = date: throw "removed from nixpkgs on ${date}";
70 in
71+ lib.optionalAttrs config.allowAliases {
72 arukas = archived "2022/01";
73 chef = archived "2022/01";
74 cherryservers = archived "2022/01";
···278 gnome-autoar = callPackage ./misc/gnome-autoar { };
279280 gnome-packagekit = callPackage ./misc/gnome-packagekit { };
281-}) // lib.optionalAttrs (config.allowAliases or true) {
282#### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
283284 gnome-desktop = pkgs.gnome-desktop; # added 2022-03-16
···278 gnome-autoar = callPackage ./misc/gnome-autoar { };
279280 gnome-packagekit = callPackage ./misc/gnome-packagekit { };
281+}) // lib.optionalAttrs config.allowAliases {
282#### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
283284 gnome-desktop = pkgs.gnome-desktop; # added 2022-03-16
···32 feature = "run <literal>checkPhase</literal> by default";
33 };
3435+ allowAliases = mkOption {
36+ type = types.bool;
37+ default = true;
38+ description = ''
39+ Whether to expose old attribute names for compatibility.
40+41+ The recommended setting is to enable this, as it
42+ improves backward compatibity, easing updates.
43+44+ The only reason to disable aliases is for continuous
45+ integration purposes. For instance, Nixpkgs should
46+ not depend on aliases in its internal code. Projects
47+ that aren't Nixpkgs should be cautious of instantly
48+ removing all usages of aliases, as migrating too soon
49+ can break compatibility with the stable Nixpkgs releases.
50+ '';
51+ };
52+53 };
5455in {
+1-1
pkgs/top-level/kodi-packages.nix
···153 trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { };
154155 trakt = callPackage ../applications/video/kodi/addons/trakt { };
156-}; in self // lib.optionalAttrs (config.allowAliases or true) {
157 # deprecated or renamed packages
158159 controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { };
···153 trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { };
154155 trakt = callPackage ../applications/video/kodi/addons/trakt { };
156+}; in self // lib.optionalAttrs config.allowAliases {
157 # deprecated or renamed packages
158159 controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { };
+1-1
pkgs/top-level/linux-kernels.nix
···476477 can-isotp = callPackage ../os-specific/linux/can-isotp { };
478479- } // lib.optionalAttrs (config.allowAliases or false) {
480 ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18;
481 });
482
···476477 can-isotp = callPackage ../os-specific/linux/can-isotp { };
478479+ } // lib.optionalAttrs config.allowAliases {
480 ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18;
481 });
482
+1-1
pkgs/top-level/perl-packages.nix
···25406 };
25407 };
2540825409-} // lib.optionalAttrs (config.allowAliases or true) {
25410 autodie = null; # part of Perl
25411 AutoLoader = null; # part of Perl 5.22
25412 constant = null; # part of Perl 5.22
···25406 };
25407 };
2540825409+} // lib.optionalAttrs config.allowAliases {
25410 autodie = null; # part of Perl
25411 AutoLoader = null; # part of Perl 5.22
25412 constant = null; # part of Perl 5.22
+1-1
pkgs/top-level/stage.nix
···152 res self super;
153 in res;
154155- aliases = self: super: lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib self super);
156157 # stdenvOverrides is used to avoid having multiple of versions
158 # of certain dependencies that were used in bootstrapping the
···152 res self super;
153 in res;
154155+ aliases = self: super: lib.optionalAttrs config.allowAliases (import ./aliases.nix lib self super);
156157 # stdenvOverrides is used to avoid having multiple of versions
158 # of certain dependencies that were used in bootstrapping the