diff --git a/home-manager/programs/hyprland/default.nix b/home-manager/programs/hyprland/default.nix index dc13f49..9368a24 100644 --- a/home-manager/programs/hyprland/default.nix +++ b/home-manager/programs/hyprland/default.nix @@ -37,8 +37,7 @@ }; extraConfig = (if config.homeconfig.host == "laptop" then '' - monitor=eDP-1,1920x1080@300,0x0,1 - bind = CTRL SHIFT, XF86Launch2, exec, if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then hyprctl keyword monitor eDP-1,1920x1080@60,0x0,1; else hyprctl keyword monitor eDP-1,1920x1080@300,0x0,1; fi + bind = CTRL SHIFT, XF86Launch2, exec, if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then /run/current-system/bin/switch-to-configuration switch; else /run/current-system/specialisation/docked/bin/switch-to-configuration switch; fi '' else if config.homeconfig.host == "homebox" then '' monitor=HDMI-A-2,1920x1080@60,0x0,1 monitor=HEADLESS-2,1920x1080@60,0x0,1 diff --git a/system-config/configuration/laptop/default.nix b/system-config/configuration/laptop/default.nix index 7c0e05b..ec663af 100644 --- a/system-config/configuration/laptop/default.nix +++ b/system-config/configuration/laptop/default.nix @@ -34,6 +34,20 @@ systemd.extraConfig = "DefaultLimitNOFILE=2048"; + specialisation = { + docked.configuration = { + hardware.nvidia.prime.sync.enable = true; + + home-manager.users.nathan.wayland.windowManager.hyprland.extraConfig = '' + monitor=eDP-1,1920x1080@300,0x0,1 + ''; + }; + }; + + home-manager.users.nathan.wayland.windowManager.hyprland.extraConfig = lib.mkIf (config.specialisation != {}) '' + monitor=eDP-1,1920x1080@60,0x0,1 + ''; + hardware = { graphics.enable = true; @@ -56,7 +70,7 @@ # WARNING: sync and offload are mutually exclusive. # You can only pick one!! #sync.enable = true; - offload = { + offload = lib.mkIf (config.specialisation != {}) { enable = true; enableOffloadCmd = true; };