From df9a4dbe34e0b8f44367d265cadaf762aa53c913 Mon Sep 17 00:00:00 2001 From: notohh <github@notohh.dev> Date: Sat, 8 Feb 2025 23:06:45 -0500 Subject: [PATCH] wayland: switch to ly from greetd --- home/wayland/default.nix | 7 ++- home/wayland/services/greetd.nix | 79 -------------------------------- home/wayland/services/ly.nix | 33 +++++++++++++ 3 files changed, 36 insertions(+), 83 deletions(-) delete mode 100644 home/wayland/services/greetd.nix create mode 100644 home/wayland/services/ly.nix 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; + }; + }; +}