53 lines
1.4 KiB
Nix
Executable File
53 lines
1.4 KiB
Nix
Executable File
{ pkgs, ... }: {
|
|
# Create VNC startup scripts for different desktop environments
|
|
environment.etc."vnc/xstartup-plasma".source = pkgs.writeScript "xstartup-plasma" ''
|
|
#!/usr/bin/env bash
|
|
|
|
# Set up environment
|
|
export XDG_CURRENT_DESKTOP=KDE
|
|
export KDE_SESSION_VERSION=5
|
|
export QT_QPA_PLATFORM=xcb
|
|
|
|
# Start D-Bus if not running
|
|
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
|
eval $(dbus-launch --sh-syntax --exit-with-session)
|
|
fi
|
|
|
|
# Start Plasma desktop session
|
|
exec startplasma-x11
|
|
'';
|
|
|
|
environment.etc."vnc/xstartup-xfce".source = pkgs.writeScript "xstartup-xfce" ''
|
|
#!/usr/bin/env bash
|
|
|
|
# Set up environment
|
|
export XDG_CURRENT_DESKTOP=XFCE
|
|
export XDG_SESSION_DESKTOP=xfce
|
|
|
|
# Start D-Bus if not running
|
|
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
|
eval $(dbus-launch --sh-syntax --exit-with-session)
|
|
fi
|
|
|
|
# Start XFCE session
|
|
exec startxfce4
|
|
'';
|
|
|
|
environment.etc."vnc/xstartup-minimal".source = pkgs.writeScript "xstartup-minimal" ''
|
|
#!/usr/bin/env bash
|
|
|
|
# Minimal desktop with window manager only
|
|
xrdb $HOME/.Xresources
|
|
xsetroot -solid grey
|
|
|
|
# Start a simple window manager and terminal
|
|
icewm &
|
|
exec konsole
|
|
'';
|
|
|
|
# Make scripts executable
|
|
system.activationScripts.vnc-scripts = ''
|
|
chmod +x /etc/vnc/xstartup-*
|
|
'';
|
|
}
|