also updated flake and fixed kernel issue also attempted to make calendar tooltip in waybar scrollable but it isnt working yet
116 lines
4.2 KiB
Nix
116 lines
4.2 KiB
Nix
{ ... }:
|
|
{
|
|
# Enable Hyprland compositor
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
systemd.variables = [ "--all" ];
|
|
settings = {
|
|
misc = {
|
|
enable_anr_dialog = false; # disable application not repsonding dialog as it tends to just get in the way when trying to fix the unresponsive application
|
|
};
|
|
# Monitor config for home desk layout
|
|
monitor = [
|
|
"eDP-2, 2560x1600@165, 0x0, auto" # main laptop monitor
|
|
"desc:Lenovo Group Limited LEN G24-10 U5B4ZAM2, 1920x1080@119.98, 960x-1080, auto" # left external monitor
|
|
"desc:Lenovo Group Limited LEN G24-10 U5B4KL78, 1920x1080@119.98, -960x-1080, auto" # right external monitor
|
|
", preferred, auto-center-up, 1" # any other monitors get added centrally above, this is meant for TVs really
|
|
];
|
|
workspace = [
|
|
"name:bg_noise, monitor:desc:Lenovo Group Limited LEN G24-10 U5B4ZAM2, default:true, persistent:true"
|
|
"name:comms, monitor:desc:Lenovo Group Limited LEN G24-10 U5B4KL78, default:true, persistent:true"
|
|
"name:main, monitor:eDP-2, default:true, persistent:true"
|
|
];
|
|
windowrulev2 = [
|
|
"keepaspectratio,class:^(librewolf)$,title:^(Picture-in-Picture)$"
|
|
"noborder,class:^(librewolf)$,title:^(Picture-in-Picture)$"
|
|
#"fakefullscreen,class:^(librewolf)$,title:^(Floorp)$"
|
|
#"fakefullscreen,class:^(librewolf)$,title:^(Picture-in-Picture)$"
|
|
"pin,class:^(librewolf)$,title:^(Floorp)$"
|
|
"pin,class:^(librewolf)$,title:^(Picture-in-Picture)$"
|
|
"float,class:^(librewolf)$,title:^(Floorp)$"
|
|
"float,class:^(librewolf)$,title:^(Picture-in-Picture)$"
|
|
];
|
|
|
|
# Define SUPER key as mod key
|
|
"$mod" = "SUPER";
|
|
|
|
# Set keyboard layout
|
|
input = {
|
|
kb_layout = "gb";
|
|
follow_mouse = 1;
|
|
mouse_refocus = false;
|
|
touchpad = {
|
|
disable_while_typing = true;
|
|
};
|
|
};
|
|
gestures = {
|
|
workspace_swipe = true;
|
|
};
|
|
# General settings
|
|
general = {
|
|
gaps_out = 10;
|
|
};
|
|
|
|
# Allow using SUPER + left click to move windows and SUPER + right click to resize windows
|
|
bindm = [
|
|
"$mod, mouse:272, movewindow"
|
|
"$mod, mouse:273, resizewindow"
|
|
];
|
|
exec-once = [
|
|
"[workspace name:comms silent; move -100%,100%] telegram-desktop"
|
|
"[workspace name:comms silent; move -100%,-100%] signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland"
|
|
"[workspace name:comms silent; move 100%,100%] librewolf https://web.whatsapp.com https://instagram.com"
|
|
"[workspace name:comms silent; move 100%,-100%] vesktop"
|
|
|
|
"[workspace name:bg_noise] librewolf https://www.youtube.com/playlist?list=WL"
|
|
|
|
"[workspace name:main] kitty"
|
|
|
|
"nm-applet --indicator"
|
|
"blueman-applet"
|
|
"trayscale"
|
|
"owncloud"
|
|
];
|
|
# Declare all keybinds
|
|
bind = [
|
|
# Keybind for setting fullscreen
|
|
"$mod, F11, fullscreen"
|
|
# Keybinds for starting programs
|
|
"$mod, F, exec, librewolf"
|
|
"$mod, 1, exec, kitty"
|
|
"$mod, D, exec, vesktop"
|
|
"$mod, space, exec, bash -c 'wofi --show drun, run'"
|
|
|
|
# Keybind for toggling touchpad
|
|
"$mod, j, exec, sh $scripts/hyprland/touchpad_toggle.sh"
|
|
|
|
# Screenshot tool
|
|
", Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
|
|
|
|
# Screen locking tool
|
|
"$mod, l, exec, hyprlock"
|
|
|
|
# Window management
|
|
"$mod, x, killactive"
|
|
"$mod, tab, togglefloating"
|
|
|
|
# workspace swipe but with $mod+scroll
|
|
"$mod, mouse_up, workspace, r+1"
|
|
"$mod, left, workspace, m-1"
|
|
"$mod, mouse_down, workspace, m-1"
|
|
"$mod, right, workspace, r+1"
|
|
# send window to workspace
|
|
"$mod shift, mouse_up, movetoworkspace, r+1"
|
|
"$mod shift, left, movetoworkspace, m-1"
|
|
"$mod shift, mouse_down, movetoworkspace, m-1"
|
|
"$mod shift, right, movetoworkspace, r+1"
|
|
];
|
|
|
|
# Prevent xwayland apps from looking pixellated, cursor scaling to compensate for this is defined in home.nix
|
|
xwayland = {
|
|
force_zero_scaling = true;
|
|
};
|
|
};
|
|
};
|
|
}
|