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-02-29 09:17:13 +00:00
|
|
|
home.packages = with pkgs; [ swww wl-clipboard cliphist hyprpaper hyprlock ];
|
2024-02-27 20:52:14 +00:00
|
|
|
|
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
"$mainMod" = "SUPER";
|
2024-02-27 21:20:00 +00:00
|
|
|
"$term" = "alacritty";
|
2024-02-27 20:52:14 +00:00
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
monitor = [ "eDP-1,1920x1080@60,0x0,1" ];
|
|
|
|
input = {
|
|
|
|
kb_layout = "no";
|
|
|
|
follow_mouse = 1;
|
|
|
|
};
|
2024-02-27 20:52:14 +00:00
|
|
|
|
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 = [
|
|
|
|
"opacity 0.85 override 0.5 override,class:^(Alacritty)$"
|
|
|
|
];
|
|
|
|
|
2024-02-27 21:20:00 +00:00
|
|
|
bind = [
|
|
|
|
# term
|
|
|
|
"$mainMod,Return,exec,$term"
|
|
|
|
# rofi
|
|
|
|
"$mainMod,D,exec,rofi -show drun"
|
|
|
|
# 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-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)}"
|
|
|
|
"ALT, ${ws}, workspace, ${toString (x + 1)}"
|
|
|
|
]) 10));
|
2024-02-29 08:27:26 +00:00
|
|
|
exec-once = [ "waybar & hyprpaper" ];
|
2024-02-27 20:52:14 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|