160 lines
4.0 KiB
Nix
160 lines
4.0 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
options.hyprland.enable = lib.mkEnableOption "Hyprland";
|
|
config = {
|
|
home.packages = with pkgs; [
|
|
dunst
|
|
# hyprlock
|
|
hyprpaper
|
|
rofi-wayland
|
|
slurp
|
|
swww
|
|
waybar
|
|
wl-clipboard
|
|
catppuccin-cursors.macchiatoLavender
|
|
bibata-cursors
|
|
# For potentially fixing some issues
|
|
libsForQt5.qt5.qtwayland
|
|
libsForQt5.qt5ct
|
|
];
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
package = pkgs.hyprland;
|
|
settings = {
|
|
"$mainMod" = "SUPER";
|
|
"$shiftMainMod" = "SUPER_SHIFT";
|
|
"$term" = "kitty";
|
|
|
|
monitor = [ ];
|
|
input = {
|
|
kb_layout = "no";
|
|
follow_mouse = 1;
|
|
};
|
|
|
|
env = [ "XDG_SESSION_TYPE,wayland" ];
|
|
|
|
decoration = {
|
|
rounding = 0;
|
|
drop_shadow = true;
|
|
shadow_range = 4;
|
|
shadow_render_power = 3;
|
|
blur = {
|
|
enabled = true;
|
|
size = 3;
|
|
passes = 1;
|
|
xray = true;
|
|
};
|
|
};
|
|
|
|
general = {
|
|
gaps_in = 4;
|
|
gaps_out = 10;
|
|
border_size = 2;
|
|
layout = "dwindle";
|
|
};
|
|
|
|
animations = {
|
|
enabled = true;
|
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
|
animation = [
|
|
"windows, 1, 7, myBezier"
|
|
"windowsOut, 1, 7, default, popin 80%"
|
|
"border, 1, 10, default"
|
|
"borderangle, 1, 8, default"
|
|
"fade, 1, 7, default"
|
|
"workspaces, 1, 6, default"
|
|
];
|
|
};
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = true;
|
|
};
|
|
master = {
|
|
new_status = "master";
|
|
};
|
|
misc.force_default_wallpaper = -1;
|
|
|
|
windowrulev2 = [
|
|
"opacity 0.95 override 0.7 override,class:^(Alacritty)$"
|
|
"opacity 0.95 override 0.7 override,class:^(kitty)$"
|
|
];
|
|
|
|
workspace = [
|
|
"name:mumble, monitor:$mon_top, persistent:true, default:true"
|
|
"name:left, monitor:$mon_left, persistent:true, default:true"
|
|
"name:right, monitor:$mon_right, persistent:true, default:true"
|
|
"name:main 1, monitor:$mon_center, persistent:true, default:true"
|
|
"name:main 2, monitor:$mon_center, persistent:true, default:true"
|
|
];
|
|
|
|
bindm = [ "ALT,mouse:272,movewindow" ];
|
|
|
|
bindr = [
|
|
# mumble ptt release
|
|
# ",code:202,exec,mumble rpc stoptalking"
|
|
# ",code:202,exec,pamixer --source 63 -m"
|
|
# ",code:202,exec,sleep 0.5 && pamixer --default-source -m"
|
|
];
|
|
|
|
bind = [
|
|
# term
|
|
"$mainMod,Return,exec,$term"
|
|
|
|
# rofi
|
|
"$mainMod,D,exec,rofi-launcher"
|
|
"$mainMod,P,exec,rofi-rbw"
|
|
|
|
# hyprland
|
|
"$mainMod,Q,killactive,"
|
|
"CTRLALT,Delete,exit,"
|
|
"$mainMod,Space,togglefloating,"
|
|
"$mainMod,F,fullscreen,"
|
|
|
|
# focus
|
|
"$mainMod,l,movefocus,l"
|
|
"$mainMod,h,movefocus,r"
|
|
"$mainMod,k,movefocus,u"
|
|
"$mainMod,j,movefocus,d"
|
|
|
|
# move
|
|
"$mainMod,h,movewindow,l"
|
|
"$mainMod,l,movewindow,r"
|
|
"$mainMod,k,movewindow,u"
|
|
"$mainMod,j,movewindow,d"
|
|
|
|
# Force opacity
|
|
"$shiftMainMod,o,exec, hl-no-opacity"
|
|
|
|
# mumble ptt click
|
|
# ",code:202,exec,mumble rpc starttalking"
|
|
#",code:202,pass,^(info\.mumble\.Mumble)$"
|
|
# ",code:202,exec,pamixer --default-source -u"
|
|
",code:202,pass,^discord$"
|
|
|
|
# worspace switching
|
|
"$mainMod,1,workspace,name:main 1"
|
|
"$mainMod,2,workspace,name:main 2"
|
|
"$mainMod,3,workspace,3"
|
|
"$mainMod,4,workspace,4"
|
|
"$mainMod,5,workspace,5"
|
|
"$mainMod,6,workspace,6"
|
|
];
|
|
|
|
exec-once = [
|
|
"waybar"
|
|
"hyprpaper & sleep 2 && randomwp"
|
|
"easyeffects --gapplication-service"
|
|
# "dunst"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|