From bcd1979166d5bf4fc4b3bf4b01d8a78a7c1322c6 Mon Sep 17 00:00:00 2001 From: twoneis Date: Sun, 21 Jul 2024 04:23:50 +0200 Subject: [PATCH] xwayland satellite service --- modules/niri/default.nix | 84 ++++++++++++++------------ modules/niri/xwl-satellite.service.nix | 19 ++++++ 2 files changed, 63 insertions(+), 40 deletions(-) create mode 100644 modules/niri/xwl-satellite.service.nix diff --git a/modules/niri/default.nix b/modules/niri/default.nix index 4ce0eb4..a32f131 100644 --- a/modules/niri/default.nix +++ b/modules/niri/default.nix @@ -1,51 +1,55 @@ -{ inputs, lib, config, pkgs, ... }: lib.mkIf config.withNiri { - nixpkgs.overlays = [ inputs.niri.overlays.niri ]; +{ inputs, lib, config, pkgs, ... }: { + imports = [ + ./xwl-satellite.service.nix + ]; - programs.niri = { - enable = true; - package = pkgs.niri-unstable; - }; - - home-manager.users.${config.username} = { - home.packages = with pkgs; [ - brightnessctl - swaybg - xwayland-satellite - xwayland - ]; + config = lib.mkIf config.withNiri { + nixpkgs.overlays = [ inputs.niri.overlays.niri ]; programs.niri = { - settings = import ./niri.conf.nix { config = config; }; + enable = true; + package = pkgs.niri-unstable; }; - programs.fuzzel= { - enable = true; - settings = import ./fuzzel.conf.nix { lib = lib; config = config; }; - }; + home-manager.users.${config.username} = { + home.packages = with pkgs; [ + brightnessctl + swaybg + ]; - programs.waybar = { - enable = true; - settings = import ./waybar.conf.nix { config = config; }; - style = builtins.readFile(./waybar.conf.css); - }; + programs.niri = { + settings = import ./niri.conf.nix { config = config; }; + }; - services.mako = { - enable = true; - defaultTimeout = 5000; - maxVisible = 3; - font = "AlegreyaSans"; - backgroundColor = config.theme.base; - borderColor = config.theme.muted; - textColor = config.theme.text; - borderSize = 1; - borderRadius = 8; - icons = false; - }; + programs.fuzzel= { + enable = true; + settings = import ./fuzzel.conf.nix { lib = lib; config = config; }; + }; - programs.swaylock = { - enable = true; - package = pkgs.swaylock-effects; - settings = import ./swaylock.conf.nix { lib = lib; config = config; }; + programs.waybar = { + enable = true; + settings = import ./waybar.conf.nix { config = config; }; + style = builtins.readFile(./waybar.conf.css); + }; + + services.mako = { + enable = true; + defaultTimeout = 5000; + maxVisible = 3; + font = "AlegreyaSans"; + backgroundColor = config.theme.base; + borderColor = config.theme.muted; + textColor = config.theme.text; + borderSize = 1; + borderRadius = 8; + icons = false; + }; + + programs.swaylock = { + enable = true; + package = pkgs.swaylock-effects; + settings = import ./swaylock.conf.nix { lib = lib; config = config; }; + }; }; }; } diff --git a/modules/niri/xwl-satellite.service.nix b/modules/niri/xwl-satellite.service.nix new file mode 100644 index 0000000..3c85796 --- /dev/null +++ b/modules/niri/xwl-satellite.service.nix @@ -0,0 +1,19 @@ +{ lib, config, pkgs, ... }: lib.mkIf config.withNiri { + environment.systemPackages = with pkgs; [ xwayland-satellite xwayland ]; + systemd.services.xwayland-satellite = { + description = "Xwayland outside your Wayland"; + + wantedBy = [ "graphical-session.target" ]; + bindsTo = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + requisite = [ "graphical-session.target" ]; + + serviceConfig = { + Type = "notify"; + NotifyAccess = "all"; + ExecStart = "/${pkgs.xwayland-satellite}/bin/xwayland-satellite"; + StandardOutput = "journal"; + }; + }; +}