nixos/home/hyprland/hyprland.nix

97 lines
2.5 KiB
Nix
Raw Normal View History

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
};
};
};
}