diff --git a/configuration.nix b/configuration.nix
index ef13f94f5f935564b4f0df959741d7f88d817dd7..082d7a42ddece9932a4ec30979c6828c6b750c7d 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,5 +1,5 @@
 # This is the entry point for my NixOS configuration.
-{ name, path, channel, isIso, extraLayersDir, flakeInputs, flakeOutputs, system }:
+{ name, path, channel, isIso, extraLayersDir, flakeInputs, flakeOutputs, system, extraOverlays }:
 { lib, config, pkgs, ... }:
 
 let
@@ -60,7 +60,7 @@ in
     (import ./pkgs)
     flakeInputs.qd.overlay
     flakeInputs.q.overlay
-  ];
+  ] ++ extraOverlays;
 
   # Pin channel in nix path
   nix.nixPath = [ "nixpkgs=${channel}" ];
diff --git a/machine-manager.nix b/machine-manager.nix
index 0f07840c4bf248bacc2511657369b8988fe217e8..f8e4c23fa0c57dd331b35dfe5917d265a448ca97 100644
--- a/machine-manager.nix
+++ b/machine-manager.nix
@@ -1,7 +1,7 @@
 # entry point for machine configurations:
 # (import <repo-path> { machinesDir=./machines }).<netname>.configurations.<hostname>
 
-{ flakeInputs, flakeOutputs, machinesDir, extraLayersDir }:
+{ flakeInputs, flakeOutputs, machinesDir, extraLayersDir, extraOverlays ? [] }:
 
 with builtins;
 let
@@ -40,7 +40,7 @@ let
       mkMachineConfig = { name, path, isIso }: {
         imports = [
           (import ./configuration.nix {
-            inherit name path isIso extraLayersDir flakeInputs flakeOutputs system;
+            inherit name path isIso extraLayersDir flakeInputs flakeOutputs system extraOverlays;
             channel = machineChannels.${name};
           })
         ];