diff --git a/nixos/cfg/home-manager.nix b/nixos/cfg/home-manager.nix
index f72f4fa5..95116015 100644
--- a/nixos/cfg/home-manager.nix
+++ b/nixos/cfg/home-manager.nix
@@ -25,20 +25,39 @@
       });
     };
     
-    home.packages = with pkgs; [
+    home.packages = with pkgs; 
+      (with xorg; [
+        xhost # for gparted
+        xcursorthemes
+
+      ]) ++
+      (with python311Packages; [
+        pyclip
+
+      ]) ++
+      (with plasma5Packages; [
+        qtstyleplugin-kvantum
+        breeze-icons
+        dolphin # install plugins
+        kio-admin # dbus issues
+
+      ]) ++
+      (with gnome; [
+        gnome-calculator
+        seahorse
+        adwaita-icon-theme
+
+      ]) ++
+    [
+      swayosd
       httrack
       lisgd
       zeal
       acpi
-      xorg.xhost # for gparted?
-      libsForQt5.dolphin # get plugins
-      libsForQt5.kio-admin # doesn't work
       libreoffice-fresh # TODO: add spelling stuff
       neofetch
       photoqt
       progress
-      python311Packages.pyclip
-      python311Packages.pyclip
       tlp
       wl-color-picker # add bind for this in hyprland
       xclip
@@ -55,9 +74,6 @@
       spicetify-cli # TODO
       vlc
       discord
-      spotify
-      libsForQt5.qtstyleplugin-kvantum
-      libsForQt5.breeze-icons
       alacritty
       brightnessctl
       pulseaudio
@@ -66,7 +82,6 @@
       firefox
       tree
       mlocate
-      gcc
       mosh
       rsync
       tmux
@@ -80,15 +95,11 @@
       hyprpaper
       python3
       rofi-wayland
-      wev
       networkmanagerapplet
       nextcloud-client
       tutanota-desktop
       galaxy-buds-client
-      gnome.gnome-calculator
       swaynotificationcenter
-      #swayosd
-      (with import <nixpkgs> {}; callPackage ../pkgs/swayosd.nix {})
       swayidle
       wl-clipboard
       cliphist
@@ -99,13 +110,10 @@
       grim
       slurp
       swappy
-      gnome.seahorse
       neovim
       fontfor
       qt5ct
       lxappearance
-      gnome3.adwaita-icon-theme
-      xorg.xcursorthemes
       imagemagick
       usbutils
       catppuccin-plymouth
diff --git a/nixos/configuration.nix b/nixos/configuration.nix
index 320d30d7..910619d0 100644
--- a/nixos/configuration.nix
+++ b/nixos/configuration.nix
@@ -4,10 +4,11 @@
   imports =
     [ # Include the results of the hardware scan.
       ./hardware-configuration.nix
-      ./cfg/home-manager.nix
       ./cfg/boot.nix
       ./cfg/security.nix
       ./cfg/extra-hardware.nix
+      ./overlays/list.nix
+      ./cfg/home-manager.nix
     ];
 
   services.xserver = {
@@ -44,6 +45,8 @@
     lxd.enable = true;
   };
 
+  services.dbus.enable = true;
+
   xdg.portal.enable = true;
   xdg.portal.extraPortals = [ 
     pkgs.xdg-desktop-portal-hyprland
@@ -69,15 +72,12 @@
   # List packages installed in system profile. To search, run:
   # $ nix search wget
   environment.systemPackages = with pkgs; [
-    xorg.xhost
     wl-clipboard
-    brightnessctl
     pulseaudio
     alsa-utils
     wget
     tree
     mlocate
-    gcc
     rsync
     tmux
     git
@@ -89,8 +89,6 @@
     ripgrep
     python3
     neovim
-    gnome3.adwaita-icon-theme
-    xorg.xcursorthemes
     imagemagick
     usbutils
     catppuccin-plymouth
diff --git a/nixos/overlays/list.nix b/nixos/overlays/list.nix
new file mode 100644
index 00000000..c014db80
--- /dev/null
+++ b/nixos/overlays/list.nix
@@ -0,0 +1,7 @@
+{ config, pkgs, ... }:
+
+{
+  nixpkgs.overlays = [
+    (import ./swayosd.nix)
+  ];
+}
diff --git a/nixos/overlays/swayosd.nix b/nixos/overlays/swayosd.nix
new file mode 100644
index 00000000..7e3b2c1e
--- /dev/null
+++ b/nixos/overlays/swayosd.nix
@@ -0,0 +1,18 @@
+final: prev: {
+  swayosd = prev.swayosd.overrideAttrs (oldAttrs: rec {
+    
+    src = prev.fetchFromGitHub {
+      owner = "ErikReider";
+      repo = "SwayOSD";
+      rev = "c573f5ce94e2017d37b3dd3c2c1363bb1c6f82a3";
+      hash = "sha256-cPom4dU+64TdCIi9D+GZN+EJltgXWy8fezEL1r9kUDo=";
+    };
+    
+    cargoDeps = oldAttrs.cargoDeps.overrideAttrs (prev.lib.const {
+      name = "swayosd-vendor.tar.gz";
+      inherit src;
+      outputHash = "sha256-rSz7edA/G446eJGy5qYx9xOpMhsTpA9H43b45bLArHU=";
+    });
+  });
+}
+
diff --git a/nixos/pkgs/swayosd.nix b/nixos/pkgs/swayosd.nix
deleted file mode 100644
index 9100aee3..00000000
--- a/nixos/pkgs/swayosd.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, wrapGAppsHook
-, gtk-layer-shell
-, libpulseaudio
-}:
-
-rustPlatform.buildRustPackage {
-  pname = "swayosd";
-  version = "unstable-2023-05-09";
-
-  src = fetchFromGitHub {
-    owner = "ErikReider";
-    repo = "SwayOSD";
-    rev = "c573f5ce94e2017d37b3dd3c2c1363bb1c6f82a3";
-    hash = "sha256-cPom4dU+64TdCIi9D+GZN+EJltgXWy8fezEL1r9kUDo=";
-  };
-
-  cargoHash = "sha256-fkPpkXvq2ms6+Vt12cnsjKkbJdN2JgVrRxGRH9qaGD8=";
-
-  nativeBuildInputs = [
-    wrapGAppsHook
-    pkg-config
-  ];
-
-  buildInputs = [
-    gtk-layer-shell
-    libpulseaudio
-  ];
-
-  meta = with lib; {
-    description = "A GTK based on screen display for keyboard shortcuts";
-    homepage = "https://github.com/ErikReider/SwayOSD";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ aleksana ];
-    platforms = platforms.linux;
-  };
-}