From 461ac515528897e8e2ce7c1f891372995f9817d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 31 Jul 2025 16:19:36 +0200 Subject: [PATCH] refactor(niri): simplify config --- modules/moritz/programs/niri.nix | 43 ++++++++------------------------ 1 file changed, 11 insertions(+), 32 deletions(-) diff --git a/modules/moritz/programs/niri.nix b/modules/moritz/programs/niri.nix index 529ed06..2206f5a 100644 --- a/modules/moritz/programs/niri.nix +++ b/modules/moritz/programs/niri.nix @@ -7,7 +7,7 @@ }: let cfg = config.my.programs.niri; inherit (config.home-manager.users.moritz.lib.niri) actions; - inherit (lib) mkEnableOption getExe mkIf mkPackageOption; + inherit (lib) mkEnableOption mkIf mkPackageOption; in { imports = [ inputs.niri.nixosModules.niri @@ -64,10 +64,7 @@ in { enable = true; # start using systemd service - systemd = { - enable = true; - target = "niri.service"; - }; + systemd.enable = true; settings = { mainBar = { @@ -89,8 +86,12 @@ in { color = "000000"; }; }; - systemd.user.services.waybar.Unit.After = ["graphical-session.target"]; - systemd.user.services.swayidle.Unit.After = ["graphical-session.target"]; + + wayland.systemd.target = "niri.service"; + + systemd.user.services.waybar.Unit.After = [ "graphical-session.target" ]; + systemd.user.services.swayidle.Unit.After = [ "graphical-session.target" ]; + services.swayidle = { enable = true; events = [ @@ -115,16 +116,14 @@ in { command = "${pkgs.systemd}/bin/loginctl lock-session"; } ]; - systemdTarget = "niri.service"; }; services.dunst.enable = true; - services.kanshi = { - enable = true; - systemdTarget = "niri.service"; - }; + services.kanshi.enable = true; + programs.niri = { package = pkgs.niri; settings = { + xwayland-satellite.path = lib.getExe inputs.niri.packages.${pkgs.system}.xwayland-satellite-unstable; environment = { "NIXOS_OZONE_WL" = "1"; "QT_QPA_PLATFORM" = "wayland"; @@ -202,9 +201,6 @@ in { "XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+" "-l" "1.0"]; "XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"]; }; - environment = { - DISPLAY = ":0"; - }; gestures.hot-corners.enable = false; layout = { border.enable = false; @@ -263,23 +259,6 @@ in { }; }; - systemd.user.services.xwayland-satellite = { - description = "Xwayland outside your Wayland"; - after = ["graphical-session.target"]; - wantedBy = ["graphical-session.target"]; - partOf = ["graphical-session.target"]; - bindsTo = ["graphical-session.target"]; - requisite = ["graphical-session.target"]; - serviceConfig = { - Type = "notify"; - Restart = "always"; - RestartSec = "1s"; - ExecStart = "${getExe pkgs.xwayland-satellite}"; - StandardOutput = "journal"; - NotifyAccess = "all"; - }; - }; - services = { dbus.enable = true; # use pipewire (needed for screensharing)