2024-02-29 08:27:26 +00:00
|
|
|
{ inputs, pkgs, lib, config, ... }: {
|
2024-02-27 20:52:14 +00:00
|
|
|
options.hyprland.enable = lib.mkEnableOption "Hyprland";
|
|
|
|
config = {
|
2024-03-03 04:31:33 +00:00
|
|
|
home.packages = with pkgs; [
|
2024-03-02 20:16:23 +00:00
|
|
|
cliphist
|
|
|
|
dunst
|
|
|
|
hyprlock
|
|
|
|
hyprpaper
|
|
|
|
rofi-wayland
|
|
|
|
slurp
|
|
|
|
swww
|
|
|
|
waybar
|
|
|
|
wl-clipboard
|
|
|
|
];
|
2024-02-27 20:52:14 +00:00
|
|
|
|
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
"$mainMod" = "SUPER";
|
2024-03-02 23:03:22 +00:00
|
|
|
"$shiftMainMod" = "SUPER_SHIFT";
|
2024-03-02 21:20:09 +00:00
|
|
|
"$term" = "kitty";
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-03-03 04:31:33 +00:00
|
|
|
monitor = [
|
2024-03-02 20:16:23 +00:00
|
|
|
"DP-3,1920x1080@60,2560x0,1" # top
|
|
|
|
"DP-8,2560x1440@75,0x1080,1" # left
|
|
|
|
"DP-2,2560x1440@120,2560x1080,1" # main
|
2024-03-03 04:31:33 +00:00
|
|
|
"DP-7,2560x1440@75,5120x1080,1" # right
|
2024-03-02 20:16:23 +00:00
|
|
|
];
|
2024-02-27 21:20:00 +00:00
|
|
|
input = {
|
|
|
|
kb_layout = "no";
|
|
|
|
follow_mouse = 1;
|
|
|
|
};
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-03-02 20:16:23 +00:00
|
|
|
env = [
|
2024-03-02 22:25:58 +00:00
|
|
|
"LIBVA_DRIVER_NAME,nvidia"
|
|
|
|
"XDG_SESSION_TYPE,wayland"
|
|
|
|
"GBM_BACKEND,nvidia-drm"
|
|
|
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
2024-03-02 20:16:23 +00:00
|
|
|
"WLR_NO_HARDWARE_CURSORS,1"
|
|
|
|
];
|
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
decoration = {
|
|
|
|
rounding = 0;
|
|
|
|
drop_shadow = true;
|
|
|
|
shadow_range = 4;
|
|
|
|
shadow_render_power = 3;
|
|
|
|
blur = {
|
|
|
|
enabled = true;
|
|
|
|
size = 3;
|
|
|
|
passes = 1;
|
|
|
|
xray = true;
|
|
|
|
};
|
|
|
|
};
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
general = {
|
|
|
|
gaps_in = 4;
|
|
|
|
gaps_out = 10;
|
|
|
|
border_size = 2;
|
|
|
|
layout = "dwindle";
|
|
|
|
};
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
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_is_master = true;
|
|
|
|
misc.force_default_wallpaper = -1;
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-02-29 08:27:26 +00:00
|
|
|
windowrulev2 = [
|
2024-03-02 20:16:23 +00:00
|
|
|
"opacity 0.95 override 0.7 override,class:^(Alacritty)$"
|
|
|
|
"opacity 0.95 override 0.7 override,class:^(kitty)$"
|
|
|
|
];
|
|
|
|
|
|
|
|
bindm = [
|
|
|
|
"ALT,mouse:272,movewindow"
|
|
|
|
];
|
|
|
|
|
|
|
|
bindr = [
|
|
|
|
# mumble ptt release
|
|
|
|
",code:202,exec,mumble rpc stoptalking"
|
2024-02-29 08:27:26 +00:00
|
|
|
];
|
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
bind = [
|
|
|
|
# term
|
|
|
|
"$mainMod,Return,exec,$term"
|
2024-03-03 05:33:49 +00:00
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
# rofi
|
2024-03-03 05:33:49 +00:00
|
|
|
"$mainMod,D,exec,rofi-launcher"
|
|
|
|
"$mainMod,P,exec,rofi-rbw"
|
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
# hyprland
|
|
|
|
"$mainMod,Q,killactive,"
|
|
|
|
"CTRLALT,Delete,exit,"
|
|
|
|
"$mainMod,Space,togglefloating,"
|
|
|
|
"$mainMod,F,fullscreen,"
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
# focus
|
|
|
|
"$mainMod,l,movefocus,l"
|
|
|
|
"$mainMod,h,movefocus,r"
|
|
|
|
"$mainMod,k,movefocus,u"
|
|
|
|
"$mainMod,j,movefocus,d"
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
# move
|
|
|
|
"$mainMod,h,movewindow,l"
|
|
|
|
"$mainMod,l,movewindow,r"
|
|
|
|
"$mainMod,k,movewindow,u"
|
|
|
|
"$mainMod,j,movewindow,d"
|
2024-03-02 20:16:23 +00:00
|
|
|
|
2024-03-02 23:03:22 +00:00
|
|
|
# Force opacity
|
|
|
|
"$shiftMainMod,o,exec, hl-no-opacity"
|
|
|
|
|
2024-03-02 20:16:23 +00:00
|
|
|
# mumble ptt click
|
|
|
|
",code:202,exec,mumble rpc starttalking"
|
|
|
|
|
2024-02-27 21:48:45 +00:00
|
|
|
] ++ (builtins.concatLists (builtins.genList
|
|
|
|
(x:
|
|
|
|
let
|
|
|
|
ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10));
|
|
|
|
in
|
|
|
|
[
|
|
|
|
"$mainMod, ${ws}, workspace, ${toString (x + 1)}"
|
|
|
|
]) 10));
|
2024-03-03 04:31:33 +00:00
|
|
|
exec-once = [
|
2024-03-02 20:16:23 +00:00
|
|
|
"waybar"
|
2024-03-03 04:31:33 +00:00
|
|
|
"hyprpaper"
|
2024-03-02 20:16:23 +00:00
|
|
|
"easy-effects --gapplication-service"
|
|
|
|
# "dunst"
|
|
|
|
];
|
2024-02-27 20:52:14 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|