sunshine: refactor module, reorder things around
This commit is contained in:
parent
c1c2a75ac4
commit
73ed58dbdc
@ -53,6 +53,44 @@ let
|
|||||||
sunshinePkg = pkgs.unstablePkgs.sunshine.override { cudaSupport = true; };
|
sunshinePkg = pkgs.unstablePkgs.sunshine.override { cudaSupport = true; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
boot.kernelModules = [ "uinput" ];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
sunshinePkg
|
||||||
|
xorg.xrandr
|
||||||
|
xorg.xorgserver
|
||||||
|
xorg.libxcvt
|
||||||
|
gamemode
|
||||||
|
];
|
||||||
|
|
||||||
|
variables = {
|
||||||
|
VDPAU_DRIVER = "nvidia";
|
||||||
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
NVD_BACKEND = "direct";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
pulseaudio.enable = true;
|
||||||
|
opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
powerManagement.enable = false;
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
open = false;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
package = nvidia-patch.patch-nvenc (nvidia-patch.patch-fbc nvidiaPackage);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.steam.enable = true;
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
polkit.extraConfig = ''
|
polkit.extraConfig = ''
|
||||||
polkit.addRule(function(action, subject) {
|
polkit.addRule(function(action, subject) {
|
||||||
@ -68,87 +106,74 @@ in
|
|||||||
rtkit.enable = true;
|
rtkit.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
avahi = {
|
||||||
|
enable = true;
|
||||||
|
publish.userServices = true;
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
udev.extraRules = ''
|
||||||
sunshinePkg
|
KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess"
|
||||||
xorg.xrandr
|
'';
|
||||||
xorg.xorgserver
|
|
||||||
xorg.libxcvt
|
|
||||||
gamemode
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.variables = {
|
xserver = {
|
||||||
VDPAU_DRIVER = "nvidia";
|
enable = true;
|
||||||
LIBVA_DRIVER_NAME = "nvidia";
|
videoDrivers = [ "nvidia" ];
|
||||||
NVD_BACKEND = "direct";
|
displayManager = {
|
||||||
|
sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = false;
|
||||||
|
autoLogin.relogin = true;
|
||||||
|
};
|
||||||
|
autoLogin = {
|
||||||
|
inherit user;
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
desktopManager.xfce.enable = true;
|
||||||
|
|
||||||
|
monitorSection = ''
|
||||||
|
HorizSync 5.0 - 1000.0
|
||||||
|
VertRefresh 5.0 - 1000.0
|
||||||
|
Option "DPMS"
|
||||||
|
|
||||||
|
# 2240x1290 @ 30.00 Hz (GTF) hsync: 39.39 kHz; pclk: 113.44 MHz
|
||||||
|
Modeline "2240x1290_30.00" 113.44 2240 2328 2560 2880 1290 1291 1294 1313 -HSync +Vsync
|
||||||
|
# 2240x1290 @ 60.00 Hz (GTF) hsync: 80.10 kHz; pclk: 243.50 MHz
|
||||||
|
Modeline "2240x1290_60.00" 243.50 2240 2400 2640 3040 1290 1291 1294 1335 -HSync +Vsync
|
||||||
|
# 2240x1290 @ 120.00 Hz (GTF) hsync: 165.84 kHz; pclk: 517.42 MHz
|
||||||
|
Modeline "2240x1290_120.00" 517.42 2240 2432 2680 3120 1290 1291 1294 1382 -HSync +Vsync
|
||||||
|
# 2800x1290 @ 30.00 Hz (GTF) hsync: 39.39 kHz; pclk: 141.80 MHz
|
||||||
|
Modeline "2800x1290_30.00" 141.80 2800 2912 3200 3600 1290 1291 1294 1313 -HSync +Vsync
|
||||||
|
# 2800x1290 @ 60.00 Hz (GTF) hsync: 80.10 kHz; pclk: 303.74 MHz
|
||||||
|
Modeline "2800x1290_60.00" 303.74 2800 2992 3296 3792 1290 1291 1294 1335 -HSync +Vsync
|
||||||
|
# 2800x1290 @ 120.00 Hz (GTF) hsync: 165.84 kHz; pclk: 647.44 MHz
|
||||||
|
Modeline "2800x1290_120.00" 647.44 2800 3040 3352 3904 1290 1291 1294 1382 -HSync +Vsync
|
||||||
|
'';
|
||||||
|
|
||||||
|
deviceSection = ''
|
||||||
|
VendorName "NVIDIA Corporation"
|
||||||
|
Option "CustomEDID" "DFP-1:/etc/X11/120edid.bin"
|
||||||
|
Option "ConnectedMonitor" "DFP-1"
|
||||||
|
'';
|
||||||
|
|
||||||
|
screenSection = ''
|
||||||
|
Monitor "Configured Monitor"
|
||||||
|
DefaultDepth 24
|
||||||
|
|
||||||
|
Option "ModeValidation" "NoVertRefreshCheck, NoHorizSyncCheck, NoMaxSizeCheck, NoMaxPClkCheck, AllowNonEdidModes, NoEdidMaxPClkCheck"
|
||||||
|
Option "UseEdidfreqs" "False"
|
||||||
|
Option "TripleBuffer" "False"
|
||||||
|
|
||||||
|
SubSection "Display"
|
||||||
|
Depth 24
|
||||||
|
EndSubSection
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
videoDrivers = [ "nvidia" ];
|
|
||||||
displayManager = {
|
|
||||||
sddm = {
|
|
||||||
enable = true;
|
|
||||||
wayland.enable = false;
|
|
||||||
autoLogin.relogin = true;
|
|
||||||
};
|
|
||||||
autoLogin = {
|
|
||||||
inherit user;
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
desktopManager.xfce.enable = true;
|
|
||||||
|
|
||||||
monitorSection = ''
|
|
||||||
HorizSync 5.0 - 1000.0
|
|
||||||
VertRefresh 5.0 - 1000.0
|
|
||||||
Option "DPMS"
|
|
||||||
|
|
||||||
# 2240x1290 @ 30.00 Hz (GTF) hsync: 39.39 kHz; pclk: 113.44 MHz
|
|
||||||
Modeline "2240x1290_30.00" 113.44 2240 2328 2560 2880 1290 1291 1294 1313 -HSync +Vsync
|
|
||||||
# 2240x1290 @ 60.00 Hz (GTF) hsync: 80.10 kHz; pclk: 243.50 MHz
|
|
||||||
Modeline "2240x1290_60.00" 243.50 2240 2400 2640 3040 1290 1291 1294 1335 -HSync +Vsync
|
|
||||||
# 2240x1290 @ 120.00 Hz (GTF) hsync: 165.84 kHz; pclk: 517.42 MHz
|
|
||||||
Modeline "2240x1290_120.00" 517.42 2240 2432 2680 3120 1290 1291 1294 1382 -HSync +Vsync
|
|
||||||
# 2800x1290 @ 30.00 Hz (GTF) hsync: 39.39 kHz; pclk: 141.80 MHz
|
|
||||||
Modeline "2800x1290_30.00" 141.80 2800 2912 3200 3600 1290 1291 1294 1313 -HSync +Vsync
|
|
||||||
# 2800x1290 @ 60.00 Hz (GTF) hsync: 80.10 kHz; pclk: 303.74 MHz
|
|
||||||
Modeline "2800x1290_60.00" 303.74 2800 2992 3296 3792 1290 1291 1294 1335 -HSync +Vsync
|
|
||||||
# 2800x1290 @ 120.00 Hz (GTF) hsync: 165.84 kHz; pclk: 647.44 MHz
|
|
||||||
Modeline "2800x1290_120.00" 647.44 2800 3040 3352 3904 1290 1291 1294 1382 -HSync +Vsync
|
|
||||||
'';
|
|
||||||
|
|
||||||
deviceSection = ''
|
|
||||||
VendorName "NVIDIA Corporation"
|
|
||||||
Option "CustomEDID" "DFP-1:/etc/X11/120edid.bin"
|
|
||||||
Option "ConnectedMonitor" "DFP-1"
|
|
||||||
'';
|
|
||||||
|
|
||||||
screenSection = ''
|
|
||||||
Monitor "Configured Monitor"
|
|
||||||
DefaultDepth 24
|
|
||||||
|
|
||||||
Option "ModeValidation" "NoVertRefreshCheck, NoHorizSyncCheck, NoMaxSizeCheck, NoMaxPClkCheck, AllowNonEdidModes, NoEdidMaxPClkCheck"
|
|
||||||
Option "UseEdidfreqs" "False"
|
|
||||||
Option "TripleBuffer" "False"
|
|
||||||
|
|
||||||
SubSection "Display"
|
|
||||||
Depth 24
|
|
||||||
EndSubSection
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Sunshine user, service and config
|
|
||||||
users.users.${user} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/${user}";
|
|
||||||
description = "Sunshine Server";
|
|
||||||
extraGroups = [ "wheel" "networkmanager" "input" "video" "sound" ];
|
|
||||||
openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1we38/N+t8Ah5yrLof8QUwhrob7/VXFKIddaJeOVBLuDVnW7ljiAtdtEiL69D/DV4Ohmt5wMvkAAjfuHmim6FD9A6lzPbSU4KH9W2dcckszKbbI636kuDwem/xui6BW3wJa6P+0xW5ksygEAkzcK2PXuC2b4B9uwhuUdKahiGMKDxISG/WianqAe72cGMfNkYvion3Y1VsMLUdm48d2ABnxNpr7NI9B5iJ8dziOft9gpgfz13CCQRlReo75gk/4xI+vSNrQp7eR+wzJy2/dZg/T8jtyA9Q6jVxrxBpqQ1LNXkAKaJkGo9OabF6Wgpzp+YTAurL4nwR2NaJxwFuyoKvACQy0ai4jrS3206gC6JXZv8ktZMZrwUN+jPqCwfgh5qObFkAqKCxbp52ioDek2MQLdOvzQBX//DBhGEp5rzHGLZ3vhRIiiQiaof5sF5zWiYDW5mqezSPNxJPX/BrTP/Wbs/jpwTLBh3wytiia0S1WXQmya89bqzTPFiDWvTRA62EVKB/JaQtPQQOFAxWwg799DMycPeZ81xttZOyMtI/MZSddyqx2S8fWGwvToZQvuZ38mSIpFseLM1IkgabRIrAmat5SBNGGy9Dqa0eMEa7bwIY/4CMB1y6HMTnaoMXA6cnQfHMoB/zyTZ6oTXIeqeOyiZsK+RN0Mvahj8mXi7dw== giulio@giulio-X230" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
targets = {
|
targets = {
|
||||||
sleep.enable = false;
|
sleep.enable = false;
|
||||||
@ -174,33 +199,15 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.avahi.publish.userServices = true;
|
users = {
|
||||||
boot.kernelModules = [ "uinput" ];
|
users.${user} = {
|
||||||
|
isNormalUser = true;
|
||||||
services.udev.extraRules = ''
|
home = "/home/${user}";
|
||||||
KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess"
|
description = "Sunshine Server";
|
||||||
'';
|
extraGroups = [ "wheel" "networkmanager" "input" "video" "sound" ];
|
||||||
|
openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1we38/N+t8Ah5yrLof8QUwhrob7/VXFKIddaJeOVBLuDVnW7ljiAtdtEiL69D/DV4Ohmt5wMvkAAjfuHmim6FD9A6lzPbSU4KH9W2dcckszKbbI636kuDwem/xui6BW3wJa6P+0xW5ksygEAkzcK2PXuC2b4B9uwhuUdKahiGMKDxISG/WianqAe72cGMfNkYvion3Y1VsMLUdm48d2ABnxNpr7NI9B5iJ8dziOft9gpgfz13CCQRlReo75gk/4xI+vSNrQp7eR+wzJy2/dZg/T8jtyA9Q6jVxrxBpqQ1LNXkAKaJkGo9OabF6Wgpzp+YTAurL4nwR2NaJxwFuyoKvACQy0ai4jrS3206gC6JXZv8ktZMZrwUN+jPqCwfgh5qObFkAqKCxbp52ioDek2MQLdOvzQBX//DBhGEp5rzHGLZ3vhRIiiQiaof5sF5zWiYDW5mqezSPNxJPX/BrTP/Wbs/jpwTLBh3wytiia0S1WXQmya89bqzTPFiDWvTRA62EVKB/JaQtPQQOFAxWwg799DMycPeZ81xttZOyMtI/MZSddyqx2S8fWGwvToZQvuZ38mSIpFseLM1IkgabRIrAmat5SBNGGy9Dqa0eMEa7bwIY/4CMB1y6HMTnaoMXA6cnQfHMoB/zyTZ6oTXIeqeOyiZsK+RN0Mvahj8mXi7dw== giulio@giulio-X230" ];
|
||||||
programs.steam.enable = true;
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
pulseaudio.enable = true;
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nvidia = {
|
groups.media.members = [ user ];
|
||||||
modesetting.enable = true;
|
|
||||||
powerManagement.enable = false;
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
open = false;
|
|
||||||
nvidiaSettings = true;
|
|
||||||
package = nvidia-patch.patch-nvenc (nvidia-patch.patch-fbc nvidiaPackage);
|
|
||||||
# package = config.boot.kernelPackages.nvidiaPackages.production;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.media.members = [ user ];
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user