diff --git a/flake.nix b/flake.nix
index 99c098e..2ba0c23 100755
--- a/flake.nix
+++ b/flake.nix
@@ -19,6 +19,13 @@
 
     lanzaboote.url = "github:nix-community/lanzaboote";
     lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
+
+    hyprland.url = "github:hyprwm/Hyprland";
+
+    anyrun = {
+      url = "github:Kirottu/anyrun";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
   };
 
   outputs = { self, nixpkgs, home-manager, deploy-rs, ... }@inputs: let
@@ -28,8 +35,10 @@
         (map import)
       ]);
   in {
-    nixosConfigurations.codedPC = nixpkgs.lib.nixosSystem {
+    nixosConfigurations.codedPC = let 
       system = "x86_64-linux";
+    in nixpkgs.lib.nixosSystem {
+      inherit system;
       modules = [
         home-manager.nixosModules.home-manager
         inputs.lanzaboote.nixosModules.lanzaboote
@@ -38,11 +47,13 @@
           system = { inherit stateVersion; };
         }
       ] ++ modulesFor "common" ++ modulesFor "codedPC";
-      specialArgs = { inherit inputs; flakeRoot = ./.; };
+      specialArgs = { inherit inputs system; flakeRoot = ./.; };
     };
 
-    nixosConfigurations.codedPI = nixpkgs.lib.nixosSystem {
+    nixosConfigurations.codedPI = let 
       system = "amd64-linux";
+    in nixpkgs.lib.nixosSystem {
+      inherit system;
       modules = [
         home-manager.nixosModules.home-manager
         inputs.lanzaboote.nixosModules.lanzaboote
@@ -51,7 +62,7 @@
           system = { inherit stateVersion; };
         }
       ] ++ modulesFor "common" ++ modulesFor "codedPI";
-      specialArgs = { inherit inputs; flakeRoot = ./.; };
+      specialArgs = { inherit inputs system; flakeRoot = ./.; };
     };
 
     deploy.nodes.codedPI.profiles.system = {
