Loading nixos/doc/manual/release-notes/rl-2511.section.md +2 −0 Original line number Diff line number Diff line Loading @@ -392,3 +392,5 @@ - `sparkleshare` has been removed as it no longer builds and has been abandoned upstream. - The `open-webui` package's postgres support have been moved to optional dependencies to comply with upstream changes in 0.6.26. - `prl-tools` has been moved out of `linuxPackages` because Parallels Guest Tools become driverless since 26.1.0. nixos/modules/virtualisation/parallels-guest.nix +3 −15 Original line number Diff line number Diff line { config, lib, pkgs, ... }: Loading @@ -27,20 +28,11 @@ in type = types.bool; default = false; description = '' This enables Parallels Tools for Linux guests, along with provided video, mouse and other hardware drivers. This enables Parallels Tools for Linux guests. ''; }; package = mkOption { type = types.nullOr types.package; default = config.boot.kernelPackages.prl-tools; defaultText = "config.boot.kernelPackages.prl-tools"; example = literalExpression "config.boot.kernelPackages.prl-tools"; description = '' Defines which package to use for prl-tools. Override to change the version. ''; }; package = lib.mkPackageOption pkgs "prl-tools" { }; }; }; Loading @@ -53,10 +45,6 @@ in boot.extraModulePackages = [ prl-tools ]; boot.kernelModules = [ "prl_tg" ]; services.timesyncd.enable = false; systemd.services.prltoolsd = { Loading pkgs/os-specific/linux/prl-tools/default.nix→pkgs/by-name/pr/prl-tools/package.nix +25 −47 Original line number Diff line number Diff line { lib, stdenv, fetchurl, autoPatchelfHook, bbe, makeWrapper, p7zip, perl, undmg, dbus-glib, fuse, glib, xorg, zlib, kernel, bash, bbe, coreutils, cups, dbus, fetchurl, fuse, gawk, glib, lib, makeWrapper, netcat, p7zip, perl, stdenv, timetrap, undmg, util-linux, wayland, xorg, }: let kernelVersion = kernel.modDirVersion; kernelDir = "${kernel.dev}/lib/modules/${kernelVersion}"; libPath = lib.concatStringsSep ":" [ "${glib.out}/lib" "${xorg.libXrandr}/lib" Loading @@ -34,6 +30,7 @@ let ]; scriptPath = lib.concatStringsSep ":" [ "${bash}/bin" "${coreutils}/bin" "${cups}/sbin" "${gawk}/bin" "${netcat}/bin" Loading @@ -43,13 +40,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "prl-tools"; version = "26.0.1-57243"; version = "26.1.1-57288"; # We download the full distribution to extract prl-tools-lin.iso from # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso src = fetchurl { url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg"; hash = "sha256-jAOP9g3JCKxOFyiDdYJvvM9ecGDbMuCARCEu4sE7Cfs="; hash = "sha256-11IyKI2oOffzSPTB65XksZI3PD9W2+0SPZIfpb0RLuU="; }; hardeningDisable = [ Loading @@ -64,11 +61,9 @@ stdenv.mkDerivation (finalAttrs: { p7zip perl undmg ] ++ kernel.moduleBuildDependencies; ]; buildInputs = [ dbus-glib fuse glib xorg.libX11 Loading @@ -77,10 +72,10 @@ stdenv.mkDerivation (finalAttrs: { xorg.libXrandr xorg.libXi xorg.libXinerama zlib ]; runtimeDependencies = [ dbus glib xorg.libXrandr ]; Loading @@ -91,36 +86,14 @@ stdenv.mkDerivation (finalAttrs: { undmg $src export sourceRoot=prl-tools-build 7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin${lib.optionalString stdenv.hostPlatform.isAarch64 "-arm"}.iso" -o$sourceRoot ( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz ) runHook postUnpack ''; buildPhase = '' runHook preBuild ( # kernel modules cd kmods make -f Makefile.kmods \ KSRC=${kernelDir}/source \ HEADERS_CHECK_DIR=${kernelDir}/source \ KERNEL_DIR=${kernelDir}/build \ SRC=${kernelDir}/build \ KVER=${kernelVersion} ) runHook postBuild ''; dontBuild = true; installPhase = '' runHook preInstall ( # kernel modules cd kmods mkdir -p $out/lib/modules/${kernelVersion}/extra cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra ) ( # tools cd tools/tools${ if stdenv.hostPlatform.isAarch64 then Loading @@ -139,6 +112,10 @@ stdenv.mkDerivation (finalAttrs: { rm -f bin/prltoolsd mv bin/prltoolsd.tmp bin/prltoolsd # replace hardcoded /usr/bin/prl_fsd substituteInPlace ../mount.fuse.prl_fsd \ --replace-fail "/usr/bin/prl_fsd" "$out/bin/prl_fsd" # install binaries for i in bin/* sbin/prl_nettool sbin/prl_snapshot; do # also patch binaries to replace /usr/bin/XXX to XXX Loading @@ -156,6 +133,7 @@ stdenv.mkDerivation (finalAttrs: { install -Dm755 $i $out/$i done install -Dm755 ../../tools/mount.fuse.prl_fsd $out/sbin/mount.fuse.prl_fsd install -Dm755 ../../tools/prlfsmountd.sh $out/sbin/prlfsmountd install -Dm755 ../../tools/prlbinfmtconfig.sh $out/sbin/prlbinfmtconfig for f in $out/bin/* $out/sbin/*; do Loading @@ -170,7 +148,7 @@ stdenv.mkDerivation (finalAttrs: { done substituteInPlace ../99prltoolsd-hibernate \ --replace "/bin/bash" "${bash}/bin/bash" --replace-fail "/bin/bash" "${bash}/bin/bash" mkdir -p $out/etc/pm/sleep.d install -Dm644 ../99prltoolsd-hibernate $out/etc/pm/sleep.d Loading pkgs/os-specific/linux/prl-tools/update.sh→pkgs/by-name/pr/prl-tools/update.sh +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ set -eu -o pipefail nixpkgs="$(git rev-parse --show-toplevel)" path="$nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix" path="$nixpkgs/pkgs/by-name/pr/prl-tools/default.nix" # Currently this script only supports Parallels 26 # Please change the knowledge base url after each major release Loading pkgs/top-level/linux-kernels.nix +1 −2 Original line number Diff line number Diff line Loading @@ -590,8 +590,6 @@ in netatop = callPackage ../os-specific/linux/netatop { }; prl-tools = callPackage ../os-specific/linux/prl-tools { }; isgx = callPackage ../os-specific/linux/isgx { }; rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { }; Loading Loading @@ -723,6 +721,7 @@ in system76-scheduler = lib.warnOnInstantiate "kernelPackages.system76-scheduler is now pkgs.system76-scheduler" pkgs.system76-scheduler; # Added 2024-10-16 tuxedo-keyboard = self.tuxedo-drivers; # Added 2024-09-28 phc-intel = throw "phc-intel drivers are no longer supported by any kernel >=4.17"; # added 2025-07-18 prl-tools = throw "Parallel Tools no longer provide any kernel module, please use pkgs.prl-tools instead."; # added 2025-10-04 } ); Loading Loading
nixos/doc/manual/release-notes/rl-2511.section.md +2 −0 Original line number Diff line number Diff line Loading @@ -392,3 +392,5 @@ - `sparkleshare` has been removed as it no longer builds and has been abandoned upstream. - The `open-webui` package's postgres support have been moved to optional dependencies to comply with upstream changes in 0.6.26. - `prl-tools` has been moved out of `linuxPackages` because Parallels Guest Tools become driverless since 26.1.0.
nixos/modules/virtualisation/parallels-guest.nix +3 −15 Original line number Diff line number Diff line { config, lib, pkgs, ... }: Loading @@ -27,20 +28,11 @@ in type = types.bool; default = false; description = '' This enables Parallels Tools for Linux guests, along with provided video, mouse and other hardware drivers. This enables Parallels Tools for Linux guests. ''; }; package = mkOption { type = types.nullOr types.package; default = config.boot.kernelPackages.prl-tools; defaultText = "config.boot.kernelPackages.prl-tools"; example = literalExpression "config.boot.kernelPackages.prl-tools"; description = '' Defines which package to use for prl-tools. Override to change the version. ''; }; package = lib.mkPackageOption pkgs "prl-tools" { }; }; }; Loading @@ -53,10 +45,6 @@ in boot.extraModulePackages = [ prl-tools ]; boot.kernelModules = [ "prl_tg" ]; services.timesyncd.enable = false; systemd.services.prltoolsd = { Loading
pkgs/os-specific/linux/prl-tools/default.nix→pkgs/by-name/pr/prl-tools/package.nix +25 −47 Original line number Diff line number Diff line { lib, stdenv, fetchurl, autoPatchelfHook, bbe, makeWrapper, p7zip, perl, undmg, dbus-glib, fuse, glib, xorg, zlib, kernel, bash, bbe, coreutils, cups, dbus, fetchurl, fuse, gawk, glib, lib, makeWrapper, netcat, p7zip, perl, stdenv, timetrap, undmg, util-linux, wayland, xorg, }: let kernelVersion = kernel.modDirVersion; kernelDir = "${kernel.dev}/lib/modules/${kernelVersion}"; libPath = lib.concatStringsSep ":" [ "${glib.out}/lib" "${xorg.libXrandr}/lib" Loading @@ -34,6 +30,7 @@ let ]; scriptPath = lib.concatStringsSep ":" [ "${bash}/bin" "${coreutils}/bin" "${cups}/sbin" "${gawk}/bin" "${netcat}/bin" Loading @@ -43,13 +40,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "prl-tools"; version = "26.0.1-57243"; version = "26.1.1-57288"; # We download the full distribution to extract prl-tools-lin.iso from # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso src = fetchurl { url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg"; hash = "sha256-jAOP9g3JCKxOFyiDdYJvvM9ecGDbMuCARCEu4sE7Cfs="; hash = "sha256-11IyKI2oOffzSPTB65XksZI3PD9W2+0SPZIfpb0RLuU="; }; hardeningDisable = [ Loading @@ -64,11 +61,9 @@ stdenv.mkDerivation (finalAttrs: { p7zip perl undmg ] ++ kernel.moduleBuildDependencies; ]; buildInputs = [ dbus-glib fuse glib xorg.libX11 Loading @@ -77,10 +72,10 @@ stdenv.mkDerivation (finalAttrs: { xorg.libXrandr xorg.libXi xorg.libXinerama zlib ]; runtimeDependencies = [ dbus glib xorg.libXrandr ]; Loading @@ -91,36 +86,14 @@ stdenv.mkDerivation (finalAttrs: { undmg $src export sourceRoot=prl-tools-build 7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin${lib.optionalString stdenv.hostPlatform.isAarch64 "-arm"}.iso" -o$sourceRoot ( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz ) runHook postUnpack ''; buildPhase = '' runHook preBuild ( # kernel modules cd kmods make -f Makefile.kmods \ KSRC=${kernelDir}/source \ HEADERS_CHECK_DIR=${kernelDir}/source \ KERNEL_DIR=${kernelDir}/build \ SRC=${kernelDir}/build \ KVER=${kernelVersion} ) runHook postBuild ''; dontBuild = true; installPhase = '' runHook preInstall ( # kernel modules cd kmods mkdir -p $out/lib/modules/${kernelVersion}/extra cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra ) ( # tools cd tools/tools${ if stdenv.hostPlatform.isAarch64 then Loading @@ -139,6 +112,10 @@ stdenv.mkDerivation (finalAttrs: { rm -f bin/prltoolsd mv bin/prltoolsd.tmp bin/prltoolsd # replace hardcoded /usr/bin/prl_fsd substituteInPlace ../mount.fuse.prl_fsd \ --replace-fail "/usr/bin/prl_fsd" "$out/bin/prl_fsd" # install binaries for i in bin/* sbin/prl_nettool sbin/prl_snapshot; do # also patch binaries to replace /usr/bin/XXX to XXX Loading @@ -156,6 +133,7 @@ stdenv.mkDerivation (finalAttrs: { install -Dm755 $i $out/$i done install -Dm755 ../../tools/mount.fuse.prl_fsd $out/sbin/mount.fuse.prl_fsd install -Dm755 ../../tools/prlfsmountd.sh $out/sbin/prlfsmountd install -Dm755 ../../tools/prlbinfmtconfig.sh $out/sbin/prlbinfmtconfig for f in $out/bin/* $out/sbin/*; do Loading @@ -170,7 +148,7 @@ stdenv.mkDerivation (finalAttrs: { done substituteInPlace ../99prltoolsd-hibernate \ --replace "/bin/bash" "${bash}/bin/bash" --replace-fail "/bin/bash" "${bash}/bin/bash" mkdir -p $out/etc/pm/sleep.d install -Dm644 ../99prltoolsd-hibernate $out/etc/pm/sleep.d Loading
pkgs/os-specific/linux/prl-tools/update.sh→pkgs/by-name/pr/prl-tools/update.sh +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ set -eu -o pipefail nixpkgs="$(git rev-parse --show-toplevel)" path="$nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix" path="$nixpkgs/pkgs/by-name/pr/prl-tools/default.nix" # Currently this script only supports Parallels 26 # Please change the knowledge base url after each major release Loading
pkgs/top-level/linux-kernels.nix +1 −2 Original line number Diff line number Diff line Loading @@ -590,8 +590,6 @@ in netatop = callPackage ../os-specific/linux/netatop { }; prl-tools = callPackage ../os-specific/linux/prl-tools { }; isgx = callPackage ../os-specific/linux/isgx { }; rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { }; Loading Loading @@ -723,6 +721,7 @@ in system76-scheduler = lib.warnOnInstantiate "kernelPackages.system76-scheduler is now pkgs.system76-scheduler" pkgs.system76-scheduler; # Added 2024-10-16 tuxedo-keyboard = self.tuxedo-drivers; # Added 2024-09-28 phc-intel = throw "phc-intel drivers are no longer supported by any kernel >=4.17"; # added 2025-07-18 prl-tools = throw "Parallel Tools no longer provide any kernel module, please use pkgs.prl-tools instead."; # added 2025-10-04 } ); Loading