157 lines
4.6 KiB
Nix
157 lines
4.6 KiB
Nix
{ inputs, pkgs, ... }:
|
|
{
|
|
home.packages = [
|
|
pkgs.hyprcursor
|
|
pkgs.rose-pine-cursor
|
|
];
|
|
home.pointerCursor = {
|
|
enable = true;
|
|
name = "rose-pine-hyprcursor";
|
|
package = pkgs.rose-pine-hyprcursor;
|
|
hyprcursor.enable = true;
|
|
};
|
|
wayland.windowManager.hyprland.settings = {
|
|
env = [
|
|
"XCURSOR_THEME,BreezeX-RosePine-Linux"
|
|
"XCURSOR_SIZE,24"
|
|
"HYPRCURSOR_SIZE,24"
|
|
"LIBVA_DRIVER_NAME,nvidia"
|
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
|
"WEBKIT_DISABLE_DMABUF_RENDERER,1" # maybe disable if nixos fixes alcom
|
|
];
|
|
general = {
|
|
gaps_in = 1;
|
|
gaps_out = 1;
|
|
border_size = 1;
|
|
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
|
# col.inactive_border = rgba(595959aa)
|
|
resize_on_border = false;
|
|
allow_tearing = true;
|
|
layout = "dwindle";
|
|
};
|
|
decoration = {
|
|
rounding = 0;
|
|
rounding_power = 1;
|
|
active_opacity = 1.0;
|
|
inactive_opacity = 1.0;
|
|
|
|
shadow = {
|
|
enabled = false;
|
|
};
|
|
|
|
blur = {
|
|
enabled = false;
|
|
};
|
|
};
|
|
animations = {
|
|
enabled = true;
|
|
bezier = [
|
|
"easeOutQuint,0.23,1,0.32,1"
|
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
|
"linear,0,0,1,1"
|
|
"almostLinear,0.5,0.5,0.75,1.0"
|
|
"quick,0.15,0,0.1,1"
|
|
];
|
|
animation = [
|
|
"global, 1, 10, default"
|
|
"border, 1, 5.39, easeOutQuint"
|
|
"windows, 1, 2.79, easeOutQuint"
|
|
"windowsIn, 1, 1.1, easeOutQuint, popin 87%"
|
|
"windowsOut, 1, 1.49, linear, popin 87%"
|
|
"fadeIn, 1, 1.73, almostLinear"
|
|
"fadeOut, 1, 1.46, almostLinear"
|
|
"fade, 1, 2.03, quick"
|
|
"layers, 1, 3.81, easeOutQuint"
|
|
"layersIn, 1, 4, easeOutQuint, fade"
|
|
"layersOut, 1, 1.5, linear, fade"
|
|
"fadeLayersIn, 1, 1.79, almostLinear"
|
|
"fadeLayersOut, 1, 1.39, almostLinear"
|
|
"workspaces, 1, 1.94, almostLinear, fade"
|
|
"workspacesIn, 1, 1.21, almostLinear, fade"
|
|
"workspacesOut, 1, 1.94, almostLinear, fade"
|
|
"zoomFactor, 1, 7, quick"
|
|
];
|
|
};
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = true;
|
|
};
|
|
# master = {
|
|
# new_status = master;
|
|
# };
|
|
misc = {
|
|
force_default_wallpaper = -1;
|
|
disable_hyprland_logo = false;
|
|
enable_anr_dialog = false;
|
|
vfr = true;
|
|
};
|
|
input = {
|
|
kb_layout = "gb";
|
|
follow_mouse = 2;
|
|
sensitivity = -0.5;
|
|
};
|
|
"$mainMod" = "SUPER";
|
|
bind = [
|
|
"$mainMod, Q, exec, foot"
|
|
"$mainMod, C, killactive"
|
|
"$mainMod, M, exit"
|
|
"$mainMod, E, exec, $fileManager"
|
|
"$mainMod, V, togglefloating,"
|
|
"$mainMod, R, exec, walker"
|
|
"$mainMod, P, pseudo, # dwindle"
|
|
"$mainMod, J, togglesplit, # dwindle"
|
|
"$mainMod, left, movefocus, l"
|
|
"$mainMod, right, movefocus, r"
|
|
"$mainMod, up, movefocus, u"
|
|
"$mainMod, down, movefocus, d"
|
|
"$mainMod, L, exec, wlogout"
|
|
(
|
|
"$mainMod, S, exec, "
|
|
+ ''wayfreeze --after-freeze-cmd 'grim -g "$(slurp -d)" - | wl-copy -t image/png;killall wayfreeze' --hide-cursor''
|
|
)
|
|
"$mainMod, F, fullscreen"
|
|
"$mainMod, mouse_down, workspace, e+1"
|
|
"$mainMod, mouse_up, workspace, e-1"
|
|
", home, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
", end, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
", F8, pass, class:^(com\.obsproject\.Studio)$"
|
|
"$mainMod, 0, workspace, 10"
|
|
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
|
]
|
|
++ (builtins.concatLists (
|
|
builtins.genList (
|
|
i:
|
|
let
|
|
ws = i + 1;
|
|
in
|
|
[
|
|
"$mainMod, ${toString ws}, workspace, ${toString ws}"
|
|
"$mainMod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
|
|
]
|
|
) 9
|
|
));
|
|
bindm = [
|
|
"$mainMod, mouse:272, movewindow"
|
|
"$mainMod, mouse:273, resizewindow"
|
|
];
|
|
windowrule = [
|
|
"match:class .*, suppress_event maximize"
|
|
"match:class ^(gamescope)$, workspace 5"
|
|
"match:class ^(gamescope)$, fullscreen true"
|
|
"match:class ^(gamescope)$, immediate true"
|
|
"match:class ^(steam)$, workspace 6 silent"
|
|
"match:class ^(vesktop)$, workspace 8 silent"
|
|
"match:class ^(org.telegram.desktop)$, workspace 8 silent"
|
|
"match:class ^(com.obsproject.Studio)$, workspace 10 silent"
|
|
"match:initial_title ^(OBS Studio Crash Detected)$, pin true"
|
|
"match:initial_title ^(Discord Popout)$, workspace 1 silent"
|
|
];
|
|
layerrule = [
|
|
"match:namespace ^(notifications)$, no_screen_share true"
|
|
];
|
|
# exec-once = [
|
|
# ];
|
|
# we need to auto launch: quickshell, steam, ar_rpc (maybe), vesktop, telegram, qbit, and obs
|
|
};
|
|
}
|