From a6e46307b0ed984030d4773478344f99ff22f4de Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Fri, 1 Sep 2023 10:38:24 +0200 Subject: [PATCH] Elaborate set up for work --- home/modules/monitors.nix | 10 ++++++---- home/nki-x1c1.nix | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/home/modules/monitors.nix b/home/modules/monitors.nix index c587202..faea4a7 100644 --- a/home/modules/monitors.nix +++ b/home/modules/monitors.nix @@ -8,12 +8,12 @@ let "work" = { name = "LG Electronics LG ULTRAFINE 301MAXSGHD10"; mode = "3840x2160@60Hz"; - scale = "1.25"; + scale = 1.25; }; "home_4k" = { name = "AOC U28G2G6B PPYP2JA000013"; mode = "3840x2160@60Hz"; - scale = mkDefault "1.5"; + scale = 1.5; adaptive_sync = "on"; # render_bit_depth = "10"; }; @@ -33,7 +33,9 @@ let eachMonitor = _name: monitor: { name = monitor.name; - value = builtins.removeAttrs monitor [ "name" ]; + value = builtins.removeAttrs monitor [ "scale" "name" ] // (if monitor ? scale then { + scale = toString monitor.scale; + } else { }); }; in { @@ -44,7 +46,7 @@ in config.common.monitors = monitors; config.home.packages = mkIf config.wayland.windowManager.sway.enable (with pkgs; [ kanshi ]); config.wayland.windowManager.sway.config.output = mkIf config.wayland.windowManager.sway.enable ( - mapAttrs' eachMonitor monitors + mapAttrs' eachMonitor config.common.monitors ); } diff --git a/home/nki-x1c1.nix b/home/nki-x1c1.nix index 9f7407f..2c0a365 100644 --- a/home/nki-x1c1.nix +++ b/home/nki-x1c1.nix @@ -82,12 +82,12 @@ }; # Multiple screen setup - services.kanshi = { + services.kanshi = with config.common.monitors; { enable = true; profiles.undocked.outputs = [{ criteria = "LVDS-1"; }]; profiles.work-both.outputs = [ - { criteria = "eDP-1"; position = "0,0"; status = "enable"; } - { criteria = config.common.monitors.work.name; position = "1920,0"; } + { criteria = "eDP-1"; position = "0,${toString (builtins.floor ((2160 / work.scale - 1200) + 1200 / 3))}"; status = "enable"; } + { criteria = work.name; position = "1920,0"; } ]; profiles.work-one.outputs = [ { criteria = "eDP-1"; status = "disable"; }