nixos-config/home/afoucaultc/packages/niri/conf/workspaces.nix
2026-08-08 16:05:06 +02:00

80 lines
2 KiB
Nix

{ config, ... }:
{
programs.niri.settings = {
workspaces = {
"1" = {
name = "web";
open-on-output = "eDP-1";
};
"2" = {
name = "latex";
};
"3" = {
name = "games";
};
"4" = {
name = "discord";
};
};
window-rules = [
# Kitty lancé spécifiquement pour la session LaTeX -> 0.7, sans bordure/gaps
{
matches = [ { app-id = "^kitty-latex$"; } ];
open-on-workspace = "latex";
open-maximized = true; # <- corrigé
default-column-width.proportion = 0.7;
border.enable = false;
focus-ring.enable = false;
}
# Zathura -> 0.3, sans bordure/gaps
{
matches = [
{ app-id = "^org\\.pwmt\\.zathura$"; }
{ app-id = "^zathura$"; }
];
open-on-workspace = "latex";
open-maximized = true; # <- corrigé
default-column-width.proportion = 0.3;
border.enable = false;
focus-ring.enable = false;
}
# Steam -> workspace games
{
matches = [
{ app-id = "^steam$"; }
{ app-id = "^steam_app.*"; }
];
open-on-workspace = "games";
}
# Vesktop -> workspace discord
{
matches = [ { app-id = "^[Vv]esktop$"; } ];
open-on-workspace = "discord";
}
];
binds = {
"Alt+1".action.spawn = [
"sh"
"-c"
''niri msg action focus-workspace "web"; notify-send -a niri -u low -t 900 "web" || true''
];
"Alt+2".action.spawn = [
"sh"
"-c"
''niri msg action focus-workspace "latex"; notify-send -a niri -u low -t 900 "latex" || true''
];
"Alt+3".action.spawn = [
"sh"
"-c"
''niri msg action focus-workspace "games"; notify-send -a niri -u low -t 900 "games" || true''
];
"Alt+4".action.spawn = [
"sh"
"-c"
''niri msg action focus-workspace "discord"; notify-send -a niri -u low -t 900 "discord" || true''
];
};
};
}