about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-03-13 18:01:14 +0000
committerGitHub <noreply@github.com>2023-03-13 18:01:14 +0000
commit08d2b1131869e00946d351050f1b92f259f25cff (patch)
treeb8f633cb8e3f3992b6daaea48a7592fc382a07a7
parentbb14c4255bea2a0e7d2066c3cde26b51cd78ff7a (diff)
parentd0c9a536331227ab883b4f6964be638fa436d81f (diff)
downloadnixlib-08d2b1131869e00946d351050f1b92f259f25cff.tar
nixlib-08d2b1131869e00946d351050f1b92f259f25cff.tar.gz
nixlib-08d2b1131869e00946d351050f1b92f259f25cff.tar.bz2
nixlib-08d2b1131869e00946d351050f1b92f259f25cff.tar.lz
nixlib-08d2b1131869e00946d351050f1b92f259f25cff.tar.xz
nixlib-08d2b1131869e00946d351050f1b92f259f25cff.tar.zst
nixlib-08d2b1131869e00946d351050f1b92f259f25cff.zip
Merge master into staging-next
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/misc/megacmd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix27
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix6
-rw-r--r--pkgs/applications/version-management/git-workspace/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix54
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix2
-rw-r--r--pkgs/development/libraries/incrtcl/default.nix4
-rw-r--r--pkgs/development/tools/dump_syms/default.nix6
-rw-r--r--pkgs/development/tools/ko/default.nix5
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix56
-rw-r--r--pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch8
-rw-r--r--pkgs/development/tools/railway/default.nix28
-rw-r--r--pkgs/servers/krill/default.nix6
-rw-r--r--pkgs/tools/misc/codevis/default.nix6
-rw-r--r--pkgs/tools/security/kubernetes-polaris/default.nix52
-rw-r--r--pkgs/top-level/all-packages.nix8
18 files changed, 224 insertions, 66 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 6a527ce07413..6c7a0a1f32c2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8684,6 +8684,12 @@
       fingerprint = "74F5 E5CC 19D3 B5CB 608F  6124 68FF 81E6 A785 0F49";
     }];
   };
+  longer = {
+    email = "michal@mieszczak.com.pl";
+    name = "MichaƂ Mieszczak";
+    github = "LongerHV";
+    githubId = 46924944;
+  };
   lourkeur = {
     name = "Louis Bettens";
     email = "louis@bettens.info";
diff --git a/pkgs/applications/misc/megacmd/default.nix b/pkgs/applications/misc/megacmd/default.nix
index 2d5b6ee8f2ae..704d927afd1a 100644
--- a/pkgs/applications/misc/megacmd/default.nix
+++ b/pkgs/applications/misc/megacmd/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "megacmd";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAcmd";
     rev = "${version}_Linux";
-    sha256 = "sha256-qOXw/KGt3DyWQGBe/pbMujQITCMItHobxuK+1r00ZIs=";
+    sha256 = "sha256-EPY2BjTECia0eBGmv8tmeil1WibIA6R+DK7MmOMufLw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 12868dcc5afc..5c8b9be54be2 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "kubernetes-helm";
-  version = "3.11.1";
+  version = "3.11.2";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-TrjPpKFHMF+dPz9AqXVkYPUNWeWEeH8bA37Dpxr7b8s=";
+    sha256 = "sha256-aUzVICPCxAUoPvnE7pqz+bscfukbEwB+iGmXAYuQ/eE=";
   };
-  vendorSha256 = "sha256-LRMDrBSl5EGQqQt5FUU4JJHqdwfYt5qsVpe76jUQBVI=";
+  vendorSha256 = "sha256-Hf4ElC3H5sJkzKFELeDygTmfuqBHLqRhaHG1bfnqigM=";
 
   subPackages = [ "cmd/helm" ];
   ldflags = [
diff --git a/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix b/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix
new file mode 100644
index 000000000000..d9a8e0693e79
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubernetes-metrics-server/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubernetes-metrics-server";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "kubernetes-sigs";
+    repo = "metrics-server";
+    rev = "v${version}";
+    sha256 = "sha256-TTI+dNBQ/jKt6Yhud3/OO+zOkeO46CmUz6J6ByX26JE=";
+  };
+
+  vendorSha256 = "sha256-lpSMvHYlPtlJQUqsdXJ6ewBEBiwLPvP/rsUgYzJhOxc=";
+
+  preCheck = ''
+    # the e2e test breaks the sandbox, so let's skip that
+    rm test/e2e_test.go
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/kubernetes-sigs/metrics-server";
+    description = "Kubernetes container resource metrics collector";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ eskytthe ];
+  };
+}
diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix
index 996677f8a11b..689cef0db0b3 100644
--- a/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "1.0.5";
+  version = "1.0.6";
 
-  vendorHash = "sha256-sLCgPXyOiGaigcVuwUU4+Lmb7SjopWKhCReBzrZyuRs=";
+  vendorHash = "sha256-IRR10wC05dv4d170Iweuxdy/JEnYjvdW0h5nS1ht9cg=";
 
   src = fetchFromGitHub {
     owner = "ipfs-cluster";
     repo = "ipfs-cluster";
     rev = "v${version}";
-    hash = "sha256-c0COSf4ktFxkPJwzq/0RyG1JvNUvhdWpeRlrbAirGec=";
+    hash = "sha256-2En7morOodWvtNZGAZhl1EZJCCHdrYSUA1WBYGkjnYI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-workspace/default.nix b/pkgs/applications/version-management/git-workspace/default.nix
index 6ccfafeb70ee..e225d5b55ceb 100644
--- a/pkgs/applications/version-management/git-workspace/default.nix
+++ b/pkgs/applications/version-management/git-workspace/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-workspace";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rCy6+cjjFgcMqYn48Gfw+tTIMmsTD9lz8h14EfXWatI=";
+    sha256 = "sha256-Ppb42u31/iJd743vKX+5RdI7aITsWg9Jg0Aheguep5s=";
   };
 
-  cargoSha256 = "sha256-aO9DYD20KQL2cLWy3uIQLJ1oR4PHNbgZLYi/Y8O6UHk=";
+  cargoSha256 = "sha256-O0wyNdgY1meEBJh/tEHxwzjNQdzxbKn5Ji+gdd146vQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
new file mode 100644
index 000000000000..ffd7cd600d56
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, asio
+, cmake
+, curl
+, obs-studio
+, opencv
+, procps
+, qtbase
+, websocketpp
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "advanced-scene-switcher";
+  version = "1.20.5";
+
+  src = fetchFromGitHub {
+    owner = "WarmUpTill";
+    repo = "SceneSwitcher";
+    rev = version;
+    sha256 = "04k7f7v756vdsan95g73cc29lrs61jis738v37a3ihi3ivps3ma3";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    asio
+    curl
+    obs-studio
+    opencv
+    procps
+    qtbase
+    websocketpp
+    xorg.libXScrnSaver
+  ];
+
+  dontWrapQtApps = true;
+
+  postInstall = ''
+    mkdir $out/lib $out/share
+    mv $out/obs-plugins/64bit $out/lib/obs-plugins
+    mv $out/data $out/share/obs
+  '';
+
+  meta = {
+    description = "An automated scene switcher for OBS Studio";
+    homepage = "https://github.com/WarmUpTill/SceneSwitcher";
+    maintainers = with lib.maintainers; [ paveloom ];
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index c796b2d84fa0..049636dd59d3 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -6,6 +6,8 @@
 # - Add plugin to it's own directory (because of future patches).
 
 {
+  advanced-scene-switcher = qt6Packages.callPackage ./advanced-scene-switcher { };
+
   droidcam-obs = callPackage ./droidcam-obs { };
 
   input-overlay = qt6Packages.callPackage ./input-overlay.nix { };
diff --git a/pkgs/development/libraries/incrtcl/default.nix b/pkgs/development/libraries/incrtcl/default.nix
index 4234e56edd70..4558ebbd0dcf 100644
--- a/pkgs/development/libraries/incrtcl/default.nix
+++ b/pkgs/development/libraries/incrtcl/default.nix
@@ -2,11 +2,11 @@
 
 tcl.mkTclDerivation rec {
   pname = "incrtcl";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchurl {
     url    = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl${version}.tar.gz";
-    sha256 = "sha256-rExnDq8bWyVb/KzKgyCzPVa72S/VRGPGPW9pmocOFWw=";
+    sha256 = "sha256-idOs2GXP3ZY7ECtF+K9hg5REyK6sQ0qk+666gUQPjCY=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
index 7dea51ef567e..6929150c8ec5 100644
--- a/pkgs/development/tools/dump_syms/default.nix
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -16,7 +16,7 @@
 
 let
   pname = "dump_syms";
-  version = "2.2.0";
+  version = "2.2.1";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -25,10 +25,10 @@ rustPlatform.buildRustPackage {
     owner = "mozilla";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rbpZXLtBPD77jZ+P6ljtrSfKYfhMUdsP/Eoi0cYxsqo=";
+    hash = "sha256-YzGFzmAGHev3gM6+l0sC+nCdyEYZI2G30U1JBrZ2uSU=";
   };
 
-  cargoSha256 = "sha256-UUyoiyA9ykUnFavsAqo7gNMSYpQ9Lu29t4fn1oLj6gs=";
+  cargoSha256 = "sha256-gWLd1MUpCeVRUgzqkA5USmlYDq8BmmB/EQfiFl9JsjA=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/ko/default.nix b/pkgs/development/tools/ko/default.nix
index 447b7ba6987a..eb916e3318a6 100644
--- a/pkgs/development/tools/ko/default.nix
+++ b/pkgs/development/tools/ko/default.nix
@@ -7,14 +7,15 @@
 
 buildGoModule rec {
   pname = "ko";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "ko-build";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hhPV40e5wB2/VcdigqgjffDW4X1ZDddXTZiCUBijtHQ=";
+    sha256 = "sha256-KVJqqvp46BAUscG5Xj/g4ThUXKFsuJdzEB++uBskFiw=";
   };
+
   vendorSha256 = null;
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index cad25a942d69..df12d6c2c72c 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -13,15 +13,15 @@
 , nix-update-script
 }:
 
-let ccache = stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ccache";
-  version = "4.7.4";
+  version = "4.8";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-mt5udwSdzGaspfpAdUavQ55dBeJdhbZjcQpd9xNOQms=";
+    owner = "ccache";
+    repo = "ccache";
+    rev = "refs/tags/v${finalAttrs.version}";
+    sha256 = "sha256-X7Pv+yEQaKPdWTiKq67kSAyimyKvLSCYr4EjLlw+J0U=";
   };
 
   outputs = [ "out" "man" ];
@@ -53,25 +53,27 @@ let ccache = stdenv.mkDerivation rec {
     bashInteractive
   ] ++ lib.optional stdenv.isDarwin xcodebuild;
 
-  checkPhase = let
-    badTests = [
-      "test.trim_dir" # flaky on hydra (possibly filesystem-specific?)
-    ] ++ lib.optionals stdenv.isDarwin [
-      "test.basedir"
-      "test.multi_arch"
-      "test.nocpp2"
-    ];
-  in ''
-    runHook preCheck
-    export HOME=$(mktemp -d)
-    ctest --output-on-failure -E '^(${lib.concatStringsSep "|" badTests})$'
-    runHook postCheck
-  '';
+  checkPhase =
+    let
+      badTests = [
+        "test.trim_dir" # flaky on hydra (possibly filesystem-specific?)
+      ] ++ lib.optionals stdenv.isDarwin [
+        "test.basedir"
+        "test.multi_arch"
+        "test.nocpp2"
+      ];
+    in
+    ''
+      runHook preCheck
+      export HOME=$(mktemp -d)
+      ctest --output-on-failure -E '^(${lib.concatStringsSep "|" badTests})$'
+      runHook postCheck
+    '';
 
   passthru = {
     # A derivation that provides gcc and g++ commands, but that
     # will end up calling ccache for the given cacheDir
-    links = {unwrappedCC, extraConfig}: stdenv.mkDerivation {
+    links = { unwrappedCC, extraConfig }: stdenv.mkDerivation {
       name = "ccache-links";
       passthru = {
         isClang = unwrappedCC.isClang or false;
@@ -85,7 +87,7 @@ let ccache = stdenv.mkDerivation rec {
         wrap() {
           local cname="$1"
           if [ -x "${unwrappedCC}/bin/$cname" ]; then
-            makeWrapper ${ccache}/bin/ccache $out/bin/$cname \
+            makeWrapper ${finalAttrs.finalPackage}/bin/ccache $out/bin/$cname \
               --run ${lib.escapeShellArg extraConfig} \
               --add-flags ${unwrappedCC}/bin/$cname
           fi
@@ -108,17 +110,19 @@ let ccache = stdenv.mkDerivation rec {
         done
       '';
     };
-  };
 
-  passthru.updateScript = nix-update-script { };
+    updateScript = nix-update-script { };
+  };
 
   meta = with lib; {
     description = "Compiler cache for fast recompilation of C/C++ code";
     homepage = "https://ccache.dev";
     downloadPage = "https://ccache.dev/download.html";
+    changelog = "https://ccache.dev/releasenotes.html#_ccache_${
+      builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version
+    }";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kira-bruneau r-burns ];
     platforms = platforms.unix;
   };
-};
-in ccache
+})
diff --git a/pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch b/pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch
index 4b4d79867f39..04c431aafb74 100644
--- a/pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch
+++ b/pkgs/development/tools/misc/ccache/force-objdump-on-darwin.patch
@@ -1,3 +1,5 @@
+diff --git a/test/run b/test/run
+index 43a57312..398be8d8 100755
 --- a/test/run
 +++ b/test/run
 @@ -148,21 +148,17 @@ file_size() {
@@ -19,9 +21,9 @@
  
  objdump_grep_cmd() {
 -    if $HOST_OS_APPLE; then
--        fgrep -q "\"$1\""
+-        grep -Fq "\"$1\""
 -    elif $HOST_OS_WINDOWS || $HOST_OS_CYGWIN; then
 +    if $HOST_OS_WINDOWS || $HOST_OS_CYGWIN; then
-         fgrep -q "$1"
+         grep -Fq "$1"
      else
-         fgrep -q ": $1"
+         grep -Fq ": $1"
diff --git a/pkgs/development/tools/railway/default.nix b/pkgs/development/tools/railway/default.nix
index 43eb79c0e1a4..7cac6d50d66c 100644
--- a/pkgs/development/tools/railway/default.nix
+++ b/pkgs/development/tools/railway/default.nix
@@ -1,28 +1,32 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ lib, rustPlatform, fetchFromGitHub, pkg-config, openssl, stdenv, CoreServices
+, Security }:
 
-buildGoModule rec {
+rustPlatform.buildRustPackage rec {
   pname = "railway";
-  version = "2.1.0";
+  version = "3.0.12";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-JpIy8u6L7yOZgTFxFft+vhcat3uPT9EvOXAQOmrpvpc=";
+    hash = "sha256-2RdB/X62/9HKKax+Y+RYPrLEHsWwzOwzJ1Go930bYN0=";
   };
 
-  ldflags = [ "-s" "-w" ];
+  cargoHash = "sha256-Aozg/Pyo7JlTEXul3MEfGLwbRo/qjogWeAUHzK8xssc=";
 
-  vendorHash = "sha256-nLuomuAScodgLUKzMTiygtFBnNHrqAojOySZgKLVGJY=";
+  nativeBuildInputs = [ pkg-config ];
 
-  postInstall = ''
-    mv $out/bin/cli $out/bin/railway
-  '';
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
+
+  OPENSSL_NO_VENDOR = 1;
 
   meta = with lib; {
-    description = "Railway CLI";
-    homepage = "https://railway.app";
+    mainProgram = "railway";
+    description = "Railway.app CLI";
+    homepage = "https://github.com/railwayapp/cli";
+    changelog = "https://github.com/railwayapp/cli/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ Crafter ];
+    maintainers = with maintainers; [ Crafter techknowlogick ];
   };
 }
diff --git a/pkgs/servers/krill/default.nix b/pkgs/servers/krill/default.nix
index abe468ce7f3f..8025f6b9d3f5 100644
--- a/pkgs/servers/krill/default.nix
+++ b/pkgs/servers/krill/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krill";
-  version = "0.12.2";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-IT4Rc74G8EFp+AbJCRWMKIvi5sZg/h7QT0M7U9B0Fu4=";
+    hash = "sha256-N12Uc2Dh0JFCEOzFvU5YzPeupcaOetW6ehRuAYOYJn0=";
   };
 
-  cargoHash = "sha256-AvOE6SvsztqutGDfew0fkluercpF+lQQlJ1E7/YKtBM=";
+  cargoHash = "sha256-pcoGFXano34Sc+iVqJfrUo+wWASpAA1gslCHfVcEoJ4=";
 
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/misc/codevis/default.nix b/pkgs/tools/misc/codevis/default.nix
index d160c214454d..851ec717f824 100644
--- a/pkgs/tools/misc/codevis/default.nix
+++ b/pkgs/tools/misc/codevis/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "codevis";
-  version = "0.6.1";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "sloganking";
     repo = "codevis";
     rev = "v${version}";
-    hash = "sha256-iw5ULK67AHLoffveZghk57lPQwE2oX+iwlO0dmdpE4E=";
+    hash = "sha256-fnIZ3Ux9a47ix5EC/sqkAZMdMu9B3BB2Enzw094Z1pM=";
   };
 
-  cargoHash = "sha256-IxQ8rnB+2xTBiFvxy2yo27HtBu0zLvbQzyoxH/4waxQ=";
+  cargoHash = "sha256-+3ihh663k6Ay16fxCbO7CW343zxwUHusqBQpH8CDEoc=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/kubernetes-polaris/default.nix b/pkgs/tools/security/kubernetes-polaris/default.nix
new file mode 100644
index 000000000000..26180e219f22
--- /dev/null
+++ b/pkgs/tools/security/kubernetes-polaris/default.nix
@@ -0,0 +1,52 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, packr, ... }:
+
+buildGoModule rec {
+  pname = "kubernetes-polaris";
+  version = "7.3.2";
+
+  src = fetchFromGitHub {
+    owner = "FairwindsOps";
+    repo = "polaris";
+    rev = version;
+    sha256 = "sha256-LteclhYNMFNuGjFSuhPuY9ZA1Vlq4DPdcCGAQaujwh8=";
+  };
+
+  vendorSha256 = "sha256-3htwwRkUOf8jLyLfRlhcWhftBImmcUglc/PP/Yk2oF0=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.Version=${version}"
+    "-X main.Commit=${version}"
+  ];
+
+  preBuild = ''
+    ${packr}/bin/packr2 -v --ignore-imports
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd polaris \
+      --bash <($out/bin/polaris completion bash) \
+      --fish <($out/bin/polaris completion fish) \
+      --zsh <($out/bin/polaris completion zsh)
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/polaris help
+    $out/bin/polaris version | grep 'Polaris version:${version}'
+
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "Validate and remediate Kubernetes resources to ensure configuration best practices are followed";
+    homepage = "https://www.fairwinds.com/polaris";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ longer ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index eafa6a238931..e2d9405a821e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11481,7 +11481,9 @@ with pkgs;
 
   raider = callPackage ../applications/misc/raider { };
 
-  railway = callPackage ../development/tools/railway { };
+  railway = callPackage ../development/tools/railway {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+  };
 
   quota = if stdenv.isLinux then linuxquota else unixtools.quota;
 
@@ -18288,6 +18290,8 @@ with pkgs;
 
   kubeprompt = callPackage ../development/tools/kubeprompt { };
 
+  kubernetes-polaris = callPackage ../tools/security/kubernetes-polaris { };
+
   kubescape = callPackage ../tools/security/kubescape { };
 
   kubesec = callPackage ../tools/security/kubesec { };
@@ -31113,6 +31117,8 @@ with pkgs;
   kubectl = callPackage ../applications/networking/cluster/kubernetes/kubectl.nix { };
   kubectl-convert = kubectl.convert;
 
+  kubernetes-metrics-server = callPackage ../applications/networking/cluster/kubernetes-metrics-server { };
+
   kubemqctl = callPackage ../applications/networking/cluster/kubemqctl { };
 
   kubent = callPackage ../applications/networking/cluster/kubent { };