diff --git a/nixos/pkgs/megacli2prom/default.nix b/nixos/pkgs/megacli2prom/default.nix
index a5753c9fa717e07be94f2456726ea4d7b8087e89..e5021d7583777f73ff6ff725c77f724ef4dc697a 100644
--- a/nixos/pkgs/megacli2prom/default.nix
+++ b/nixos/pkgs/megacli2prom/default.nix
@@ -1,15 +1,14 @@
 { pkgs ? import <nixpkgs> {} }:
 
+let
+  repo-data = pkgs.lib.importJSON ./repo.json;
+  repo = pkgs.fetchFromGitLab (builtins.removeAttrs repo-data [ "branch" ]);
+
+in
 pkgs.stdenv.mkDerivation {
   name = "megacli2prom";
   buildInputs = [ pkgs.python3 pkgs.megacli ];
-  src = pkgs.fetchFromGitHub {
-    owner = "PrivateStorageio";
-    repo = "megacli2prom";
-    rev = "b845de8110050c7eb8aa655108515edcdb8f36be";
-    # sha256 = "0000000000000000000000000000000000000000000000000000";
-    sha256 = "1v208f9v75j56dj4bpyngrl3nkd343sipq9wvz7ay0ank4y5wddj";
-  };
+  src = repo;
   prePatch = ''
     substituteInPlace ./megacli2prom.py \
       --replace '/opt/MegaRAID/MegaCli/MegaCli64' '${pkgs.megacli}/opt/MegaRAID/MegaCli/MegaCli64'
diff --git a/nixos/pkgs/megacli2prom/repo.json b/nixos/pkgs/megacli2prom/repo.json
new file mode 100644
index 0000000000000000000000000000000000000000..fcda3be1730c69daa875e78f72dd26171c18966b
--- /dev/null
+++ b/nixos/pkgs/megacli2prom/repo.json
@@ -0,0 +1,8 @@
+{
+  "owner": "PrivateStorageio",
+  "repo": "megacli2prom",
+  "branch": "main",
+  "rev": "b845de8110050c7eb8aa655108515edcdb8f36be",
+  "outputHashAlgo": "sha512",
+  "outputHash": "2fqnb31i0278kb9mprl62jb4zbar38kjf28b2s8hwpmwp8zsp9c9p4cx7ydn36bjz6bxw7dyjiw6z82jpgcgv3752yab3b4lz01fnz7"
+}
\ No newline at end of file