Files
nixos/desktop/modules/gdm-monitors.nix
2026-03-23 21:24:20 +01:00

298 lines
8.3 KiB
Nix

{
config,
pkgs,
lib,
...
}: let
gdmMonitorsXml = pkgs.writeText "gdm-monitor.xml" ''
<monitors version="2">
<configuration>
<layoutmode>logical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>HPN</vendor>
<product>HP 24fh</product>
<serial>3CM8340KRZ </serial>
</monitorspec>
<mode>
<width>1920</width>
<height>1080</height>
<rate>74.973</rate>
<ratemode>variable</ratemode>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>unknown</vendor>
<product>unknown</product>
<serial>unknown</serial>
</monitorspec>
<mode>
<width>640</width>
<height>480</height>
<rate>59.940</rate>
</mode>
<underscanning>yes</underscanning>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-A-1</connector>
<vendor>unknown</vendor>
<product>unknown</product>
<serial>unknown</serial>
</monitorspec>
<mode>
<width>640</width>
<height>480</height>
<rate>59.940</rate>
</mode>
<underscanning>yes</underscanning>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-2</connector>
<vendor>unknown</vendor>
<product>unknown</product>
<serial>unknown</serial>
</monitorspec>
<mode>
<width>640</width>
<height>480</height>
<rate>59.940</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>logical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>SAM</vendor>
<product>SMB2240W</product>
<serial>H9FZ915793</serial>
</monitorspec>
<mode>
<width>1680</width>
<height>1050</height>
<rate>59.883</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>HPN</vendor>
<product>HP 24fh</product>
<serial>3CM8340KRZ </serial>
</monitorspec>
<mode>
<width>1920</width>
<height>1080</height>
<rate>60.000</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>102</x>
<y>1080</y>
<scale>1</scale>
<monitor>
<monitorspec>
<connector>Meta-0</connector>
<vendor>MetaVendor</vendor>
<product>Virtual remote monitor</product>
<serial>0x000001</serial>
</monitorspec>
<mode>
<width>1728</width>
<height>1080</height>
<rate>60.000</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>HPN</vendor>
<product>HP 24fh</product>
<serial>3CM8340KRZ </serial>
</monitorspec>
<mode>
<width>1920</width>
<height>1080</height>
<rate>74.973</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-A-1</connector>
<vendor>SAM</vendor>
<product>SMB2240W</product>
<serial>H9FZ915793</serial>
</monitorspec>
<mode>
<width>1680</width>
<height>1050</height>
<rate>59.883</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>logical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>HPN</vendor>
<product>HP 24fh</product>
<serial>3CM8340KRZ </serial>
</monitorspec>
<mode>
<width>1920</width>
<height>1080</height>
<rate>74.973</rate>
<ratemode>variable</ratemode>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>SAM</vendor>
<product>SMB2240W</product>
<serial>H9FZ915793</serial>
</monitorspec>
<mode>
<width>1680</width>
<height>1050</height>
<rate>59.883</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>SAM</vendor>
<product>SMB2240W</product>
<serial>H9FZ915793</serial>
</monitorspec>
<mode>
<width>1680</width>
<height>1050</height>
<rate>59.883</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>0</x>
<y>1050</y>
<scale>1</scale>
<monitor>
<monitorspec>
<connector>Meta-0</connector>
<vendor>MetaVendor</vendor>
<product>Virtual remote monitor</product>
<serial>0x000001</serial>
</monitorspec>
<mode>
<width>1728</width>
<height>1080</height>
<rate>60.000</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>
'';
in {
systemd.tmpfiles.rules = [
"L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}"
];
}