wayvnc: Split from sway module

This commit is contained in:
Erwin Boskma 2024-07-28 20:49:49 +02:00
parent 8f4a6bce7a
commit ffa60e8baa
Signed by: erwin
SSH key fingerprint: SHA256:/Wk1WZdLg+vQHs3in9qq7PsIp8SMzwGSk/RLZ5zPuZk
4 changed files with 76 additions and 19 deletions

View file

@ -18,7 +18,6 @@ in
{ {
options.eboskma.programs.sway = { options.eboskma.programs.sway = {
enable = mkEnableOption "sway"; enable = mkEnableOption "sway";
wayvnc = mkEnableOption "wayvnc";
package = mkPackageOption pkgs "sway" { }; package = mkPackageOption pkgs "sway" { };
lock-wallpaper = mkOption { lock-wallpaper = mkOption {
@ -368,23 +367,6 @@ in
}; };
systemd.user = { systemd.user = {
services = {
wayvnc = mkIf cfg.wayvnc {
Unit = {
Description = "VNC server for wlroots based Wayland compositors";
After = [ "sway-session.target" ];
};
Service = {
ExecStart = "${pkgs.wayvnc}/bin/wayvnc 0.0.0.0";
Restart = "always";
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
};
};
targets.tray = { targets.tray = {
Unit = { Unit = {
Description = "Home Manager System Tray"; Description = "Home Manager System Tray";

View file

@ -0,0 +1,66 @@
{
pkgs,
config,
lib,
...
}:
with lib;
let
cfg = config.eboskma.services.wayvnc;
wayvncArgs = builtins.concatStringsSep " " (
(lib.optional cfg.gpuAcceleration "--gpu") ++ [ cfg.listenAddress ]
);
in
{
options.eboskma.services.wayvnc = {
enable = mkEnableOption "wayvnc";
listenAddress = mkOption {
description = "Bind wayvnc to this address";
type = types.str;
default = "0.0.0.0";
};
gpuAcceleration = mkEnableOption "GPU Accelerated encoding";
};
config = mkIf cfg.enable {
# [Unit]
# Description=A VNC server for wlroots based Wayland compositors
# Requires=sway.service
# After=sway.service
# [Service]
# Type=simple
# ExecStart=/usr/bin/wayvnc
# Restart=on-failure
# RestartSec=1
# TimeoutStopSec=10
# [Install]
# WantedBy=multi-user.target
systemd.user = {
services = {
wayvnc = {
Unit = {
Description = "A VNC server for wlroots based Wayland compositors";
Requires = [ "sway-session.target" ];
After = [ "sway-session.target" ];
};
Service = {
ExecStart = "${pkgs.wayvnc}/bin/wayvnc ${wayvncArgs}";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
Install = {
WantedBy = [ "multi-user.target" ];
};
};
};
};
};
}

View file

@ -150,6 +150,12 @@ in
copyCommand = "${pkgs.wl-clipboard}/bin/wl-copy"; copyCommand = "${pkgs.wl-clipboard}/bin/wl-copy";
}; };
}; };
services = {
wayvnc = {
enable = true;
gpuAcceleration = true;
};
};
}; };
home = { home = {
@ -178,6 +184,7 @@ in
element-desktop element-desktop
fd fd
ffmpeg_5-full ffmpeg_5-full
hashcat
helvum helvum
imagemagick imagemagick
(imv.override { (imv.override {

View file

@ -122,7 +122,6 @@ in
sway = { sway = {
enable = true; enable = true;
package = pkgs.sway; package = pkgs.sway;
wayvnc = true;
lock-wallpaper = "${homeCfg.home.homeDirectory}/.wallpapers/river-3840.png"; lock-wallpaper = "${homeCfg.home.homeDirectory}/.wallpapers/river-3840.png";
output = { output = {
"DP-1" = { "DP-1" = {
@ -163,6 +162,9 @@ in
}; };
services = { services = {
xbanish.enable = false; xbanish.enable = false;
wayvnc = {
enable = true;
};
}; };
}; };
programs = { programs = {