diff --git a/flake.lock b/flake.lock
index 297ea4ad29..35f2fc6aae 100644
--- a/flake.lock
+++ b/flake.lock
@@ -18,6 +18,40 @@
         "type": "github"
       }
     },
+    "flake-utils_2": {
+      "inputs": {
+        "systems": "systems_2"
+      },
+      "locked": {
+        "lastModified": 1701680307,
+        "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1704008649,
+        "narHash": "sha256-rGPSWjXTXTurQN9beuHdyJhB8O761w1Zc5BqSSmHvoM=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "d44d59d2b5bd694cd9d996fd8c51d03e3e9ba7f7",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixpkgs-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "nixpkgsUnstable": {
       "locked": {
         "lastModified": 1702206697,
@@ -37,7 +71,8 @@
     "root": {
       "inputs": {
         "flake-utils": "flake-utils",
-        "nixpkgsUnstable": "nixpkgsUnstable"
+        "nixpkgsUnstable": "nixpkgsUnstable",
+        "uplosi": "uplosi"
       }
     },
     "systems": {
@@ -54,6 +89,41 @@
         "repo": "default",
         "type": "github"
       }
+    },
+    "systems_2": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
+    },
+    "uplosi": {
+      "inputs": {
+        "flake-utils": "flake-utils_2",
+        "nixpkgs": "nixpkgs"
+      },
+      "locked": {
+        "lastModified": 1705406532,
+        "narHash": "sha256-3UmCqN+T8paP/sr17hGzLxl4hozGnX8ObHUGjgFsxvM=",
+        "owner": "edgelesssys",
+        "repo": "uplosi",
+        "rev": "629e2bcff551bf3d972a7c21bfea6d881b9d9bc2",
+        "type": "github"
+      },
+      "original": {
+        "owner": "edgelesssys",
+        "repo": "uplosi",
+        "rev": "629e2bcff551bf3d972a7c21bfea6d881b9d9bc2",
+        "type": "github"
+      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index 4549684d2c..732a026851 100644
--- a/flake.nix
+++ b/flake.nix
@@ -8,12 +8,16 @@
     flake-utils = {
       url = "github:numtide/flake-utils";
     };
+    uplosi = {
+      url = "github:edgelesssys/uplosi/629e2bcff551bf3d972a7c21bfea6d881b9d9bc2";
+    };
   };
 
   outputs =
     { self
     , nixpkgsUnstable
     , flake-utils
+    , uplosi
     }:
     flake-utils.lib.eachDefaultSystem (system:
     let
@@ -47,14 +51,7 @@
         ]);
       }));
 
-      uplosiDev = (pkgsUnstable.uplosi.overrideAttrs (oldAttrs: rec {
-        src = pkgsUnstable.fetchFromGitHub {
-          owner = "edgelesssys";
-          repo = "uplosi";
-          rev = "0190e8c548b5811066b7e2d9db5e3167f51c005f";
-          hash = "sha256-AHj3XTX+vd8QP4hWGPAt2iJnrIGoiH61UgQMK7vlYU0=";
-        };
-      }));
+      uplosiDev = uplosi.outputs.packages."${system}".uplosi;
 
       openssl-static = pkgsUnstable.openssl.override { static = true; };