diff --git a/common/default.nix b/common/default.nix
index 6e47fec8..67e3776a 100644
--- a/common/default.nix
+++ b/common/default.nix
@@ -2,6 +2,7 @@
 , home-manager
 , lib
 , nixpkgs
+, nixpkgs-wayland
 , nur
 , nix-melt
 , nurl
@@ -32,10 +33,18 @@
       substituters = [
         "https://hyprland.cachix.org"
         "https://nix-gaming.cachix.org"
+        # Nixpkgs-Wayland
+        "https://cache.nixos.org"
+        "https://nixpkgs-wayland.cachix.org"
+        #
       ];
       trusted-public-keys = [
         "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
         "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
+        # Nixpkgs-Wayland
+        "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
+        "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
+        #
       ];
     };
 
@@ -45,6 +54,7 @@
       exact = false;
     };
   };
+  nixpkgs.overlays = [ nixpkgs-wayland.overlay ];
 
   services.xserver = {
     layout = "ca";
diff --git a/flake.lock b/flake.lock
index 6b3d8139..7f8039ea 100644
--- a/flake.lock
+++ b/flake.lock
@@ -531,9 +531,7 @@
         "flake-compat": "flake-compat_2",
         "lib-aggregate": "lib-aggregate",
         "nix-eval-jobs": "nix-eval-jobs",
-        "nixpkgs": [
-          "nixpkgs"
-        ]
+        "nixpkgs": "nixpkgs_6"
       },
       "locked": {
         "lastModified": 1697793343,
@@ -613,6 +611,22 @@
         "type": "github"
       }
     },
+    "nixpkgs_6": {
+      "locked": {
+        "lastModified": 1697456312,
+        "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "ca012a02bf8327be9e488546faecae5e05d7d749",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "nur": {
       "locked": {
         "lastModified": 1697793907,
diff --git a/flake.nix b/flake.nix
index 39b35bfa..65ad741b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,8 +1,11 @@
 {
   inputs = {
     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+    nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
     nur.url = "github:nix-community/NUR";
 
+    nix-gaming.url = "github:fufexan/nix-gaming";
+
     home-manager = {
       url = "github:nix-community/home-manager";
       inputs.nixpkgs.follows = "nixpkgs";
@@ -20,18 +23,11 @@
       inputs.nixpkgs.follows = "nixpkgs";
     };
 
-    nixpkgs-wayland = {
-      url = "github:nix-community/nixpkgs-wayland";
-      inputs.nixpkgs.follows = "nixpkgs";
-    };
-
     neovim-nightly-overlay = {
       url = "github:nix-community/neovim-nightly-overlay";
       inputs.nixpkgs.follows = "nixpkgs";
     };
 
-    nix-gaming.url = "github:fufexan/nix-gaming";
-
     nix-melt = {
       url = "github:nix-community/nix-melt";
       inputs.nixpkgs.follows = "nixpkgs";
diff --git a/hosts/wim/config/ags/js/applauncher/main.js b/hosts/wim/config/ags/js/applauncher/main.js
index 5039bc3b..c72a8a63 100644
--- a/hosts/wim/config/ags/js/applauncher/main.js
+++ b/hosts/wim/config/ags/js/applauncher/main.js
@@ -21,6 +21,7 @@ const AppItem = (app, window) => {
     connections: [['clicked', () => {
       App.closeWindow(window);
       Utils.exec(`hyprctl dispatch exec ${app.executable}`);
+      // TODO: focus on new client. Is this only needed after launch?
       ++app.frequency;
     }]],
     child: Box({
diff --git a/hosts/wim/home/hyprland.nix b/hosts/wim/home/hyprland.nix
index ad96c975..04066078 100644
--- a/hosts/wim/home/hyprland.nix
+++ b/hosts/wim/home/hyprland.nix
@@ -1,6 +1,4 @@
-{ pkgs, config, hyprland, hyprgrass, ags, nixpkgs-wayland, ... }: let
-  waypkgs = nixpkgs-wayland.packages.x86_64-linux;
-
+{ pkgs, config, hyprland, hyprgrass, ags, ... }: let
   configDir = config.services.hostvars.configDir;
   symlink = config.lib.file.mkOutOfStoreSymlink;
 
@@ -52,44 +50,44 @@ in {
     '';
   };
 
-  home.packages = [
+  home.packages = with pkgs; [
     # ags
-    pkgs.sassc
-    pkgs.coloryou
-    pkgs.libnotify
-    pkgs.playerctl
-    pkgs.bluez-tools
-    pkgs.brightnessctl
-    pkgs.pulseaudio
-    pkgs.libinput
+    sassc
+    coloryou
+    libnotify
+    playerctl
+    bluez-tools
+    brightnessctl
+    pulseaudio
+    libinput
 
     ## gui
-    pkgs.pavucontrol # TODO: replace with ags widget
-    pkgs.networkmanagerapplet # TODO: replace with ags widget
-    pkgs.blueberry # TODO: replace with ags widget
+    pavucontrol # TODO: replace with ags widget
+    networkmanagerapplet # TODO: replace with ags widget
+    blueberry # TODO: replace with ags widget
 
 
     # Hyprland
-    pkgs.hyprpaper
-    waypkgs.swayidle
-    pkgs.lisgd
-    pkgs.swayosd
-    pkgs.squeekboard
-    pkgs.xclip
-    waypkgs.wl-clipboard
-    pkgs.cliphist
+    hyprpaper
+    swayidle
+    lisgd
+    swayosd
+    squeekboard
+    xclip
+    wl-clipboard
+    cliphist
 
     ## gui
-    pkgs.gtklock
-    pkgs.wl-color-picker # TODO: add bind for this in hyprland
-    waypkgs.grim
-    waypkgs.slurp
-    pkgs.swappy
+    gtklock
+    wl-color-picker # TODO: add bind for this in hyprland
+    grim
+    slurp
+    swappy
 
     ## libs
-    pkgs.libayatana-appindicator
-    pkgs.xdg-utils
-    pkgs.evtest
-    pkgs.glib
+    libayatana-appindicator
+    xdg-utils
+    evtest
+    glib
   ];
 }
diff --git a/modules/wofi/default.nix b/modules/wofi/default.nix
index b9531357..4ecdc6cc 100644
--- a/modules/wofi/default.nix
+++ b/modules/wofi/default.nix
@@ -1,10 +1,9 @@
 # Home-manager module
 
-{ nixpkgs-wayland, ... }: {
+{ ... }: {
   programs = {
     wofi = {
       enable = true;
-      package = nixpkgs-wayland.packages.x86_64-linux.wofi;
       settings = {
         prompt = "";
         allow_images = true;