diff --git a/home/wayland/default.nix b/home/wayland/default.nix
index 5dd8bd6..9ffda87 100644
--- a/home/wayland/default.nix
+++ b/home/wayland/default.nix
@@ -1,5 +1,5 @@
 {pkgs, ...}: {
-  imports = [./services/greetd.nix];
+  imports = [./services/ly.nix];
   environment = {
     systemPackages = with pkgs; [
       wayland
@@ -25,15 +25,14 @@
       TERMINAL = "wezterm";
       # SDL_VIDEODRIVER = "wayland";
     };
-    etc."greetd/environments".text = ''
-      Hyprland
-    '';
   };
 
   services.dbus.enable = true;
   xdg.portal = {
     enable = true;
+    xdgOpenUsePortal = true;
     extraPortals = with pkgs; [
+      xdg-desktop-portal
       xdg-desktop-portal-gtk
     ];
     config = {
diff --git a/home/wayland/services/greetd.nix b/home/wayland/services/greetd.nix
deleted file mode 100644
index 0c032af..0000000
--- a/home/wayland/services/greetd.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{
-  pkgs,
-  inputs,
-  lib,
-  ...
-}: let
-  hyprlandGreetdConf = pkgs.writeText "hyprland-greetd-conf.conf" ''
-
-    monitor = HDMI-A-1,disable
-    monitor = DP-2,disable
-    monitor = DP-1,2560x1440@144, 0x0, auto
-    monitor = DP-3,disable
-
-    env = XDG_SESSION_TYPE,wayland
-
-    exec-once = ${pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
-    exec-once = ${lib.getExe pkgs.greetd.regreet}; hyprctl dispatch exit
-    exec-once = systemctl --user restart xdg-desktop-portal xdg-desktop-portal-hyprland
-
-    windowrulev2 = fullscreen, title:^regreet$
-    windowrulev2 = move 0 0, title:^regreet$
-
-    $mainMod = SUPER
-    bind = $mainMod, Q, exec, reboot
-    bind = $mainMod, Return, exec, ${lib.getExe pkgs.greetd.regreet}
-
-    input {
-      kb_layout = us
-      follow_mouse = 1
-      sensitivity = -0.5
-      force_no_accel = true
-    }
-
-    animations {
-      enabled = false
-      first_launch_animation = false
-    }
-
-    misc {
-      disable_hyprland_logo = true
-      disable_splash_rendering = true
-    }
-
-  '';
-in {
-  services.greetd = {
-    enable = true;
-    settings = rec {
-      initial_session = {
-        command = "${lib.getExe inputs.hyprland.packages.${pkgs.system}.default} --config ${hyprlandGreetdConf}";
-        user = "greeter";
-      };
-      default_session = initial_session;
-    };
-  };
-  programs.regreet = {
-    enable = true;
-    settings = {
-      background.path = "/etc/greetd/frieren.png";
-      env = {
-        SESSION_DIRS = "/etc/greetd/environments";
-      };
-      terminal = {
-        vt = 1;
-      };
-      commands = {
-        reboot = ["systemctl" "reboot"];
-        poweroff = ["systemctl" "poweroff"];
-      };
-      GTK = {
-        application_prefer_dark_theme = true;
-        theme_name = "Tokyonight-Dark-BL";
-        icon_theme_name = "Papirus-Dark";
-        cursor_theme_name = "Bibata-Modern-Classic";
-        font_name = "Noto Sans 11";
-      };
-    };
-  };
-}
diff --git a/home/wayland/services/ly.nix b/home/wayland/services/ly.nix
new file mode 100644
index 0000000..ca31f3a
--- /dev/null
+++ b/home/wayland/services/ly.nix
@@ -0,0 +1,33 @@
+{
+  pkgs,
+  lib,
+  ...
+}: {
+  # oneshot service to resize the main monitor
+  systemd.services.fbset = {
+    enable = true;
+    wantedBy = ["multi-user.target"];
+    unitConfig = {
+      Description = "Framebuffer resolution";
+      Before = "display-manager.service";
+    };
+    serviceConfig = {
+      User = "root";
+      Type = "oneshot";
+      ExecStart = "${lib.getExe pkgs.fbset} -xres 2560 -yres 1440 -match --all";
+      RemainAfterExit = "yes";
+      StandardOutput = "journal";
+      StandardError = "journal";
+    };
+  };
+  services.displayManager.ly = {
+    enable = true;
+    settings = {
+      load = true;
+      save = true;
+      animation = "matrix";
+      clear_password = true;
+      vi_mode = true;
+    };
+  };
+}