diff --git a/flake.nix b/flake.nix
index e530c0a66758934353c768a7c36b11a6fe0031c1..125d5a1a0cacff9acde05d659da3db3e7b6e16ee 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,13 +2,13 @@
   outputs = { self, nixpkgs }:
   with nixpkgs.lib;
   let
-    forAllSystems = genAttrs ["x86_64-linux" "aarch64-linux"];
-    pkgs = forAllSystems (system: import nixpkgs { inherit system; overlays = [ self.overlay ]; });
+    systems = platforms.unix;
+    forAllSystems = genAttrs systems;
   in {
-
-    devShell = forAllSystems (system: pkgs.${system}.haskellPackages.quasar.env);
-
-    defaultPackage = forAllSystems (system: pkgs.${system}.haskellPackages.quasar);
+    packages = forAllSystems (system:
+      let pkgs = import nixpkgs { inherit system; overlays = [ self.overlay ]; };
+      in { quasar = pkgs.haskellPackages.quasar; }
+    );
 
     overlay = final: prev: {
       haskell = prev.haskell // {
@@ -21,5 +21,8 @@
       };
     };
 
+    defaultPackage = forAllSystems (system: self.packages.${system}.quasar);
+
+    devShell = forAllSystems (system: self.packages.${system}.quasar.env);
   };
 }