Use i3wm for the second vnc server

This commit is contained in:
Benson Chu 2026-04-12 17:51:56 -05:00
parent 9bdda09cc2
commit 1eb2dd350e
2 changed files with 9 additions and 6 deletions

View file

@ -1,4 +1,4 @@
pkgs: user: port:
pkgs: user: display: port: xstartup:
{
enable = true;
environment = {
@ -15,9 +15,9 @@ pkgs: user: port:
WorkingDirectory = "/home/${user}";
Restart = "always";
ExecStartPre = "${pkgs.bash}/bin/bash -c '${pkgs.tigervnc}/bin/vncserver -kill :1 > /dev/null 2>&1 || :'";
ExecStart = "${pkgs.xorg.xinit}/bin/xinit /home/${user}/.vnc/xstartup -- ${pkgs.tigervnc}/bin/Xvnc :1 -rfbauth /home/${user}/.vnc/passwd -rfbport ${port}";
ExecStop = "${pkgs.tigervnc}/bin/vncserver -kill :1";
ExecStartPre = "${pkgs.bash}/bin/bash -c '${pkgs.tigervnc}/bin/vncserver -kill ${display} > /dev/null 2>&1 || :'";
ExecStart = "${pkgs.xorg.xinit}/bin/xinit /home/${user}/.vnc/${xstartup} -- ${pkgs.tigervnc}/bin/Xvnc ${display} -rfbauth /home/${user}/.vnc/passwd -rfbport ${port}";
ExecStop = "${pkgs.tigervnc}/bin/vncserver -kill ${display}";
};

View file

@ -22,9 +22,12 @@
networking.hostName = "Ythotha"; # Define your hostname.
services.xserver.windowManager.i3.enable = true;
# Make a VNC server available
systemd.services.vncserver = (import ../../common/exprs/make-vncserver.nix pkgs "benson" "5901");
networking.firewall.allowedTCPPorts = [ 5901 ];
systemd.services.vncserver_emacs = (import ../../common/exprs/make-vncserver.nix pkgs "benson" ":1" "5901" "xstartup");
systemd.services.vncserver_i3 = (import ../../common/exprs/make-vncserver.nix pkgs "benson" ":2" "5902" "i3");
networking.firewall.allowedTCPPorts = [ 5901 5902 ];
# Define a user account. Don't forget to set a password with passwd.
users.users.benson = {