From e4293df176566161f2f7a253100a050c7f1d259f Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 20 Feb 2025 17:30:04 +0300 Subject: [PATCH 1/4] nixos/plasma5: deprecate --- nixos/modules/services/x11/desktop-managers/plasma5.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index c792fdaee282..2696992a78d7 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -168,6 +168,9 @@ in config = mkMerge [ # Common Plasma dependencies (mkIf (cfg.enable || cfg.mobile.enable || cfg.bigscreen.enable) { + warnings = [ + "Plasma 5 has been deprecated and will be removed in NixOS 25.11. Please migrate your configuration to Plasma 6." + ]; security.wrappers = { kwin_wayland = { From 5c2f694947ebd1000d589ed636cae65cc18ef642 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 20 Feb 2025 17:30:09 +0300 Subject: [PATCH 2/4] aliases: deprecate top-level aliases for Plasma 5 stuff --- pkgs/top-level/aliases.nix | 97 +++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 42 deletions(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 64e5b08ce7b6..5f2f361f7739 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -40,6 +40,55 @@ let p4 = "${prefix}transmission_4${suffix}"; in "${p} has been renamed to ${p3} since ${p4} is also available. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; + deprecatedPlasma5Packages = { + inherit (plasma5Packages) + akonadi akregator arianna ark bluedevil bomber bovo breeze-grub breeze-gtk + breeze-icons breeze-plymouth breeze-qt5 colord-kde discover dolphin dragon elisa falkon + ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook + kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce + kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config + kdenlive kdeplasma-addons kdevelop-pg-qt kdevelop-unwrapped kdev-php + kdev-python kdevelop kdf kdialog kdiamond keditbookmarks kfind + kgamma5 kget kgpg khelpcenter kig kigo killbots kinfocenter kitinerary + kleopatra klettres klines kmag kmail kmenuedit kmines kmix kmplot + knavalbattle knetwalk knights kollision kolourpaint kompare konsole kontact + konversation korganizer kpkpass krdc kreversi krfb kscreen kscreenlocker + kshisen ksquares ksshaskpass ksystemlog kteatime ktimer ktorrent ktouch + kturtle kwallet-pam kwalletmanager kwave kwayland-integration kwin kwrited + marble merkuro milou minuet okular oxygen oxygen-icons5 picmi + plasma-browser-integration plasma-desktop plasma-integration plasma-nano + plasma-nm plasma-pa plasma-mobile plasma-systemmonitor plasma-thunderbolt + plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent + powerdevil qqc2-breeze-style sddm-kcm skanlite skanpage spectacle + systemsettings xdg-desktop-portal-kde yakuake zanshin + ; + + inherit (plasma5Packages.thirdParty) + krohnkite + krunner-ssh + krunner-symbols + kwin-dynamic-workspaces + kwin-tiling + plasma-applet-caffeine-plus + plasma-applet-virtual-desktop-bar + ; + + inherit (libsForQt5) + sddm + ; + }; + + makePlasma5Throw = name: throw '' + The top-level ${name} alias has been removed. + + Please explicitly use kdePackages.${name} for the latest Qt 6-based version, + or libsForQt5.${name} for the deprecated Qt 5 version. + + Note that Qt 5 versions of most KDE software will be removed in NixOS 25.11. + ''; + + plasma5Throws = lib.mapAttrs (k: _: makePlasma5Throw k) deprecatedPlasma5Packages; + # Make sure that we are not shadowing something from all-packages.nix. checkInPkgs = n: alias: if builtins.hasAttr n super @@ -476,7 +525,7 @@ mapAliases { gfortran49 = throw "'gfortran49' has been removed from nixpkgs"; # Added 2024-09-11 gfortran7 = throw "gfortran7 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-11-20 gfortran8 = throw "gfortran8 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-11-20 - ghostwriter = libsForQt5.kdeGear.ghostwriter; # Added 2023-03-18 + ghostwriter = makePlasma5Throw "ghostwriter"; # Added 2023-03-18 git-codeowners = throw "'git-codeowners' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 gmp5 = throw "'gmp5' has been removed as it is unmaintained. Consider using 'gmp' instead"; # Added 2024-10-28 gmpc = throw "'gmpc' has been removed due to lack of maintenance upstream. Consider using 'plattenalbum' instead"; # Added 2024-09-14 @@ -664,7 +713,7 @@ mapAliases { kgx = gnome-console; # Added 2022-02-19 kibana7 = throw "Kibana 7.x has been removed from nixpkgs as it depends on an end of life Node.js version and received no maintenance in time."; # Added 2023-30-10 kibana = kibana7; - kio-admin = libsForQt5.kdeGear.kio-admin; # Added 2023-03-18 + kio-admin = makePlasma5Throw "kio-admin"; # Added 2023-03-18 kiwitalk = throw "KiwiTalk has been removed because the upstream has been deprecated at the request of Kakao and it's now obsolete."; # Added 2024-10-10 kodiGBM = kodi-gbm; kodiPlain = kodi; @@ -960,7 +1009,7 @@ mapAliases { ''; # Added 2024-06-25 nextcloud27Packages = throw "Nextcloud27 is EOL!"; # Added 2024-06-25 nagiosPluginsOfficial = monitoring-plugins; - neochat = libsForQt5.kdeGear.neochat; # added 2022-05-10 + neochat = makePlasma5Throw "neochat"; # added 2022-05-10 nerdfonts = throw '' nerdfonts has been separated into individual font packages under the namespace nerd-fonts. For example change: @@ -1087,7 +1136,7 @@ mapAliases { paperoni = throw "paperoni has been removed, because it is unmaintained"; # Added 2024-07-14 paperless = throw "'paperless' has been renamed to/replaced by 'paperless-ngx'"; # Converted to throw 2024-10-17 paperless-ng = paperless-ngx; # Added 2022-04-11 - partition-manager = libsForQt5.partitionmanager; # Added 2024-01-08 + partition-manager = makePlasma5Throw "partitionmanager"; # Added 2024-01-08 patchelfStable = patchelf; # Added 2024-01-25 paup = paup-cli; # Added 2024-09-11 pcsctools = pcsc-tools; # Added 2023-12-07 @@ -1573,7 +1622,7 @@ mapAliases { xtrlock-pam = throw "xtrlock-pam has been removed because it is unmaintained for 10 years and doesn't support Python 3.10 or newer"; # Added 2025-01-25 xulrunner = firefox-unwrapped; # Added 2023-11-03 xvfb_run = throw "'xvfb_run' has been renamed to/replaced by 'xvfb-run'"; # Converted to throw 2024-10-17 - xwaylandvideobridge = libsForQt5.xwaylandvideobridge; # Added 2024-09-27 + xwaylandvideobridge = makePlasma5Throw "xwaylandvideobridge"; # Added 2024-09-27 xxv = throw "'xxv' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 ### Y ### @@ -1623,45 +1672,9 @@ mapAliases { between mixed versions of qt. See: https://github.com/NixOS/nixpkgs/pull/101369 */ - inherit (plasma5Packages) - akonadi akregator arianna ark bluedevil bomber bovo breeze-grub breeze-gtk - breeze-icons breeze-plymouth breeze-qt5 colord-kde discover dolphin dragon elisa falkon - ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook - kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce - kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config - kdenlive kdeplasma-addons kdevelop-pg-qt kdevelop-unwrapped kdev-php - kdev-python kdevelop kdf kdialog kdiamond keditbookmarks kfind - kgamma5 kget kgpg khelpcenter kig kigo killbots kinfocenter kitinerary - kleopatra klettres klines kmag kmail kmenuedit kmines kmix kmplot - knavalbattle knetwalk knights kollision kolourpaint kompare konsole kontact - konversation korganizer kpkpass krdc kreversi krfb kscreen kscreenlocker - kshisen ksquares ksshaskpass ksystemlog kteatime ktimer ktorrent ktouch - kturtle kwallet-pam kwalletmanager kwave kwayland-integration kwin kwrited - marble merkuro milou minuet okular oxygen oxygen-icons5 picmi - plasma-browser-integration plasma-desktop plasma-integration plasma-nano - plasma-nm plasma-pa plasma-mobile plasma-systemmonitor plasma-thunderbolt - plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent - powerdevil qqc2-breeze-style sddm-kcm skanlite skanpage spectacle - systemsettings xdg-desktop-portal-kde yakuake zanshin - ; - kalendar = merkuro; # Renamed in 23.08 kfloppy = throw "kfloppy has been removed upstream in KDE Gear 23.08"; - inherit (plasma5Packages.thirdParty) - krohnkite - krunner-ssh - krunner-symbols - kwin-dynamic-workspaces - kwin-tiling - plasma-applet-caffeine-plus - plasma-applet-virtual-desktop-bar - ; - - inherit (libsForQt5) - sddm - ; - inherit (pidginPackages) pidgin-indicator pidgin-latex @@ -1690,4 +1703,4 @@ mapAliases { purple-facebook ; -} +} // plasma5Throws From 54cf422855cafb486af093e9464ea662ee7baa4f Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 20 Feb 2025 17:32:03 +0300 Subject: [PATCH 3/4] doc/rl-2505: reindent the `functor` note --- doc/release-notes/rl-2505.section.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/release-notes/rl-2505.section.md b/doc/release-notes/rl-2505.section.md index 47d978404ca0..22362fd0ce88 100644 --- a/doc/release-notes/rl-2505.section.md +++ b/doc/release-notes/rl-2505.section.md @@ -53,7 +53,7 @@ ### Deprecations {#sec-nixpkgs-release-25.05-lib-deprecations} -`functor` is an implementation detail and should not be relied upon, but since its status wasn't clear and it has had some use cases without alternatives, changes are being handled as gracefully as possible. Deprecations within functor: -- `functor.wrapped` is now deprecated for some types and using it will give a warning with migration instructions. It is deprecated for these types: +- `functor` is an implementation detail and should not be relied upon, but since its status wasn't clear and it has had some use cases without alternatives, changes are being handled as gracefully as possible. Deprecations within functor: + - `functor.wrapped` is now deprecated for some types and using it will give a warning with migration instructions. It is deprecated for these types: - `lib.types.attrsWith` - `lib.types.listOf` From d443c67c274d30c761eb7811d16b07dd608fe2c0 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 20 Feb 2025 17:33:32 +0300 Subject: [PATCH 4/4] doc/rl-2505: relnote Plasma 5 deprecation --- doc/release-notes/rl-2505.section.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/release-notes/rl-2505.section.md b/doc/release-notes/rl-2505.section.md index 22362fd0ce88..aaae719c2711 100644 --- a/doc/release-notes/rl-2505.section.md +++ b/doc/release-notes/rl-2505.section.md @@ -57,3 +57,5 @@ - `functor.wrapped` is now deprecated for some types and using it will give a warning with migration instructions. It is deprecated for these types: - `lib.types.attrsWith` - `lib.types.listOf` + +- Plasma 5 and Qt 5 based versions of associated software are deprecated in NixOS 25.05, and will be removed in NixOS 25.11. Users are encouraged to upgrade to Plasma 6.