146 lines
4.2 KiB
Nix
146 lines
4.2 KiB
Nix
# 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; let
|
|
mkEnvVar = name: value: {
|
|
_args = [
|
|
name
|
|
value
|
|
];
|
|
};
|
|
in {
|
|
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 = [
|
|
{
|
|
output = "DP-1";
|
|
mode = "2560x1440@144";
|
|
position = "0x0";
|
|
scale = 1;
|
|
}
|
|
{
|
|
output = "DP-2";
|
|
mode = "2560x1440@144";
|
|
position = "2560x0";
|
|
scale = 1;
|
|
}
|
|
];
|
|
workspace_rule = [
|
|
{
|
|
workspace = "1";
|
|
monitor = "DP-1";
|
|
default = true;
|
|
}
|
|
{
|
|
workspace = "2";
|
|
monitor = "DP-1";
|
|
}
|
|
{
|
|
workspace = "3";
|
|
monitor = "DP-1";
|
|
}
|
|
{
|
|
workspace = "4";
|
|
monitor = "DP-2";
|
|
}
|
|
{
|
|
workspace = "5";
|
|
monitor = "DP-2";
|
|
}
|
|
{
|
|
workspace = "6";
|
|
monitor = "DP-2";
|
|
}
|
|
{
|
|
workspace = "7";
|
|
monitor = "DP-2";
|
|
}
|
|
];
|
|
# m3ta-home sets QT_QPA_PLATFORMTHEME to 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 [
|
|
(mkEnvVar "XCURSOR_SIZE" "32")
|
|
(mkEnvVar "HYPRCURSOR_THEME" "Bibata-Modern-Ice")
|
|
(mkEnvVar "WLR_NO_HARDWARE_CURSORS" "1")
|
|
(mkEnvVar "XDG_CURRENT_DESKTOP" "Hyprland")
|
|
(mkEnvVar "XDG_SESSION_TYPE" "wayland")
|
|
(mkEnvVar "XDG_SESSION_DESKTOP" "Hyprland")
|
|
(mkEnvVar "XKB_DEFAULT_LAYOUT" "de")
|
|
(mkEnvVar "NIXOS_OZONE_WL" "1")
|
|
(mkEnvVar "QT_QPA_PLATFORM" "wayland;xcb")
|
|
(mkEnvVar "QT_QPA_PLATFORMTHEME" "qt5ct")
|
|
(mkEnvVar "QT_QPA_PLATFORMTHEME_QT6" "qt6ct")
|
|
];
|
|
window_rule = [
|
|
{
|
|
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";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
})
|
|
];
|
|
}
|