# hosts/m3-kratos/home.nix — Host-specific home-manager overrides. # AMD desktop: dual 2560x1440@144 via DisplayPort. # Everything else (shell, editors, gaming, media, theme, etc.) comes from # m3ta-home via the profile mapping in hosts/common/users/m3tam3re.nix. { config, lib, ... }: with lib; { imports = [ ]; config = mkMerge [ # ── XDG / MIME defaults ── { qt.platformTheme.name = mkForce "qtct"; xdg = { enable = true; configFile."mimeapps.list".force = true; mimeApps = { enable = true; associations.added = { "application/zip" = ["org.gnome.FileRoller.desktop"]; "application/csv" = ["calc.desktop"]; "application/pdf" = ["vivaldi-stable.desktop"]; "x-scheme-handler/http" = ["vivaldi-stable.desktop"]; "x-scheme-handler/https" = ["vivaldi-stable.desktop"]; }; defaultApplications = { "application/zip" = ["org.gnome.FileRoller.desktop"]; "application/csv" = ["calc.desktop"]; "application/pdf" = ["vivaldi-stable.desktop"]; "application/md" = ["dev.zed.Zed.desktop"]; "application/text" = ["dev.zed.Zed.desktop"]; "x-scheme-handler/http" = ["vivaldi-stable.desktop"]; "x-scheme-handler/https" = ["vivaldi-stable.desktop"]; }; }; }; } # ── Hyprland monitor layout ── (mkIf config.desktop.wm.hyprland.enable { wayland.windowManager.hyprland = { enable = true; settings = { monitor = [ "DP-1,2560x1440@144,0x0,1" "DP-2,2560x1440@144,2560x0,1" ]; workspace = [ "1, monitor:DP-1, default:true" "2, monitor:DP-1" "3, monitor:DP-1" "4, monitor:DP-2" "5, monitor:DP-2" "6, monitor:DP-2" "7, monitor:DP-2" ]; # m3ta-home sets QT_QPA_PLATFORMTHEME=gtk3 globally for Hyprland. # ksnip crashes with duplicate GDK type registration under that Qt GTK # platform theme, so use qtct for Qt apps on this host instead. env = mkForce [ "XCURSOR_SIZE,32" "HYPRCURSOR_THEME,Bibata-Modern-Ice" "WLR_NO_HARDWARE_CURSORS,1" "XDG_CURRENT_DESKTOP,Hyprland" "XDG_SESSION_TYPE,wayland" "XDG_SESSION_DESKTOP,Hyprland" "XKB_DEFAULT_LAYOUT,de" "NIXOS_OZONE_WL,1" "QT_QPA_PLATFORM,wayland;xcb" "QT_QPA_PLATFORMTHEME,qt5ct" "QT_QPA_PLATFORMTHEME_QT6,qt6ct" ]; windowrule = [ "match:class dev.zed.Zed, workspace 1" "match:class ^(com.obsproject.Studio)$, workspace 2" "match:class ^(brave-browser)$, workspace 4, opacity 1.0" "match:class ^(vivaldi-stable)$, workspace 4, opacity 1.0" "match:class ^steam_app_\\d+$, idle_inhibit focus" ]; }; }; }) ]; }