summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-10-20 00:05:50 +0000
committerGitHub <noreply@github.com>2022-10-20 00:05:50 +0000
commitd86d8a1a3d4e271db90a90c3955852fb49a56677 (patch)
tree5b39f1d597c2ebd28524ddc6844e5692e7876072 /pkgs
parentae33e7cf40bacdaf201f45e7101a0ae1fb46f856 (diff)
parentaac580f88f705cd65d47672a8bc1fac3482f9837 (diff)
downloadnixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.tar
nixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.tar.gz
nixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.tar.bz2
nixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.tar.lz
nixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.tar.xz
nixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.tar.zst
nixpkgs-d86d8a1a3d4e271db90a90c3955852fb49a56677.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/graphics/epick/default.nix27
-rw-r--r--pkgs/applications/misc/octoprint/default.nix4
-rw-r--r--pkgs/applications/networking/circumflex/default.nix30
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix120
-rw-r--r--pkgs/development/compilers/rust/binary.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix9
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/python-modules/clize/default.nix39
-rw-r--r--pkgs/development/python-modules/fastbencode/default.nix4
-rw-r--r--pkgs/development/python-modules/gdown/default.nix4
-rw-r--r--pkgs/development/python-modules/nbclassic/default.nix4
-rw-r--r--pkgs/development/python-modules/nc-dnsapi/default.nix30
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix4
-rw-r--r--pkgs/development/tools/verible/default.nix23
-rw-r--r--pkgs/development/tools/yq-go/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/games/grapejuice/default.nix4
-rw-r--r--pkgs/games/polymc/default.nix76
-rw-r--r--pkgs/games/prismlauncher/default.nix94
-rw-r--r--pkgs/servers/ldap/389/default.nix184
-rw-r--r--pkgs/servers/ldap/apache-directory-server/default.nix (renamed from pkgs/servers/apache-directory-server/default.nix)0
-rw-r--r--pkgs/servers/web-apps/freshrss/default.nix14
-rw-r--r--pkgs/servers/x11/xorg/default.nix16
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list1
-rw-r--r--pkgs/tools/admin/netplan/default.nix3
-rw-r--r--pkgs/tools/filesystems/dupe-krill/Cargo.lock339
-rw-r--r--pkgs/tools/filesystems/dupe-krill/default.nix25
-rw-r--r--pkgs/tools/misc/vtm/default.nix4
-rw-r--r--pkgs/tools/system/mac-fdisk/default.nix112
-rw-r--r--pkgs/tools/system/pdisk/default.nix88
-rw-r--r--pkgs/tools/wayland/proycon-wayout/default.nix46
-rw-r--r--pkgs/top-level/aliases.nix5
-rw-r--r--pkgs/top-level/all-packages.nix20
-rw-r--r--pkgs/top-level/python-packages.nix2
34 files changed, 1037 insertions, 316 deletions
diff --git a/pkgs/applications/graphics/epick/default.nix b/pkgs/applications/graphics/epick/default.nix
index c82f4f4d5f8..fd767e356f1 100644
--- a/pkgs/applications/graphics/epick/default.nix
+++ b/pkgs/applications/graphics/epick/default.nix
@@ -2,44 +2,47 @@
 , rustPlatform
 , fetchFromGitHub
 , stdenv
-, python3
+, pkg-config
+, expat
+, fontconfig
+, freetype
 , libGL
 , xorg
-, libxkbcommon
+, darwin
 , AppKit
-, IOKit
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "epick";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "vv9k";
     repo = pname;
     rev = version;
-    sha256 = "sha256-b4if2ggJY+8CsCX8jbnnWXy16k7sfB88CLlYYCrtltk=";
+    sha256 = "sha256-k0WQu1n1sAHVor58jr060vD5/2rDrt1k5zzJlrK9WrU=";
   };
 
-  cargoSha256 = "sha256-HyGSmeLJ+2Twkg94p1QqXZDix0mU2jGFfEot6hgUg34=";
+  cargoSha256 = "sha256-OQZPOiMTpoWabxHa3TJG8L3zq8WxMeFttw8xggSXsMA=";
 
-  nativeBuildInputs = lib.optional stdenv.isLinux python3;
+  nativeBuildInputs = lib.optionals stdenv.isLinux [
+    pkg-config
+  ];
 
   buildInputs = lib.optionals stdenv.isLinux [
-    libGL
+    expat
+    fontconfig
+    freetype
     xorg.libX11
     xorg.libXcursor
     xorg.libXi
     xorg.libXrandr
-    xorg.libxcb
-    libxkbcommon
   ] ++ lib.optionals stdenv.isDarwin [
     AppKit
-    IOKit
   ];
 
   postFixup = lib.optionalString stdenv.isLinux ''
-    patchelf --set-rpath ${lib.makeLibraryPath buildInputs} $out/bin/epick
+    patchelf $out/bin/epick --add-rpath ${lib.makeLibraryPath [ libGL ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 474bdd0b642..27c6da79906 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -74,13 +74,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.8.4";
+              version = "1.8.6";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                hash = "sha256-oYP+K7WBkYP7gajXZdbZso17u+GeyrIgEbhNjwRXbAo=";
+                hash = "sha256-DCUesPy4/g7DYN/9CDRvwAWHcv4dFsF+gsysg5UWThQ=";
               };
 
               propagatedBuildInputs = with super; [
diff --git a/pkgs/applications/networking/circumflex/default.nix b/pkgs/applications/networking/circumflex/default.nix
new file mode 100644
index 00000000000..71fe5b97b8b
--- /dev/null
+++ b/pkgs/applications/networking/circumflex/default.nix
@@ -0,0 +1,30 @@
+{ lib, less, ncurses, buildGoModule, fetchFromGitHub, makeWrapper }:
+
+buildGoModule rec {
+  pname = "circumflex";
+  version = "2.6";
+
+  src = fetchFromGitHub {
+    owner = "bensadeh";
+    repo = "circumflex";
+    rev = version;
+    hash = "sha256-pcY2PXiOazKAi8mAAbmftXDae01fcUw/u9JPOHQVclI=";
+  };
+
+  vendorHash = "sha256-rF1Hu4Pf9AF2MTx4GAPmzSn0M38uTxPS1bsAkO23SdI=";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/clx \
+      --prefix PATH : ${lib.makeBinPath [ less ncurses ]}
+  '';
+
+  meta = with lib; {
+    description = "A command line tool for browsing Hacker News in your terminal";
+    homepage = "https://github.com/bensadeh/circumflex";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ mktip ];
+    mainProgram = "clx";
+  };
+}
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index d69fddaf03f..14f7ac38d3f 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -13,35 +13,37 @@ args@{
 , bazel ? bazelPkg
 , bazelFlags ? []
 , bazelBuildFlags ? []
+, bazelTestFlags ? []
 , bazelFetchFlags ? []
 , bazelTarget
+, bazelTestTargets ? []
 , buildAttrs
 , fetchAttrs
 
-# Newer versions of Bazel are moving away from built-in rules_cc and instead
-# allow fetching it as an external dependency in a WORKSPACE file[1]. If
-# removed in the fixed-output fetch phase, building will fail to download it.
-# This can be seen e.g. in #73097
-#
-# This option allows configuring the removal of rules_cc in cases where a
-# project depends on it via an external dependency.
-#
-# [1]: https://github.com/bazelbuild/rules_cc
+  # Newer versions of Bazel are moving away from built-in rules_cc and instead
+  # allow fetching it as an external dependency in a WORKSPACE file[1]. If
+  # removed in the fixed-output fetch phase, building will fail to download it.
+  # This can be seen e.g. in #73097
+  #
+  # This option allows configuring the removal of rules_cc in cases where a
+  # project depends on it via an external dependency.
+  #
+  # [1]: https://github.com/bazelbuild/rules_cc
 , removeRulesCC ? true
 , removeLocalConfigCc ? true
 , removeLocal ? true
 
-# Use build --nobuild instead of fetch. This allows fetching the dependencies
-# required for the build as configured, rather than fetching all the dependencies
-# which may not work in some situations (e.g. Java code which ends up relying on
-# Debian-specific /usr/share/java paths, but doesn't in the configured build).
+  # Use build --nobuild instead of fetch. This allows fetching the dependencies
+  # required for the build as configured, rather than fetching all the dependencies
+  # which may not work in some situations (e.g. Java code which ends up relying on
+  # Debian-specific /usr/share/java paths, but doesn't in the configured build).
 , fetchConfigured ? true
 
-# Don’t add Bazel --copt and --linkopt from NIX_CFLAGS_COMPILE /
-# NIX_LDFLAGS. This is necessary when using a custom toolchain which
-# Bazel wants all headers / libraries to come from, like when using
-# CROSSTOOL. Weirdly, we can still get the flags through the wrapped
-# compiler.
+  # Don’t add Bazel --copt and --linkopt from NIX_CFLAGS_COMPILE /
+  # NIX_LDFLAGS. This is necessary when using a custom toolchain which
+  # Bazel wants all headers / libraries to come from, like when using
+  # CROSSTOOL. Weirdly, we can still get the flags through the wrapped
+  # compiler.
 , dontAddBazelOpts ? false
 , ...
 }:
@@ -50,13 +52,33 @@ let
   fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ];
   fBuildAttrs = fArgs // buildAttrs;
   fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
-
-in stdenv.mkDerivation (fBuildAttrs // {
-  inherit name bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget;
+  bazelCmd = { cmd, additionalFlags, targets }:
+    lib.optionalString (targets != [ ]) ''
+      # See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]
+      BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
+      USER=homeless-shelter \
+      bazel \
+        --batch \
+        --output_base="$bazelOut" \
+        --output_user_root="$bazelUserRoot" \
+        ${cmd} \
+        --curses=no \
+        -j $NIX_BUILD_CORES \
+        "''${copts[@]}" \
+        "''${host_copts[@]}" \
+        "''${linkopts[@]}" \
+        "''${host_linkopts[@]}" \
+        $bazelFlags \
+        ${lib.strings.concatStringsSep " " additionalFlags} \
+        ${lib.strings.concatStringsSep " " targets}
+    '';
+in
+stdenv.mkDerivation (fBuildAttrs // {
+  inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets;
 
   deps = stdenv.mkDerivation (fFetchAttrs // {
     name = "${name}-deps.tar.gz";
-    inherit bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget;
+    inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets;
 
     impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or [];
 
@@ -77,14 +99,7 @@ in stdenv.mkDerivation (fBuildAttrs // {
     buildPhase = fFetchAttrs.buildPhase or ''
       runHook preBuild
 
-      # Bazel computes the default value of output_user_root before parsing the
-      # flag. The computation of the default value involves getting the $USER
-      # from the environment. I don't have that variable when building with
-      # sandbox enabled. Code here
-      # https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124
-      #
-      # On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN
-
+      # See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables].
       # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads:
       # https://github.com/bazelbuild/bazel/issues/6502
       BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
@@ -97,7 +112,8 @@ in stdenv.mkDerivation (fBuildAttrs // {
         --loading_phase_threads=1 \
         $bazelFlags \
         $bazelFetchFlags \
-        $bazelTarget
+        ${bazelTarget} \
+        ${lib.strings.concatStringsSep " " bazelTestTargets}
 
       runHook postBuild
     '';
@@ -189,7 +205,7 @@ in stdenv.mkDerivation (fBuildAttrs // {
     # the wrappers are expecting will not be set. So instead of relying on the
     # wrappers picking them up, pass them in explicitly via `--copt`, `--linkopt`
     # and related flags.
-    #
+
     copts=()
     host_copts=()
     linkopts=()
@@ -209,23 +225,29 @@ in stdenv.mkDerivation (fBuildAttrs // {
       done
     fi
 
-    BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
-    USER=homeless-shelter \
-    bazel \
-      --batch \
-      --output_base="$bazelOut" \
-      --output_user_root="$bazelUserRoot" \
-      build \
-      --curses=no \
-      -j $NIX_BUILD_CORES \
-      "''${copts[@]}" \
-      "''${host_copts[@]}" \
-      "''${linkopts[@]}" \
-      "''${host_linkopts[@]}" \
-      $bazelFlags \
-      $bazelBuildFlags \
-      $bazelTarget
-
+    ${
+      bazelCmd {
+        cmd = "test";
+        additionalFlags =
+          ["--test_output=errors"] ++  bazelTestFlags;
+        targets = bazelTestTargets;
+      }
+    }
+    ${
+      bazelCmd {
+        cmd = "build";
+        additionalFlags = bazelBuildFlags;
+        targets = [bazelTarget];
+      }
+    }
     runHook postBuild
   '';
 })
+
+# [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]:
+#   Bazel computes the default value of output_user_root before parsing the
+#   flag. The computation of the default value involves getting the $USER
+#   from the environment. Code here :
+#   https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124
+#
+#   On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN.
diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix
index 6c3751cbb57..1de90cdddac 100644
--- a/pkgs/development/compilers/rust/binary.nix
+++ b/pkgs/development/compilers/rust/binary.nix
@@ -52,6 +52,12 @@ rec {
       # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
     '';
 
+    # The strip tool in cctools 973.0.1 and up appears to break rlibs in the
+    # binaries. The lib.rmeta object inside the ar archive should contain an
+    # .rmeta section, but it is removed. Luckily, this doesn't appear to be an
+    # issue for Rust builds produced by Nix.
+    dontStrip = stdenv.isDarwin;
+
     setupHooks = ./setup-hook.sh;
   };
 
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index 2ebfdb4a884..468e2ca08c6 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -299,6 +299,15 @@ self: super: ({
   # https://github.com/haskell-crypto/cryptonite/issues/360
   cryptonite = appendPatch ./patches/cryptonite-remove-argon2.patch super.cryptonite;
 
+  # Build segfaults unless `fixity-th` is disabled.
+  # https://github.com/tweag/ormolu/issues/927
+  ormolu_0_5_0_1 = overrideCabal (drv: {
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
+  }) (disableCabalFlag "fixity-th" super.ormolu_0_5_0_1);
+  fourmolu_0_8_2_0 = overrideCabal (drv: {
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
+  }) (disableCabalFlag "fixity-th" super.fourmolu_0_8_2_0);
+
 } // lib.optionalAttrs pkgs.stdenv.isx86_64 {  # x86_64-darwin
 
   # tests appear to be failing to link or something:
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 18f3fc2bf9c..b6ab49e4b4d 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -81,7 +81,9 @@ let
     "-sEXPAT_LIBPATH=${expat.out}/lib"
 
     # TODO: make this unconditional
-  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform ||
+                  # required on mips; see 61d9f201baeef4c4bb91ad8a8f5f89b747e0dfe4
+                  (stdenv.hostPlatform.isMips && versionAtLeast version "1.79")) [
     "address-model=${toString stdenv.hostPlatform.parsed.cpu.bits}"
     "architecture=${if stdenv.hostPlatform.isMips64
                     then if versionOlder version "1.78" then "mips1" else "mips"
diff --git a/pkgs/development/python-modules/clize/default.nix b/pkgs/development/python-modules/clize/default.nix
index f1e5b16320b..a78b55704ae 100644
--- a/pkgs/development/python-modules/clize/default.nix
+++ b/pkgs/development/python-modules/clize/default.nix
@@ -1,42 +1,30 @@
 { lib
+, attrs
 , buildPythonPackage
+, docutils
 , fetchPypi
-
-# build
-, setuptools
-
-# propagtes
-, sigtools
-, six
-, attrs
 , od
-, docutils
-
-# extras: datetime
-, python-dateutil
-
-# tests
 , pygments
-, unittest2
 , pytestCheckHook
+, pythonOlder
+, python-dateutil
+, setuptools
+, sigtools
+, unittest2
 }:
 
 buildPythonPackage rec {
   pname = "clize";
-  version = "4.2.1";
+  version = "5.0.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3177a028e4169d8865c79af82bdd441b24311d4bd9c0ae8803641882d340a51d";
+    hash = "sha256-/cFpEvAN/Movd38xaE53Y+D9EYg/SFyHeqtlVUo1D0I=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "docutils ~= 0.17.0" "docutils" \
-      --replace "attrs>=19.1.0,<22" "attrs>=19.1.0"
-  '';
-
   nativeBuildInputs = [
     setuptools
   ];
@@ -46,7 +34,6 @@ buildPythonPackage rec {
     docutils
     od
     sigtools
-    six
   ];
 
   passthru.optional-dependencies = {
@@ -65,7 +52,9 @@ buildPythonPackage rec {
     unittest2
   ];
 
-  pythonImportsCheck = [ "clize" ];
+  pythonImportsCheck = [
+    "clize"
+  ];
 
   meta = with lib; {
     description = "Command-line argument parsing for Python";
diff --git a/pkgs/development/python-modules/fastbencode/default.nix b/pkgs/development/python-modules/fastbencode/default.nix
index 0e91f5aaf24..039418dc3bc 100644
--- a/pkgs/development/python-modules/fastbencode/default.nix
+++ b/pkgs/development/python-modules/fastbencode/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "fastbencode";
-  version = "0.0.13";
+  version = "0.0.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jwAXWJwrybcV6CrDBlsKY/KL3xdTw016pJUZnAXmxsk=";
+    hash = "sha256-A1XfgjNV9k4iA3HYf0HlA1CvpwzFh52OaN7f6YLgU+I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gdown/default.nix b/pkgs/development/python-modules/gdown/default.nix
index 4c62e3c26f1..8e958598ab4 100644
--- a/pkgs/development/python-modules/gdown/default.nix
+++ b/pkgs/development/python-modules/gdown/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "gdown";
-  version = "4.5.2";
+  version = "4.5.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YhYzlsBJegYXOnuV/IH0feIXl//EY79GFskHmSZsYcM=";
+    hash = "sha256-bL991BCFiMc0qliBMdjh1S5k8Ic4cPcfdMusGV8MYO8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nbclassic/default.nix b/pkgs/development/python-modules/nbclassic/default.nix
index 504173ba66a..4c2007d8e37 100644
--- a/pkgs/development/python-modules/nbclassic/default.nix
+++ b/pkgs/development/python-modules/nbclassic/default.nix
@@ -5,7 +5,7 @@
 , ipykernel
 , ipython_genutils
 , jinja2
-, jupyter_client
+, jupyter-client
 , jupyter_core
 , jupyter_server
 , nbconvert
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     ipykernel
     ipython_genutils
     jinja2
-    jupyter_client
+    jupyter-client
     jupyter_core
     jupyter_server
     nbconvert
diff --git a/pkgs/development/python-modules/nc-dnsapi/default.nix b/pkgs/development/python-modules/nc-dnsapi/default.nix
new file mode 100644
index 00000000000..79838120f61
--- /dev/null
+++ b/pkgs/development/python-modules/nc-dnsapi/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "nc-dnsapi";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "nc_dnsapi";
+    hash = "sha256-1fvzr3e0ZAbSDOovhLz5GHJCS6l+K89fbYHoaWxO9cA=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  pythonImportsCheck = [ "nc_dnsapi" ];
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "API wrapper for the netcup DNS api";
+    homepage = "https://github.com/nbuchwitz/nc_dnsapi";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ veehaitch trundle ];
+  };
+}
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 43faf4cec9a..e2561214bd4 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "12.3.3";
+  version = "12.6.1";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XhlBBHGndvZQEixYWqS/eBB/l7+l0+V63TeIKkVWreI=";
+    sha256 = "sha256-09MLV6t062fT3P7G1pgJedzLLLuXoP+I/95WadMYLSw=";
   };
 
   vendorSha256 = "sha256-OrtKFkWXqVoXKmN6BT8YbCNjR1gRTT4gPNwmirn7fjU=";
diff --git a/pkgs/development/tools/verible/default.nix b/pkgs/development/tools/verible/default.nix
index 6763638cab7..dc2d015a46f 100644
--- a/pkgs/development/tools/verible/default.nix
+++ b/pkgs/development/tools/verible/default.nix
@@ -31,11 +31,15 @@ buildBazelPackage rec {
     ./remove-unused-deps.patch
   ];
 
-  bazelFlags = [ "--//bazel:use_local_flex_bison" ];
+  bazelFlags = [
+    "--//bazel:use_local_flex_bison"
+    "--javabase=@bazel_tools//tools/jdk:remote_jdk11"
+    "--host_javabase=@bazel_tools//tools/jdk:remote_jdk11"
+  ];
 
   fetchAttrs = {
     # Fixed output derivation hash after bazel fetch
-    sha256 = "sha256-XoLdlEeoDJlyWlnXZADHOKu06zKHgHJfgey8UhOt+LM=";
+    sha256 = "sha256-45PINJ7VtL5Jl/nAQNkiSCt8wUwtytNfgeNMZaz3Y9U=";
   };
 
   nativeBuildInputs = [
@@ -45,14 +49,23 @@ buildBazelPackage rec {
   ];
 
   postPatch = ''
-    patchShebangs bazel/build-version.py \
-      common/util/create_version_header.sh \
+    patchShebangs\
+      bazel/build-version.py \
+      bazel/sh_test_with_runfiles_lib.sh \
+      common/lsp/dummy-ls_test.sh \
       common/parser/move_yacc_stack_symbols.sh \
-      common/parser/record_syntax_error.sh
+      common/parser/record_syntax_error.sh \
+      common/tools/patch_tool_test.sh \
+      common/tools/verible-transform-interactive.sh \
+      common/tools/verible-transform-interactive-test.sh \
+      common/util/create_version_header.sh \
+      kythe-browse.sh \
+      verilog/tools
   '';
 
   removeRulesCC = false;
   bazelTarget = ":install-binaries";
+  bazelTestTargets = [ "//..." ];
   bazelBuildFlags = [
     "-c opt"
   ];
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index b3e4d97de7a..795147640ab 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.28.1";
+  version = "4.28.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-GWEsS5RTwz0VVLRAvHPJk0BPo50RB0CeyIS6fne9GoU=";
+    sha256 = "sha256-wLb7M/M/t6CCpjTyhMMDODaQUp1t6gbQaCY+JPBi/4Q=";
   };
 
-  vendorSha256 = "sha256-4J/Qz5JN8UUdwa3/Io2/o4Y01eFK9zOcNAZkndzI178=";
+  vendorSha256 = "sha256-5GHkl9bwzf0ZUQXjhDPke4Fm7ffH+GqbTXC1Qd71B7M=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 9bedd1648a1..99dcd990964 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.414";
+  version = "0.0.415";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-jGza1ltDGRD3mfFYy8GN3T3t5blIVqRVN25m0CN0c78=";
+    sha256 = "sha256-pw8LDp4uuU0J1HFEBdntROcyJUR8mBId5Xwm/5w9F04=";
   };
 
-  vendorSha256 = "sha256-ZnT9IaL6j2EzKk2RRftB4qELIi4nXKC/2zBOhInFYHA=";
+  vendorSha256 = "sha256-AlPdKUNscp71GttiLfPJf8rs/72Ff0CELDSSHcfY/4g=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/games/grapejuice/default.nix b/pkgs/games/grapejuice/default.nix
index 8f621ff7fe4..f58596fccc1 100644
--- a/pkgs/games/grapejuice/default.nix
+++ b/pkgs/games/grapejuice/default.nix
@@ -18,13 +18,13 @@
 
 python3Packages.buildPythonApplication rec  {
   pname = "grapejuice";
-  version = "5.5.4";
+  version = "6.2.2";
 
   src = fetchFromGitLab {
     owner = "BrinkerVII";
     repo = "grapejuice";
     rev = "v${version}";
-    sha256 = "sha256-y4J0589FgNahRmoPkVtHYtc6/OIfUi9bhz6BZrSeWVI=";
+    sha256 = "sha256-wwM3q8Z4bYZod7/KcGc/PXlyLQxLRPkF1TdtFcg8mNE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix
deleted file mode 100644
index 53c1647aa99..00000000000
--- a/pkgs/games/polymc/default.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, jdk8
-, jdk
-, zlib
-, file
-, wrapQtAppsHook
-, xorg
-, libpulseaudio
-, qtbase
-, libGL
-, quazip
-, glfw
-, openal
-, msaClientID ? ""
-, jdks ? [ jdk jdk8 ]
-, extra-cmake-modules
-}:
-
-stdenv.mkDerivation rec {
-  pname = "polymc";
-  version = "1.4.2";
-
-  src = fetchFromGitHub {
-    owner = "PolyMC";
-    repo = "PolyMC";
-    rev = version;
-    sha256 = "sha256-mqLk7ZcSrtvlUziNUCtnH7xQplXBruuiuN2b1+VX1ng=";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ extra-cmake-modules cmake file jdk wrapQtAppsHook ];
-  buildInputs = [ qtbase zlib quazip ];
-
-  cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
-
-  dontWrapQtApps = true;
-
-  postInstall = let
-    libpath = with xorg; lib.makeLibraryPath [
-      libX11
-      libXext
-      libXcursor
-      libXrandr
-      libXxf86vm
-      libpulseaudio
-      libGL
-      glfw
-      openal
-      stdenv.cc.cc.lib
-    ];
-  in ''
-    # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
-    wrapQtApp $out/bin/polymc \
-      --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
-      --prefix POLYMC_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
-      --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
-  '';
-
-  meta = with lib; {
-    homepage = "https://polymc.org/";
-    description = "A free, open source launcher for Minecraft";
-    longDescription = ''
-      Allows you to have multiple, separate instances of Minecraft (each with
-      their own mods, texture packs, saves, etc) and helps you manage them and
-      their associated options with a simple interface.
-    '';
-    platforms = platforms.linux;
-    changelog = "https://github.com/PolyMC/PolyMC/releases/tag/${version}";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ cleverca22 starcraft66 ];
-    knownVulnerabilities = [ "OVE-20221017-0001" ];
-  };
-}
diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix
new file mode 100644
index 00000000000..a7797861f30
--- /dev/null
+++ b/pkgs/games/prismlauncher/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, jdk8
+, jdk
+, zlib
+, file
+, wrapQtAppsHook
+, xorg
+, libpulseaudio
+, qtbase
+, libGL
+, quazip
+, glfw
+, openal
+, extra-cmake-modules
+, tomlplusplus
+, ghc_filesystem
+, msaClientID ? ""
+, jdks ? [ jdk jdk8 ]
+,
+}:
+let
+  libnbtplusplus = fetchFromGitHub {
+    owner = "PrismLauncher";
+    repo = "libnbtplusplus";
+    rev = "2203af7eeb48c45398139b583615134efd8d407f";
+    sha256 = "sha256-TvVOjkUobYJD9itQYueELJX3wmecvEdCbJ0FinW2mL4=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "prismlauncher";
+  version = "5.0";
+
+  src = fetchFromGitHub {
+    owner = "PrismLauncher";
+    repo = "PrismLauncher";
+    rev = version;
+    sha256 = "sha256-oN+DpJ08N/ar5wLAahgpBV9DeHtMTwSrE7uOwT3A+Yo=";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules ghc_filesystem cmake file jdk wrapQtAppsHook ];
+  buildInputs = [ qtbase zlib quazip tomlplusplus ];
+
+  cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
+  dontWrapQtApps = true;
+
+  postUnpack = ''
+    rm -rf source/libraries/libnbtplusplus
+    mkdir source/libraries/libnbtplusplus
+    ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus
+    chmod -R +r+w source/libraries/libnbtplusplus
+    chown -R $USER: source/libraries/libnbtplusplus
+  '';
+
+  postInstall =
+    let
+      libpath = with xorg;
+        lib.makeLibraryPath [
+          libX11
+          libXext
+          libXcursor
+          libXrandr
+          libXxf86vm
+          libpulseaudio
+          libGL
+          glfw
+          openal
+          stdenv.cc.cc.lib
+        ];
+    in
+    ''
+      # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
+      wrapQtApp $out/bin/prismlauncher \
+        --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
+        --prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
+        --prefix PATH : ${lib.makeBinPath [xorg.xrandr]}
+    '';
+
+  meta = with lib; {
+    homepage = "https://prismlauncher.org/";
+    description = "A free, open source launcher for Minecraft";
+    longDescription = ''
+      Allows you to have multiple, separate instances of Minecraft (each with
+      their own mods, texture packs, saves, etc) and helps you manage them and
+      their associated options with a simple interface.
+    '';
+    platforms = platforms.linux;
+    changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ minion3665 Scrumplex ];
+  };
+}
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index 438d7d0e630..8a3e91bf030 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -1,144 +1,121 @@
-{ stdenv
-, autoreconfHook
+{ lib
+, stdenv
 , fetchFromGitHub
-, lib
-
-, bzip2
-, cmocka
+, autoconf
+, automake
+, libtool
+, pkg-config
 , cracklib
-, cyrus_sasl
-, db
-, doxygen
-, icu
+, lmdb
+, json_c
+, linux-pam
 , libevent
-, libkrb5
-, lm_sensors
-, net-snmp
 , nspr
 , nss
 , openldap
-, openssl
-, pcre
-, perl
-, perlPackages
-, pkg-config
+, withOpenldap ? true
+, db
+, withBdb ? true
+, cyrus_sasl
+, icu
+, net-snmp
+, withNetSnmp ? true
+, krb5
+, pcre2
 , python3
-, svrcore
+, rustPlatform
+, openssl
+, systemd
+, withSystemd ? stdenv.isLinux
 , zlib
-
-, enablePamPassthru ? true
-, pam
-
-, enableCockpit ? true
 , rsync
-
-, enableDna ? true
-, enableLdapi ? true
-, enableAutobind ? false
-, enableAutoDnSuffix ? false
-, enableBitwise ? true
-, enableAcctPolicy ? true
-, enablePosixWinsync ? true
+, withCockpit ? true
+, withAsan ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "389-ds-base";
-  version = "2.0.7";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "389ds";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-aM1qo+yHrCFespPWHv2f25ooqQVCIZGaZS43dY6kiC4=";
+    sha256 = "sha256-GnntF0UaufDrgcM6FFFdwxwVoU9Hu2NXTW1A2lTb6T4=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config doxygen ];
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    sourceRoot = "source/src";
+    name = "${pname}-${version}";
+    hash = "sha256-OJXvNL7STNwvt6EiV2r8zv2ZoUGgNUj7UssAQNLN4KI=";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
+    pkg-config
+    python3
+    rustPlatform.rust.cargo
+    rustPlatform.rust.rustc
+  ]
+  ++ lib.optional withCockpit rsync;
 
   buildInputs = [
-    bzip2
     cracklib
-    cyrus_sasl
-    db
-    icu
+    lmdb
+    json_c
+    linux-pam
     libevent
-    libkrb5
-    lm_sensors
-    net-snmp
     nspr
     nss
-    openldap
+    cyrus_sasl
+    icu
+    krb5
+    pcre2
     openssl
-    pcre
-    perl
-    python3
-    svrcore
     zlib
-
-    # tests
-    cmocka
-    libevent
-
-    # lib389
-    (python3.withPackages (ps: with ps; [
-      setuptools
-      python-ldap
-      six
-      pyasn1
-      pyasn1-modules
-      python-dateutil
-      argcomplete
-      libselinux
-    ]))
-
-    # logconv.pl
-    perlPackages.DBFile
-    perlPackages.ArchiveTar
   ]
-  ++ lib.optional enableCockpit rsync
-  ++ lib.optional enablePamPassthru pam;
+  ++ lib.optional withSystemd systemd
+  ++ lib.optional withOpenldap openldap
+  ++ lib.optional withBdb db
+  ++ lib.optional withNetSnmp net-snmp;
 
   postPatch = ''
-    substituteInPlace Makefile.am \
-      --replace 's,@perlpath\@,$(perldir),g' 's,@perlpath\@,$(perldir) $(PERLPATH),g'
-
     patchShebangs ./buildnum.py ./ldap/servers/slapd/mkDBErrStrs.py
   '';
 
   preConfigure = ''
-    # Create perl paths for library imports in perl scripts
-    PERLPATH=""
-    for P in $(echo $PERL5LIB | sed 's/:/ /g'); do
-      PERLPATH="$PERLPATH $(echo $P/*/*)"
-    done
-    export PERLPATH
+    ./autogen.sh --prefix="$out"
   '';
 
-  configureFlags =
-    let
-      mkEnable = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
-    in
-    [
-      "--enable-cmocka"
-      "--localstatedir=/var"
-      "--sysconfdir=/etc"
-      "--with-db-inc=${db.dev}/include"
-      "--with-db-lib=${db.out}/lib"
-      "--with-db=yes"
-      "--with-netsnmp-inc=${lib.getDev net-snmp}/include"
-      "--with-netsnmp-lib=${lib.getLib net-snmp}/lib"
-      "--with-netsnmp=yes"
-      "--with-openldap"
+  preBuild = ''
+    mkdir -p ./vendor
+    tar -xzf ${cargoDeps} -C ./vendor --strip-components=1
+  '';
 
-      "${mkEnable enableCockpit "cockpit"}"
-      "${mkEnable enablePamPassthru "pam-passthru"}"
-      "${mkEnable enableDna "dna"}"
-      "${mkEnable enableLdapi "ldapi"}"
-      "${mkEnable enableAutobind "autobind"}"
-      "${mkEnable enableAutoDnSuffix "auto-dn-suffix"}"
-      "${mkEnable enableBitwise "bitwise"}"
-      "${mkEnable enableAcctPolicy "acctpolicy"}"
-      "${mkEnable enablePosixWinsync "posix-winsync"}"
-    ];
+  configureFlags = [
+    "--enable-rust-offline"
+    "--enable-autobind"
+  ]
+  ++ lib.optionals withSystemd [
+    "--with-systemd"
+    "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+  ] ++ lib.optionals withOpenldap [
+    "--with-openldap"
+  ] ++ lib.optionals withBdb [
+    "--with-db-inc=${lib.getDev db}/include"
+    "--with-db-lib=${lib.getLib db}/lib"
+  ] ++ lib.optionals withNetSnmp [
+    "--with-netsnmp-inc=${lib.getDev net-snmp}/include"
+    "--with-netsnmp-lib=${lib.getLib net-snmp}/lib"
+  ] ++ lib.optionals (!withCockpit) [
+    "--disable-cockpit"
+  ] ++ lib.optionals withAsan [
+    "--enable-asan"
+    "--enable-debug"
+  ];
 
   enableParallelBuilding = true;
 
@@ -156,5 +133,6 @@ stdenv.mkDerivation rec {
     description = "Enterprise-class Open Source LDAP server for Linux";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    maintainers = [ maintainers.ners ];
   };
 }
diff --git a/pkgs/servers/apache-directory-server/default.nix b/pkgs/servers/ldap/apache-directory-server/default.nix
index 7008e0e40d2..7008e0e40d2 100644
--- a/pkgs/servers/apache-directory-server/default.nix
+++ b/pkgs/servers/ldap/apache-directory-server/default.nix
diff --git a/pkgs/servers/web-apps/freshrss/default.nix b/pkgs/servers/web-apps/freshrss/default.nix
index c627ae4d169..dd2de486b88 100644
--- a/pkgs/servers/web-apps/freshrss/default.nix
+++ b/pkgs/servers/web-apps/freshrss/default.nix
@@ -1,4 +1,10 @@
-{ stdenvNoCC, lib, fetchFromGitHub, nixosTests, pkgs }:
+{ stdenvNoCC
+, lib
+, fetchFromGitHub
+, nixosTests
+, php
+, pkgs
+}:
 
 stdenvNoCC.mkDerivation rec {
   pname = "FreshRSS";
@@ -13,6 +19,8 @@ stdenvNoCC.mkDerivation rec {
 
   passthru.tests = nixosTests.freshrss;
 
+  buildInputs = [ php ];
+
   # There's nothing to build.
   dontBuild = true;
 
@@ -22,6 +30,10 @@ stdenvNoCC.mkDerivation rec {
       define('DATA_PATH', getenv('FRESHRSS_DATA_PATH'));
   '';
 
+  postPatch = ''
+    patchShebangs cli/*.php app/actualize_script.php
+  '';
+
   installPhase = ''
     mkdir -p $out
     cp -vr * $out/
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 048e44a4b00..2449ca6c245 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -936,22 +936,6 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
-  libXaw3d = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXext, libXmu, libXpm, xorgproto, libXt }: stdenv.mkDerivation {
-    pname = "libXaw3d";
-    version = "1.6.3";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = "mirror://xorg/individual/lib/libXaw3d-1.6.3.tar.bz2";
-      sha256 = "0i653s8g25cc0mimkwid9366bqkbyhdyjhckx7bw77j20hzrkfid";
-    };
-    hardeningDisable = [ "bindnow" "relro" ];
-    strictDeps = true;
-    nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libX11 libXext libXmu libXpm xorgproto libXt ];
-    meta.platforms = lib.platforms.unix;
-  }) {};
-
-  # THIS IS A GENERATED FILE.  DO NOT EDIT!
   libXcomposite = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11, libXfixes }: stdenv.mkDerivation {
     pname = "libXcomposite";
     version = "0.4.5";
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index 3a3432be8d1..6e11417f8f5 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -177,7 +177,6 @@ mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libX11-1.8.1.tar.xz
 mirror://xorg/individual/lib/libXau-1.0.9.tar.bz2
 mirror://xorg/individual/lib/libXaw-1.0.14.tar.bz2
-mirror://xorg/individual/lib/libXaw3d-1.6.3.tar.bz2
 mirror://xorg/individual/lib/libxcb-1.14.tar.xz
 mirror://xorg/individual/lib/libXcomposite-0.4.5.tar.bz2
 mirror://xorg/individual/lib/libXcursor-1.2.0.tar.bz2
diff --git a/pkgs/tools/admin/netplan/default.nix b/pkgs/tools/admin/netplan/default.nix
index 39cffeaf202..1c075fc75b3 100644
--- a/pkgs/tools/admin/netplan/default.nix
+++ b/pkgs/tools/admin/netplan/default.nix
@@ -45,7 +45,8 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile \
       --replace 'SYSTEMD_GENERATOR_DIR=' 'SYSTEMD_GENERATOR_DIR ?= ' \
       --replace 'SYSTEMD_UNIT_DIR=' 'SYSTEMD_UNIT_DIR ?= ' \
-      --replace 'BASH_COMPLETIONS_DIR=' 'BASH_COMPLETIONS_DIR ?= '
+      --replace 'BASH_COMPLETIONS_DIR=' 'BASH_COMPLETIONS_DIR ?= ' \
+      --replace 'pkg-config' '$(PKG_CONFIG)'
 
     # from upstream https://github.com/canonical/netplan/blob/ee0d5df7b1dfbc3197865f02c724204b955e0e58/rpm/netplan.spec#L81
     sed -e "s/-Werror//g" -i Makefile
diff --git a/pkgs/tools/filesystems/dupe-krill/Cargo.lock b/pkgs/tools/filesystems/dupe-krill/Cargo.lock
new file mode 100644
index 00000000000..98c3d7157a1
--- /dev/null
+++ b/pkgs/tools/filesystems/dupe-krill/Cargo.lock
@@ -0,0 +1,339 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "arrayref"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "blake3"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "cc",
+ "cfg-if",
+ "constant_time_eq",
+ "digest",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "constant_time_eq"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "ctrlc"
+version = "3.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d91974fbbe88ec1df0c24a4f00f99583667a7e2e6272b2b92d294d81e462173"
+dependencies = [
+ "nix",
+ "winapi",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "dupe-krill"
+version = "1.4.8"
+dependencies = [
+ "blake3",
+ "ctrlc",
+ "getopts",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "smallvec",
+ "tempdir",
+]
+
+[[package]]
+name = "fuchsia-cprng"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+
+[[package]]
+name = "libc"
+version = "0.2.135"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
+
+[[package]]
+name = "nix"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb"
+dependencies = [
+ "autocfg",
+ "bitflags",
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+dependencies = [
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.3.1",
+ "rdrand",
+ "winapi",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+dependencies = [
+ "rand_core 0.4.2",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+[[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "serde"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
+
+[[package]]
+name = "serde_derive"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.102"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempdir"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
+dependencies = [
+ "rand",
+ "remove_dir_all",
+]
+
+[[package]]
+name = "typenum"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/tools/filesystems/dupe-krill/default.nix b/pkgs/tools/filesystems/dupe-krill/default.nix
new file mode 100644
index 00000000000..b28aaadca90
--- /dev/null
+++ b/pkgs/tools/filesystems/dupe-krill/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform, runCommand }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dupe-krill";
+  version = "1.4.8";
+
+  src = fetchFromGitHub {
+    owner = "kornelski";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-2fT9bw5LgJUQ0tm1T/vV5SaDjNH0OGKt7QUQLd7nmOs=";
+    postFetch = ''
+      cp ${./Cargo.lock} $out/Cargo.lock
+    '';
+  };
+
+  cargoSha256 = "sha256-JUcIDUVzSLzblb2EbmSfuCAB+S0fyW6wpGF0b/xR+b0=";
+
+  meta = with lib; {
+    description = " A fast file deduplicator.";
+    homepage = "https://github.com/kornelski/dupe-krill";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ urbas ];
+  };
+}
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index 756c474716d..e7bb344b71f 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vtm";
-  version = "0.9.3";
+  version = "0.9.6a";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${version}";
-    sha256 = "sha256-m22Bj/Zj72OMZgmmX4cIuhb0JO/K9FopvXi9V9cMqDg=";
+    sha256 = "sha256-rl/QktX8pUbfTpqNCqNrAYM/N+CaAAo8+5RRCmOr7H8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/system/mac-fdisk/default.nix b/pkgs/tools/system/mac-fdisk/default.nix
new file mode 100644
index 00000000000..292b77d2d2c
--- /dev/null
+++ b/pkgs/tools/system/mac-fdisk/default.nix
@@ -0,0 +1,112 @@
+{ stdenv
+, lib
+, fetchzip
+, fetchpatch
+, installShellFiles
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mac-fdisk";
+  version = "0.1.16";
+
+  src = fetchzip {
+    url = "https://deb.debian.org/debian/pool/main/m/mac-fdisk/mac-fdisk_0.1.orig.tar.gz";
+    sha256 = "sha256-pYNyhPvRKdIje0Rpay0OzmrkGcl+/JOhMv7r+2LZk/Q=";
+  };
+
+  patches = [
+    # Debian's changeset, extracted into a patch
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1b708c8a90e3548c4954c6367a9376f76f3746bd/user/mac-fdisk/mac-fdisk-0.1-debian.patch";
+      sha256 = "sha256-a9pGF+UsFeZiXgracmT4anqgpmcGcS/W3jGtFzHZtt4=";
+    })
+    # Include a lot more headers and remove a bunch of braindead __linux__ checks
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-0.1-headers.patch";
+      sha256 = "sha256-FIk9K+lP+3e1pgmNfymTdpdSoTpBDv29kmwYgqYwWQw=";
+    })
+    # Add support for more architectures
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1b708c8a90e3548c4954c6367a9376f76f3746bd/user/mac-fdisk/mac-fdisk-0.1-more-arches.patch";
+      sha256 = "sha256-HNRmzETUmKfZQFrjg6Y/HPwUnLk0vO5DokfU4umdOm0=";
+    })
+    # From p16 (source?), adjusts some types & fixes PPC64 support
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-0.1_p16-ppc64.patch";
+      sha256 = "sha256-GK0nfga59nOXotkbKI+2ejA9TtyZUwDIxuXWFGGbeFg=";
+    })
+    # From p16 (source?), makes some inlines static
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-0.1_p16-proper-inline.patch";
+      sha256 = "sha256-wr2teKpm0FyqNudKYlTD49pTFDis33Fo+0LULNYIJko=";
+    })
+    # Adds x86_64 support
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1b708c8a90e3548c4954c6367a9376f76f3746bd/user/mac-fdisk/mac-fdisk-amd64.patch";
+      sha256 = "sha256-iO4/sY5sGKQyymMmAOb/TlCc9id2qgEDw7E8pFZpsHI=";
+    })
+    # Fix missing header in fdisk.c on musl
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-fdisk-header-musl.patch";
+      sha256 = "sha256-mKBVjvLKtxKPADeoPqp17YdJ1QWj2enAYhKKSqTnQ44=";
+    })
+    # Support disks >550GB
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-large-disk-support.patch";
+      sha256 = "sha256-IXZZdozqZKyZEz87ZzB8Jof22GgvHf4GaXBqSKn8su8=";
+    })
+    # Enable Large File Support (>2GiB)
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-largerthan2gb.patch";
+      sha256 = "sha256-ATK7QYXV7BOk8iIFeXY8g+ZHLuuhww9pcrqOMDn/oLM=";
+    })
+    # Fix compilation on non-glibc
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/1fa4c88ee21866eeb0feae8f6b0bf609a04711cc/user/mac-fdisk/mac-fdisk-non-glibc-support.patch";
+      sha256 = "sha256-CBZUKf7dPvvpuG5L+SI1FQ4W7/fDgeKXHUMFkJNu/MY=";
+    })
+    # Flush stdout after printing prompt for better UX
+    (fetchpatch {
+      url = "https://git.adelielinux.org/adelie/packages/-/raw/656ae6bf9f8a64aee95c4797b20bfe713627f1f4/user/mac-fdisk/flush-stdout.patch";
+      sha256 = "sha256-k7+UPiUf/oCQdDhxDcC+FRwkxS89WSsYzFw6fUB/10I=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+
+  hardeningDisable = [ "format" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 pdisk $out/sbin/mac-fdisk
+    install -Dm755 fdisk $out/sbin/pmac-fdisk
+
+    for manpage in {,p}mac-fdisk.8; do
+      mv "$manpage".in $manpage
+      installManPage $manpage
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "68K and PowerPC Mac disk partitioning utility, Adélie Linux version";
+    # http://ftp.mklinux.apple.com:/pub/Other_Tools/ but that one's looong dead, link goes to the patch compilation we're using
+    homepage = "https://git.adelielinux.org/adelie/packages/-/tree/master/user/mac-fdisk";
+    license = with licenses; [
+      hpnd # original license statements seems to match this (in files that are shared with pdisk)
+      gpl1Plus # fdisk.c
+    ];
+    maintainers = with maintainers; [ OPNA2608 ];
+    # the toolchain that's being expected for Mac support (SCSI.h from Universal Headers 2.0, SIOUX.h from Metrowerks CoreWarrior) is ancient, unsure about BSDs
+    platforms = platforms.linux;
+    badPlatforms = platforms.aarch64; # missing some platform definitions
+  };
+}
diff --git a/pkgs/tools/system/pdisk/default.nix b/pkgs/tools/system/pdisk/default.nix
new file mode 100644
index 00000000000..87fc683063c
--- /dev/null
+++ b/pkgs/tools/system/pdisk/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, lib
+, fetchzip
+, fetchpatch
+, installShellFiles
+, libbsd
+, CoreFoundation
+, IOKit
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pdisk";
+  version = "0.9";
+
+  src = fetchzip {
+    url = "https://opensource.apple.com/tarballs/pdisk/pdisk-${lib.versions.minor version}.tar.gz";
+    sha256 = "sha256-+gBgnk/1juEHE0nXaz7laUaH7sxrX5SzsLGr0PHsdHs=";
+  };
+
+  patches = [
+    # Fix makefile for Unix
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/makefile.patch?h=pdisk&id=39dc371712d2f7dbd38f6e8ddc6ba661faa1a7a9";
+      sha256 = "sha256-mLFclu8IlDN/gxNTI7Kei6ARketlAhJRu8ForFUzFU0=";
+    })
+    # Fix lseek usage in file_media.c
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/file_media.c.patch?h=pdisk&id=39dc371712d2f7dbd38f6e8ddc6ba661faa1a7a9";
+      sha256 = "sha256-CCq5fApwx6w1GKDrgP+0nUdQy/5z5ON7/fdp4M63nko=";
+    })
+    # Fix open_partition_map call in cvt_pt.c
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/cvt_pt.c.patch?h=pdisk&id=39dc371712d2f7dbd38f6e8ddc6ba661faa1a7a9";
+      sha256 = "sha256-jScPfzt9/fQHkf2MfHLvYsh/Rw2NZZXkzZiiVo8F5Mc=";
+    })
+    # Replace removed sys_nerr and sys_errlist with strerror
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/linux_strerror.patch?h=pdisk&id=&id=d0c930ea8bcac008bbd0ade1811133a625caea54";
+      sha256 = "sha256-HGJIS+vTn6456KtaETutIgTPPBm2C9OHf1anG8yaJPo=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace makefile \
+      --replace 'cc' '${stdenv.cc.targetPrefix}cc'
+  '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+    substituteInPlace makefile \
+      --replace '-lbsd' '-framework CoreFoundation -framework IOKit'
+  '';
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
+    libbsd
+  ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
+    CoreFoundation
+    IOKit
+  ];
+
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 cvt_pt $out/bin/cvt_pt
+    install -Dm755 pdisk $out/bin/pdisk
+
+    installManPage pdisk.8
+    install -Dm644 pdisk.html $out/share/doc/pdisk/pdisk.html
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A low-level Apple partition table editor for Linux, OSS Apple version";
+    homepage = "https://github.com/apple-oss-distributions/pdisk";
+    license = with licenses; [
+      hpnd # original license statements seems to match this (in files that are shared with mac-fdisk)
+      apsl10 # new files
+    ];
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/wayland/proycon-wayout/default.nix b/pkgs/tools/wayland/proycon-wayout/default.nix
new file mode 100644
index 00000000000..2b4dc0f54e4
--- /dev/null
+++ b/pkgs/tools/wayland/proycon-wayout/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, lib
+, fetchFromSourcehut
+, meson
+, wayland-protocols
+, wayland
+, cairo
+, pango
+, scdoc
+, ninja
+, cmake
+, pkg-config
+, wayland-scanner
+}:
+
+stdenv.mkDerivation rec {
+  pname = "proycon-wayout";
+  version = "0.1.3";
+
+  src = fetchFromSourcehut {
+    owner = "~proycon";
+    repo = "wayout";
+    rev = version;
+    sha256 = "sha256-pxHz8y63xX9I425OG0jPvQVx4mAbTYHxVMMkfjZpURo=";
+  };
+
+  postPatch = ''
+    substituteInPlace meson.build --replace "'werror=true'," "" # Build fails with -Werror, remove
+  '';
+
+  postFixup = ''
+    mv $out/bin/wayout $out/bin/proycon-wayout # Avoid conflict with shinyzenith/wayout
+  '';
+
+  depsBuildBuild = [ pkg-config ];
+  nativeBuildInputs = [ scdoc ninja meson cmake pkg-config wayland-scanner ];
+  buildInputs = [ wayland-protocols wayland cairo pango ];
+
+  meta = with lib; {
+    description = "Takes text from standard input and outputs it to a desktop-widget on Wayland desktops.";
+    homepage = "https://git.sr.ht/~proycon/wayout";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wentam ];
+  };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index a98681223f8..79f0cfbffe6 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -934,7 +934,7 @@ mapAliases ({
   mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
   mqtt-bench = throw "mqtt-bench has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
   msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
-  multimc = throw "multimc was removed from nixpkgs; use polymc instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
+  multimc = throw "multimc was removed from nixpkgs; use prismlauncher instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
   mumble_git = pkgs.mumble; # Added 2019-08-01
   murmur_git = pkgs.murmur; # Added 2019-08-01
   mutt-with-sidebar = mutt; # Added 2022-09-17
@@ -946,7 +946,7 @@ mapAliases ({
   mesa_drivers = mesa.drivers;
   mesa_noglu = throw "'mesa_noglu' has been renamed to/replaced by 'mesa'"; # Converted to throw 2022-02-22
 
-  mpv-with-scripts = self.wrapMpv self.mpv-unwrapped { }; # Added 2020-05-22
+  mpv-with-scripts = throw "'mpv-with-scripts' has been renamed to/replaced by 'mpv' or with 'mpv.override { scripts = [ mpvScripts.plugin-name ]; }' if you where using plugins."; # Converted to throw 2022-09-24
   mssys = throw "'mssys' has been renamed to/replaced by 'ms-sys'"; # Converted to throw 2022-02-22
   multipath_tools = throw "'multipath_tools' has been renamed to/replaced by 'multipath-tools'"; # Converted to throw 2022-02-22
   mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # Added 2021-11-18
@@ -1151,6 +1151,7 @@ mapAliases ({
   pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
   pocketsphinx = throw "pocketsphinx has been removed: unmaintained"; # Added 2022-04-24
   polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
+  polymc = throw "PolyMC has been removed from nixpkgs due to a hostile takeover by a rogue maintainer. The rest of the maintainers have made a fork which is packaged as 'prismlauncher'"; # Added 2022-10-18
   polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
   pond = throw "pond has been dropped due to the lack of maintanence from upstream since 2016"; # Added 2022-06-02
   poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 45525d6c5c4..de4b7a10550 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -324,6 +324,8 @@ with pkgs;
 
   cfn-nag = callPackage ../development/tools/cfn-nag { };
 
+  circumflex = callPackage ../applications/networking/circumflex { };
+
   cxx-rs = callPackage ../development/libraries/cxx-rs { };
 
   elfcat = callPackage ../tools/misc/elfcat { };
@@ -1377,6 +1379,8 @@ with pkgs;
 
   pferd = callPackage ../tools/misc/pferd {};
 
+  proycon-wayout = callPackage ../tools/wayland/proycon-wayout {};
+
   q = callPackage ../tools/networking/q {};
 
   qFlipper = libsForQt515.callPackage ../tools/misc/qflipper { };
@@ -5969,6 +5973,8 @@ with pkgs;
 
   duo-unix = callPackage ../tools/security/duo-unix { };
 
+  dupe-krill = callPackage ../tools/filesystems/dupe-krill { };
+
   duplicacy = callPackage ../tools/backup/duplicacy { };
 
   duplicati = callPackage ../tools/backup/duplicati { };
@@ -7538,10 +7544,16 @@ with pkgs;
 
   lucky-cli = callPackage ../development/web/lucky-cli { };
 
+  mac-fdisk = callPackage ../tools/system/mac-fdisk { };
+
   partclone = callPackage ../tools/backup/partclone { };
 
   partimage = callPackage ../tools/backup/partimage { };
 
+  pdisk = callPackage ../tools/system/pdisk {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation IOKit;
+  };
+
   pgf_graphics = callPackage ../tools/graphics/pgf { };
 
   pgformatter = callPackage ../development/tools/pgformatter { };
@@ -23095,6 +23107,8 @@ with pkgs;
 
   alps = callPackage ../servers/alps { };
 
+  apache-directory-server = callPackage ../servers/ldap/apache-directory-server {};
+
   apacheHttpd_2_4 = callPackage ../servers/http/apache-httpd/2.4.nix { };
   apacheHttpd = apacheHttpd_2_4;
 
@@ -27000,8 +27014,6 @@ with pkgs;
 
   ao = libfive;
 
-  apache-directory-server = callPackage ../servers/apache-directory-server {};
-
   apache-directory-studio = callPackage ../applications/networking/apache-directory-studio {};
 
   apkeep = callPackage ../tools/misc/apkeep {
@@ -27903,7 +27915,7 @@ with pkgs;
   epic5 = callPackage ../applications/networking/irc/epic5 { };
 
   epick = callPackage ../applications/graphics/epick {
-    inherit (darwin.apple_sdk.frameworks) AppKit IOKit;
+    inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
   epr = callPackage ../applications/misc/epr { };
@@ -34234,7 +34246,7 @@ with pkgs;
 
   planetary_annihilation = callPackage ../games/planetaryannihilation { };
 
-  polymc = libsForQt5.callPackage ../games/polymc { };
+  prismlauncher = libsForQt5.callPackage ../games/prismlauncher { };
 
   pong3d = callPackage ../games/pong3d { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ebe96c1cbb4..dafaf1d1aba 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6146,6 +6146,8 @@ in {
 
   nbxmpp = callPackage ../development/python-modules/nbxmpp { };
 
+  nc-dnsapi = callPackage ../development/python-modules/nc-dnsapi { };
+
   ncclient = callPackage ../development/python-modules/ncclient { };
 
   nclib = callPackage ../development/python-modules/nclib { };