2026-05-02 09:53:27 +02:00
|
|
|
# hosts/m3-ares/home.nix — Host-specific home-manager overrides.
|
2026-05-02 10:41:12 +02:00
|
|
|
# TUXEDO laptop: eDP-1 + HDMI-A-1 external monitor.
|
|
|
|
|
# Everything else (shell, editors, gaming, media, theme, etc.) comes from
|
|
|
|
|
# m3ta-home via the profile mapping in hosts/common/users/m3tam3re.nix.
|
|
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}:
|
2026-05-02 09:53:27 +02:00
|
|
|
with lib; {
|
2026-05-02 10:41:12 +02:00
|
|
|
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"];
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-05-02 09:53:27 +02:00
|
|
|
};
|
2026-05-02 10:41:12 +02:00
|
|
|
}
|
|
|
|
|
|
2026-05-18 17:27:15 +02:00
|
|
|
# ── Hyprland monitor layout & host-specific rules ──
|
2026-05-02 10:41:12 +02:00
|
|
|
(mkIf config.desktop.wm.hyprland.enable {
|
|
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings = {
|
2026-05-18 17:27:15 +02:00
|
|
|
# Laptop internal + external HDMI
|
2026-05-02 10:41:12 +02:00
|
|
|
monitor = [
|
2026-05-18 17:27:15 +02:00
|
|
|
{ output = "eDP-1"; mode = "preferred"; position = "0x0"; scale = 1.25; }
|
|
|
|
|
{ output = "HDMI-A-1"; mode = "1920x1080@120"; position = "2560x0"; scale = 1; }
|
2026-05-02 10:41:12 +02:00
|
|
|
];
|
2026-05-18 17:27:15 +02:00
|
|
|
workspace_rule = [
|
|
|
|
|
{ workspace = 1; monitor = "eDP-1"; default = true; }
|
|
|
|
|
{ workspace = 2; monitor = "eDP-1"; }
|
|
|
|
|
{ workspace = 3; monitor = "eDP-1"; }
|
|
|
|
|
{ workspace = 4; monitor = "HDMI-A-1"; }
|
|
|
|
|
{ workspace = 5; monitor = "HDMI-A-1"; border = false; rounding = false; }
|
|
|
|
|
{ workspace = 6; monitor = "HDMI-A-1"; }
|
2026-05-02 10:41:12 +02:00
|
|
|
];
|
2026-05-18 17:27:15 +02:00
|
|
|
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+$" }; fullscreen = true; workspace = "5"; idle_inhibit = "focus"; }
|
2026-05-02 10:41:12 +02:00
|
|
|
];
|
|
|
|
|
};
|
2026-05-18 17:27:15 +02:00
|
|
|
extraConfig = mkAfter ''
|
|
|
|
|
-- Host startup: TUXEDO backlight
|
|
|
|
|
hl.on("hyprland.start", function()
|
|
|
|
|
hl.exec_cmd("tuxedo-backlight")
|
|
|
|
|
end)
|
|
|
|
|
'';
|
2026-05-02 10:41:12 +02:00
|
|
|
};
|
|
|
|
|
})
|
|
|
|
|
];
|
2026-05-02 09:53:27 +02:00
|
|
|
}
|