diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index c21e36403161..486b5f542ff4 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -101,7 +101,7 @@ In addition to numerous new and upgraded packages, this release has the followin - [InvoicePlane](https://invoiceplane.com), web application for managing and creating invoices. Available at [services.invoiceplane](#opt-services.invoiceplane.sites._name_.enable). -- [k3b](https://userbase.kde.org/K3b), the KDE disk burning application. Available as [programs.k3b](#opt-programs.k3b.enable). +- [k3b](https://userbase.kde.org/K3b), the KDE disk burning application. Available as programs.k3b. - [K40-Whisperer](https://www.scorchworks.com/K40whisperer/k40whisperer.html), a program to control cheap Chinese laser cutters. Available as [programs.k40-whisperer.enable](#opt-programs.k40-whisperer.enable). Users must add themselves to the `k40` group to be able to access the device. diff --git a/nixos/modules/programs/k3b.nix b/nixos/modules/programs/k3b.nix index 3e9435d3dc60..4bb76e2e7966 100644 --- a/nixos/modules/programs/k3b.nix +++ b/nixos/modules/programs/k3b.nix @@ -1,50 +1,8 @@ -{ config, pkgs, lib, ... }: +{ lib, ... }: { - # interface - options.programs.k3b = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to enable k3b, the KDE disk burning application. - - Additionally to installing `k3b` enabling this will - add `setuid` wrappers in `/run/wrappers/bin` - for both `cdrdao` and `cdrecord`. On first - run you must manually configure the path of `cdrdae` and - `cdrecord` to correspond to the appropriate paths under - `/run/wrappers/bin` in the "Setup External Programs" menu. - ''; - }; - }; - - # implementation - config = lib.mkIf config.programs.k3b.enable { - - environment.systemPackages = with pkgs; [ - k3b - dvdplusrwtools - cdrdao - cdrtools - ]; - - security.wrappers = { - cdrdao = { - setuid = true; - owner = "root"; - group = "cdrom"; - permissions = "u+wrx,g+x"; - source = "${pkgs.cdrdao}/bin/cdrdao"; - }; - cdrecord = { - setuid = true; - owner = "root"; - group = "cdrom"; - permissions = "u+wrx,g+x"; - source = "${pkgs.cdrtools}/bin/cdrecord"; - }; - }; - - }; + imports = [ + (lib.mkRemovedOptionModule [ "programs" "k3b" "enable" ] + "Please add kdePackages.k3b to environment.systemPackages instead") + ]; } diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 8e04700b83fd..fd990baa6faf 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -26,7 +26,7 @@ still shows most of the available features is in `./gwenview`. */ { - lib, libsForQt5, fetchurl, + lib, config, libsForQt5, fetchurl, }: let @@ -96,7 +96,6 @@ let incidenceeditor = callPackage ./incidenceeditor.nix {}; itinerary = callPackage ./itinerary.nix {}; juk = callPackage ./juk.nix {}; - k3b = callPackage ./k3b.nix {}; kaccounts-integration = callPackage ./kaccounts-integration.nix {}; kaccounts-providers = callPackage ./kaccounts-providers.nix {}; kaddressbook = callPackage ./kaddressbook.nix {}; @@ -264,6 +263,8 @@ let qmlkonsole = callPackage ./qmlkonsole.nix {}; telly-skout = callPackage ./telly-skout.nix {}; tokodon = callPackage ./tokodon.nix {}; + } // lib.optionalAttrs config.allowAliases { + k3b = throw "libsForQt5.k3b has been dropped in favor of kdePackages.k3b"; }; in lib.makeScope libsForQt5.newScope packages diff --git a/pkgs/applications/kde/k3b.nix b/pkgs/applications/kde/k3b.nix deleted file mode 100644 index 643c5e80b10f..000000000000 --- a/pkgs/applications/kde/k3b.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ mkDerivation, lib -, extra-cmake-modules, kdoctools, makeWrapper, shared-mime-info -, libkcddb, karchive, kcmutils, kfilemetadata, knewstuff, knotifyconfig, solid, kxmlgui -, flac, lame, libmad, libmpcdec, libvorbis -, libsamplerate, libsndfile, taglib -, cdparanoia, cdrdao, cdrtools, dvdplusrwtools, libburn, libdvdcss, libdvdread, vcdimager -, ffmpeg, libmusicbrainz3, normalize, sox, transcode, kinit -}: - -mkDerivation { - pname = "k3b"; - meta = with lib; { - homepage = "https://apps.kde.org/k3b/"; - description = "Disk burning application"; - mainProgram = "k3b"; - license = with licenses; [ gpl2Plus ]; - maintainers = with maintainers; [ sander ]; - platforms = platforms.linux; - }; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; - buildInputs = [ - # kde - libkcddb karchive kcmutils kfilemetadata knewstuff knotifyconfig solid kxmlgui - # formats - flac lame libmad libmpcdec libvorbis - # sound utilities - libsamplerate libsndfile taglib - # cd/dvd - cdparanoia libdvdcss libdvdread - # others - ffmpeg libmusicbrainz3 shared-mime-info - ]; - propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; - postFixup = - let - binPath = lib.makeBinPath [ - cdrdao cdrtools dvdplusrwtools libburn normalize sox transcode - vcdimager flac - ]; - libraryPath = lib.makeLibraryPath [ - cdparanoia - ]; - in '' - wrapProgram "$out/bin/k3b" \ - --prefix PATH : "${binPath}" \ - --prefix LD_LIBRARY_PATH : ${libraryPath} - ''; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c5db504f242..6627e1243207 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10033,7 +10033,7 @@ with pkgs; }); libsForQt5 = (recurseIntoAttrs (import ./qt5-packages.nix { - inherit lib __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget; + inherit lib config __splicedPackages makeScopeWithSplicing' generateSplicesForMkScope pkgsHostTarget; })) // { __recurseIntoDerivationForReleaseJobs = true; }; # plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index a307fb5b072d..8d0f06d0f091 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -7,6 +7,7 @@ { lib +, config , __splicedPackages , makeScopeWithSplicing' , generateSplicesForMkScope @@ -47,7 +48,7 @@ makeScopeWithSplicing' { kdeGear = let mkGear = import ../applications/kde; attrs = { - inherit libsForQt5; + inherit config libsForQt5; inherit (pkgs) lib fetchurl; }; in (lib.makeOverridable mkGear attrs);