58 lines
1.8 KiB
Nix
58 lines
1.8 KiB
Nix
{inputs, pkgs, lib, config, ...}:
|
|
let
|
|
cfg = config.nix-config.hypr;
|
|
in
|
|
{
|
|
config = {
|
|
wayland.windowManager.hyprland = {
|
|
settings = {
|
|
|
|
master = {
|
|
# TODO - I am not yet happy about the layout + toggle keybinds
|
|
orientation = "center";
|
|
# equivalent toalways_center_master = true;
|
|
slave_count_for_center_master = 0;
|
|
# new_is_master = false;
|
|
# allow_small_split = true;
|
|
# special_scale_factor = 0.80;
|
|
mfact = 0.34;
|
|
inherit_fullscreen = false;
|
|
# always_center_master = false;
|
|
# allow a maximum of 3 windows in the master area for 3-column layout
|
|
};
|
|
|
|
#create special workspaces with no gaps
|
|
workspace = [
|
|
"w[t1], gapsout:0, gapsin:0"
|
|
"w[tg1], gapsout:0, gapsin:0"
|
|
"f[1], gapsout:0, gapsin:0"
|
|
];
|
|
|
|
# automatically assign windows to workspaces when there is only one window
|
|
windowrulev2 = [
|
|
"bordersize 0, floating:0, onworkspace:w[t1]"
|
|
"rounding 0, floating:0, onworkspace:w[t1]"
|
|
"bordersize 0, floating:0, onworkspace:w[tg1]"
|
|
"rounding 0, floating:0, onworkspace:w[tg1]"
|
|
"bordersize 0, floating:0, onworkspace:f[1]"
|
|
"rounding 0, floating:0, onworkspace:f[1]"
|
|
];
|
|
|
|
misc = {
|
|
vfr = false;
|
|
disable_hyprland_logo = true;
|
|
};
|
|
|
|
# Keybind to toggle between 2 and 3 column master layout
|
|
bind = [
|
|
# Toggle master layout between 2 and 3 columns
|
|
"$mod, m, exec, hyprctl dispatch layoutmsg orientationleft"
|
|
"$mod, m, exec, hyprctl dispatch layoutmsg mfact exact 0.5"
|
|
# "SUPER_SHIFT,C,exec,hyprctl dispatch layoutmsg swap_master_count 2 3"
|
|
];
|
|
|
|
};
|
|
};
|
|
};
|
|
}
|