diff options
author | William Carroll <wpcarro@gmail.com> | 2020-03-16T13·59+0000 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-03-16T13·59+0000 |
commit | 1487d0666061f2ced7a87152e3e7c3f36378962c (patch) | |
tree | a822279a3076b4689d615749710664aec2e3a4a5 /configs | |
parent | fbf66c423b37d7f86b5f7679cb09d8bc75c41ff6 (diff) |
Support autorandr
Enable autorandr with Nix home-manager. I discovered autorandr when looking through the home-manager source code. I was hoping it would automatically enable/disable my external monitor when I connect/disconnect my HDMI cable, but it doesn't. With autorandr, I run... ```shell > autorandr --load mobile ``` ...to load my randr settings for just my laptop without the external monitor, and I run... ```shell > autorandr --load docked ``` ...to load my randr settings for my external monitor. I'm not sure if this brings much more value than my existing display.el module, but I'm willing to try it for now.
Diffstat (limited to 'configs')
-rw-r--r-- | configs/.config/nixpkgs/home.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/configs/.config/nixpkgs/home.nix b/configs/.config/nixpkgs/home.nix index a344ca7b772e..15008bd412fd 100644 --- a/configs/.config/nixpkgs/home.nix +++ b/configs/.config/nixpkgs/home.nix @@ -134,6 +134,52 @@ in { enableFishIntegration = true; }; + programs.autorandr = { + enable = true; + profiles = let + # To get these values, I ran `xrandr --props` and searched for + # 'EDID:'. While these are long and a bit unsightly, I cannot think of a + # desirable workaround, so I'm going to leave them for now. + laptop = "00ffffffffffff000daed71400000000151b0104a51f117802ee95a3544c99260f505400000001010101010101010101010101010101363680a0703820402e1e240035ad10000018000000fe004e3134304843452d474e320a20000000fe00434d4e0a202020202020202020000000fe004e3134304843452d474e320a2000e2"; + hdmi4k = "00ffffffffffff001e6d085b6d4a0400061c0103803c2278ea3035a7554ea3260f50542108007140818081c0a9c0d1c081000101010108e80030f2705a80b0588a0058542100001e04740030f2705a80b0588a0058542100001a000000fd00383d1e873c000a202020202020000000fc004c4720556c7472612048440a200150020330714d902220050403020161605d5e5f230907076d030c001000b83c20006001020367d85dc401788003e30f0003023a801871382d40582c450058542100001a565e00a0a0a029503020350058542100001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000ad"; + in { + mobile = { + fingerprint = { + eDP1 = laptop; + HDMI1 = hdmi4k; + }; + config = { + eDP1 = { + enable = true; + primary = true; + mode = "1920x1080"; + rate = "59.93"; + }; + HDMI1 = { + enable = false; + }; + }; + }; + docked = { + fingerprint = { + eDP1 = laptop; + HDMI1 = hdmi4k; + }; + config = { + eDP1 = { + enable = false; + }; + HDMI1 = { + enable = true; + primary = true; + mode = "3840x2160"; + rate = "30.00"; + }; + }; + }; + }; + }; + ############################################################################## # Services ############################################################################## |