Files
nixos-config/hosts/m3-kratos/home.nix
T
m3ta-chiron 826569ed98 feat: migrate host Hyprland configs to Lua (Hyprland 0.55+)
- m3-kratos/home.nix: use hl.monitor({}), hl.workspace_rule({}),
  hl.window_rule({}) table-based Lua API
- m3-ares/home.nix: same Lua API + tuxedo-backlight via hl.on()
- Update flake.lock: home-manager -> 74f170c6 (2026-05-18)
2026-05-18 17:27:15 +02:00

71 lines
2.7 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; {
config = mkMerge [
# ── XDG / MIME defaults ──
{
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 & host-specific rules ──
(mkIf config.desktop.wm.hyprland.enable {
wayland.windowManager.hyprland = {
enable = true;
settings = {
# Dual monitor: DP-1 left, DP-2 right
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"; }
];
window_rule = [
{ match = { class = "dev.zed.Zed" }; workspace = "1"; }
{ match = { class = "Msty" }; 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"; }
];
};
};
})
];
}