wayvnc: Split from sway module
This commit is contained in:
parent
8f4a6bce7a
commit
ffa60e8baa
4 changed files with 76 additions and 19 deletions
|
@ -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";
|
||||||
|
|
66
home-manager/modules/wayvnc/default.nix
Normal file
66
home-manager/modules/wayvnc/default.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 {
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
Loading…
Reference in a new issue