diff --git a/modules/programs/autorandr.nix b/modules/programs/autorandr.nix index 37406a4bc..40cad704d 100644 --- a/modules/programs/autorandr.nix +++ b/modules/programs/autorandr.nix @@ -55,6 +55,13 @@ let default = true; }; + crtc = mkOption { + type = types.nullOr types.ints.unsigned; + description = "Output video display controller."; + default = null; + example = 0; + }; + primary = mkOption { type = types.bool; description = "Whether output should be marked as primary"; @@ -247,6 +254,7 @@ let if config.enable then concatStringsSep "\n" ([ "output ${name}" ] ++ optional (config.position != "") "pos ${config.position}" + ++ optional (config.crtc != null) "crtc ${toString config.crtc}" ++ optional config.primary "primary" ++ optional (config.dpi != null) "dpi ${toString config.dpi}" ++ optional (config.gamma != "") "gamma ${config.gamma}" @@ -315,6 +323,7 @@ in { eDP1.enable = false; DP1 = { enable = true; + crtc = 0; primary = true; position = "0x0"; mode = "3840x2160"; diff --git a/tests/modules/programs/autorandr/basic-configuration.conf b/tests/modules/programs/autorandr/basic-configuration.conf index 980d4d718..681574cf2 100644 --- a/tests/modules/programs/autorandr/basic-configuration.conf +++ b/tests/modules/programs/autorandr/basic-configuration.conf @@ -3,6 +3,7 @@ off output DP2 pos 0x0 +crtc 0 primary mode 1920x1080 transform 0.600000,0.000000,0.000000,0.000000,0.600000,0.000000,0.000000,0.000000,1.000000 diff --git a/tests/modules/programs/autorandr/basic-configuration.nix b/tests/modules/programs/autorandr/basic-configuration.nix index 852094c03..190511016 100644 --- a/tests/modules/programs/autorandr/basic-configuration.nix +++ b/tests/modules/programs/autorandr/basic-configuration.nix @@ -13,6 +13,7 @@ config = { DP1.enable = false; DP2 = { + crtc = 0; primary = true; position = "0x0"; mode = "1920x1080";