hyprland: make workspaces host-defined
This commit is contained in:
@@ -59,7 +59,19 @@
|
|||||||
hyprland.enableGrimblast = true;
|
hyprland.enableGrimblast = true;
|
||||||
hyprland.enableWacom = true;
|
hyprland.enableWacom = true;
|
||||||
hyprland.cursorNoHardware = true;
|
hyprland.cursorNoHardware = true;
|
||||||
hyprland.workspaceStrategy = "named";
|
|
||||||
|
hyprland.extraWorkspaces = [
|
||||||
|
"name:T1, monitor:$mon_top, persistent:true, default:true"
|
||||||
|
"name:T2, monitor:$mon_top, persistent:true, default:false"
|
||||||
|
"name:L1, monitor:$mon_left, persistent:true, default:true"
|
||||||
|
"name:L2, monitor:$mon_left, persistent:true, default:false"
|
||||||
|
"name:R1, monitor:$mon_right, persistent:true, default:true"
|
||||||
|
"name:R2, monitor:$mon_right, persistent:true, default:false"
|
||||||
|
"name:c1, monitor:$mon_center, persistent:true, default:true"
|
||||||
|
"name:c2, monitor:$mon_center, persistent:true, default:false"
|
||||||
|
"name:c3, monitor:$mon_center, persistent:true, default:false"
|
||||||
|
"name:c4, monitor:$mon_center, persistent:true, default:false"
|
||||||
|
];
|
||||||
|
|
||||||
hyprland.monitorVariables = {
|
hyprland.monitorVariables = {
|
||||||
"$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000";
|
"$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000";
|
||||||
@@ -80,6 +92,19 @@
|
|||||||
"$shiftMainMod,Print,exec,grimblast copy area"
|
"$shiftMainMod,Print,exec,grimblast copy area"
|
||||||
",Print,exec,grimblast copy active"
|
",Print,exec,grimblast copy active"
|
||||||
"$mainMod,v,exec,sleep 0.5s && wl-paste | wtype -"
|
"$mainMod,v,exec,sleep 0.5s && wl-paste | wtype -"
|
||||||
|
# Workspace keybinds
|
||||||
|
"$mainMod,1,workspace,name:c1"
|
||||||
|
"$mainMod,2,workspace,name:c2"
|
||||||
|
"$mainMod,3,workspace,name:c3"
|
||||||
|
"$mainMod,4,workspace,name:c4"
|
||||||
|
"$mainMod,5,workspace,5"
|
||||||
|
"$mainMod,6,workspace,6"
|
||||||
|
"$shiftMainMod,1,movetoworkspace,name:c1"
|
||||||
|
"$shiftMainMod,2,movetoworkspace,name:c2"
|
||||||
|
"$shiftMainMod,3,movetoworkspace,name:c3"
|
||||||
|
"$shiftMainMod,4,movetoworkspace,name:c4"
|
||||||
|
"$shiftMainMod,5,movetoworkspace,5"
|
||||||
|
"$shiftMainMod,6,movetoworkspace,6"
|
||||||
];
|
];
|
||||||
home = {
|
home = {
|
||||||
username = "${user}";
|
username = "${user}";
|
||||||
|
|||||||
@@ -38,6 +38,21 @@
|
|||||||
tmux.enable = true;
|
tmux.enable = true;
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
hyprland.monitors = [ "eDP-1,1920x1080@60,0x0,1" ];
|
hyprland.monitors = [ "eDP-1,1920x1080@60,0x0,1" ];
|
||||||
|
hyprland.extraKeybinds = [
|
||||||
|
# Workspace keybinds
|
||||||
|
"$mainMod,1,workspace,1"
|
||||||
|
"$mainMod,2,workspace,2"
|
||||||
|
"$mainMod,3,workspace,3"
|
||||||
|
"$mainMod,4,workspace,4"
|
||||||
|
"$mainMod,5,workspace,5"
|
||||||
|
"$mainMod,6,workspace,6"
|
||||||
|
"$shiftMainMod,1,movetoworkspace,1"
|
||||||
|
"$shiftMainMod,2,movetoworkspace,2"
|
||||||
|
"$shiftMainMod,3,movetoworkspace,3"
|
||||||
|
"$shiftMainMod,4,movetoworkspace,4"
|
||||||
|
"$shiftMainMod,5,movetoworkspace,5"
|
||||||
|
"$shiftMainMod,6,movetoworkspace,6"
|
||||||
|
];
|
||||||
home = {
|
home = {
|
||||||
username = "${user}";
|
username = "${user}";
|
||||||
homeDirectory = "/home/${user}";
|
homeDirectory = "/home/${user}";
|
||||||
|
|||||||
@@ -56,13 +56,14 @@ in
|
|||||||
description = "Monitor names for hyprlock backgrounds (null for all monitors)";
|
description = "Monitor names for hyprlock backgrounds (null for all monitors)";
|
||||||
};
|
};
|
||||||
|
|
||||||
workspaceStrategy = mkOption {
|
extraWorkspaces = mkOption {
|
||||||
type = types.enum [
|
type = types.listOf types.str;
|
||||||
"numbered"
|
default = [ ];
|
||||||
"named"
|
example = [
|
||||||
|
"1, monitor:eDP-1, persistent:true, default:true"
|
||||||
|
"2, monitor:eDP-1, persistent:true"
|
||||||
];
|
];
|
||||||
default = "numbered";
|
description = "Extra workspace definitions for Hyprland";
|
||||||
description = "Workspace naming strategy: numbered (1-6) or named per monitor";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
monitorVariables = mkOption {
|
monitorVariables = mkOption {
|
||||||
@@ -281,22 +282,8 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
workspace =
|
workspace =
|
||||||
if cfg.workspaceStrategy == "named" then
|
[ "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" ]
|
||||||
[
|
++ cfg.extraWorkspaces;
|
||||||
"name:T1, monitor:$mon_top, persistent:true, default:true"
|
|
||||||
"name:T2, monitor:$mon_top, persistent:true, default:false"
|
|
||||||
"name:L1, monitor:$mon_left, persistent:true, default:true"
|
|
||||||
"name:L2, monitor:$mon_left, persistent:true, default:false"
|
|
||||||
"name:R1, monitor:$mon_right, persistent:true, default:true"
|
|
||||||
"name:R2, monitor:$mon_right, persistent:true, default:false"
|
|
||||||
"name:c1, monitor:$mon_center, persistent:true, default:true"
|
|
||||||
"name:c2, monitor:$mon_center, persistent:true, default:false"
|
|
||||||
"name:c3, monitor:$mon_center, persistent:true, default:false"
|
|
||||||
"name:c4, monitor:$mon_center, persistent:true, default:false"
|
|
||||||
"special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false"
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" ];
|
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
"$mainMod,mouse:272,movewindow"
|
"$mainMod,mouse:272,movewindow"
|
||||||
@@ -335,38 +322,6 @@ in
|
|||||||
"$shiftMainMod,o,exec, hl-no-opacity"
|
"$shiftMainMod,o,exec, hl-no-opacity"
|
||||||
]
|
]
|
||||||
++ cfg.extraKeybinds
|
++ cfg.extraKeybinds
|
||||||
++ (
|
|
||||||
if cfg.workspaceStrategy == "numbered" then
|
|
||||||
[
|
|
||||||
"$mainMod,1,workspace,1"
|
|
||||||
"$mainMod,2,workspace,2"
|
|
||||||
"$mainMod,3,workspace,3"
|
|
||||||
"$mainMod,4,workspace,4"
|
|
||||||
"$mainMod,5,workspace,5"
|
|
||||||
"$mainMod,6,workspace,6"
|
|
||||||
"$shiftMainMod,1,movetoworkspace,1"
|
|
||||||
"$shiftMainMod,2,movetoworkspace,2"
|
|
||||||
"$shiftMainMod,3,movetoworkspace,3"
|
|
||||||
"$shiftMainMod,4,movetoworkspace,4"
|
|
||||||
"$shiftMainMod,5,movetoworkspace,5"
|
|
||||||
"$shiftMainMod,5,movetoworkspace,6"
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[
|
|
||||||
"$mainMod,1,workspace,name:c1"
|
|
||||||
"$mainMod,2,workspace,name:c2"
|
|
||||||
"$mainMod,3,workspace,name:c3"
|
|
||||||
"$mainMod,4,workspace,name:c4"
|
|
||||||
"$mainMod,5,workspace,5"
|
|
||||||
"$mainMod,6,workspace,6"
|
|
||||||
"$shiftMainMod,1,movetoworkspace,name:c1"
|
|
||||||
"$shiftMainMod,2,movetoworkspace,name:c2"
|
|
||||||
"$shiftMainMod,3,movetoworkspace,name:c3"
|
|
||||||
"$shiftMainMod,4,movetoworkspace,name:c4"
|
|
||||||
"$shiftMainMod,5,movetoworkspace,5"
|
|
||||||
"$shiftMainMod,6,movetoworkspace,6"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
++ [
|
++ [
|
||||||
# Special workspace
|
# Special workspace
|
||||||
"$mainMod,c,togglespecialworkspace"
|
"$mainMod,c,togglespecialworkspace"
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ in
|
|||||||
bat
|
bat
|
||||||
bzip2
|
bzip2
|
||||||
chromium
|
chromium
|
||||||
|
claude-code
|
||||||
croc
|
croc
|
||||||
devenv
|
devenv
|
||||||
distrobox
|
distrobox
|
||||||
|
|||||||
Reference in New Issue
Block a user