diff --git a/flake.lock b/flake.lock
index 1984b437f54221ffc00eaa71153dcf3dba8d9c22..ebaa3e957730e4a5ebf5d7034a9dfa754b135c11 100644
--- a/flake.lock
+++ b/flake.lock
@@ -13,9 +13,32 @@
         "type": "indirect"
       }
     },
+    "quasar": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "host": "git.c3pb.de",
+        "lastModified": 1626105841,
+        "narHash": "sha256-od9bq8zu30xbbPckIeLW4d1cEOI1EQllOn3qW9qLr1Y=",
+        "owner": "jens",
+        "repo": "quasar",
+        "rev": "fc85ec26151845dc9e972a7b91bd3828b0132baf",
+        "type": "gitlab"
+      },
+      "original": {
+        "host": "git.c3pb.de",
+        "owner": "jens",
+        "repo": "quasar",
+        "type": "gitlab"
+      }
+    },
     "root": {
       "inputs": {
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs",
+        "quasar": "quasar"
       }
     }
   },
diff --git a/flake.nix b/flake.nix
index 7c5be291282b29f8f18fd624010633ce028ea24d..204b211be1f4fdaad954400c96ff0995fead6227 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,5 +1,12 @@
 {
-  outputs = { self, nixpkgs }:
+  inputs = {
+    quasar = {
+      url = gitlab:jens/quasar?host=git.c3pb.de;
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
+  };
+
+  outputs = { self, nixpkgs, quasar }:
   let
     lib = nixpkgs.lib;
     systems = lib.platforms.unix;
@@ -7,7 +14,7 @@
   in {
     packages = forAllSystems (system: {
       quasar-network = import ./. {
-        pkgs = nixpkgs.legacyPackages.${system};
+        pkgs = import nixpkgs { inherit system; overlays = [ quasar.overlay ]; };
       };
     });
 
diff --git a/quasar-network.cabal b/quasar-network.cabal
index 465f359470ba51f543bbf726f5fcaa5e58bb502b..ff1720f76640aecc5706e6a069d4772f29724aae 100644
--- a/quasar-network.cabal
+++ b/quasar-network.cabal
@@ -63,6 +63,7 @@ common shared-properties
     hashable,
     mtl,
     network,
+    quasar,
     template-haskell,
     unix,
     unordered-containers,