2024-10-04 18:30:45 +02:00
|
|
|
{pkgs, ...}: {
|
2024-09-08 17:04:51 +02:00
|
|
|
programs.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
};
|
2024-10-04 18:30:45 +02:00
|
|
|
|
2024-09-08 15:05:18 +02:00
|
|
|
home-manager.users.joy = {
|
2024-09-08 17:04:51 +02:00
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
"$mod" = "SUPER";
|
2024-10-04 16:16:47 +02:00
|
|
|
"$sciPath" = "~/nix/modules/wm/hyprland/scripts";
|
2024-09-08 17:04:51 +02:00
|
|
|
cursor = {
|
|
|
|
inactive_timeout = "3";
|
|
|
|
};
|
|
|
|
env = [
|
|
|
|
"HYPRCURSOR_THEME = Bibata-Modern-Ice"
|
|
|
|
"HYPRCURSOR_SIZE = 24"
|
|
|
|
"NIXOS_OZONE_WL = 1"
|
|
|
|
];
|
|
|
|
xwayland = {
|
|
|
|
force_zero_scaling = true;
|
|
|
|
};
|
|
|
|
monitor = [
|
|
|
|
"DP-1,2560x1440@165.00Hz,auto,1,bitdepth,10"
|
|
|
|
"eDP-1,prefrered,auto,1"
|
|
|
|
"HDMI-A-1,prefrered,auto,1,mirror,eDP-1"
|
|
|
|
];
|
|
|
|
exec-once = [
|
|
|
|
"ags"
|
|
|
|
];
|
2024-10-04 16:16:47 +02:00
|
|
|
windowrulev2 = [
|
2024-10-08 19:45:43 +02:00
|
|
|
"float,class:(mpv)"
|
|
|
|
"pin,class:(mpv)"
|
|
|
|
"move 66.1% 65.7%,class:(mpv)"
|
|
|
|
"size 854 480,class:(mpv)"
|
2024-10-04 16:16:47 +02:00
|
|
|
"float,title:(Disks)"
|
|
|
|
"float,title:(Calculator)"
|
|
|
|
"float,title:(Bluetooth)"
|
|
|
|
"float,title:(Clocks)"
|
2024-10-08 19:45:43 +02:00
|
|
|
"size 854 480,title:(Clocks)"
|
2024-10-04 16:16:47 +02:00
|
|
|
"float,title:(Network Connections)"
|
2024-09-08 17:04:51 +02:00
|
|
|
];
|
|
|
|
gestures = {
|
|
|
|
workspace_swipe = true;
|
|
|
|
workspace_swipe_forever = true;
|
|
|
|
workspace_swipe_distance = 200;
|
|
|
|
};
|
|
|
|
general = {
|
|
|
|
gaps_in = 5;
|
|
|
|
gaps_out = 10;
|
|
|
|
border_size = 4;
|
|
|
|
allow_tearing = false;
|
|
|
|
layout = "master";
|
|
|
|
};
|
|
|
|
misc = {
|
|
|
|
disable_hyprland_logo = true;
|
|
|
|
disable_splash_rendering = true;
|
|
|
|
};
|
|
|
|
decoration = {
|
|
|
|
rounding = 5;
|
|
|
|
};
|
|
|
|
input = {
|
|
|
|
kb_layout = "us,de";
|
|
|
|
kb_variant = ",qwerty";
|
|
|
|
kb_options = "grp:alt_shift_toggle,caps:swapescape";
|
2024-10-04 15:19:23 +02:00
|
|
|
repeat_rate = 50;
|
2024-09-08 17:04:51 +02:00
|
|
|
};
|
2024-10-04 15:19:23 +02:00
|
|
|
|
2024-09-08 17:31:09 +02:00
|
|
|
bind = [
|
|
|
|
# launch Apps
|
|
|
|
"$mod,TAB, exec, alacritty"
|
|
|
|
"$mod, E, exec, nemo"
|
|
|
|
"$mod, S, exec, firefox"
|
|
|
|
"$mod, X, exec, keepassxc"
|
2024-10-12 21:12:58 +02:00
|
|
|
"$mod, M, exec, mbsync -a && alacritty -e neomutt"
|
2024-09-08 17:31:09 +02:00
|
|
|
"$mod, N, exec, alacritty -e newsboat"
|
|
|
|
"$mod, A, exec, rofi -show drun"
|
|
|
|
"$mod, F, exec, freetube"
|
|
|
|
"$mod, C, exec, hyprpicker -a"
|
|
|
|
"$mod+Shift, Z, exec, grim - | swappy -f -"
|
|
|
|
"$mod, Z, exec, sh $sciPath/screen.sh"
|
2024-10-06 12:57:02 +02:00
|
|
|
"$mod, V, exec, cliphist list | rofi show -dmenu | cliphist decode | wl-copy"
|
2024-09-08 17:31:09 +02:00
|
|
|
"$mod, O, exec, sh $sciPath/mpv.sh"
|
2024-10-04 18:30:45 +02:00
|
|
|
"$mod+Shift, TAB,hyprexpo:expo, toggleoverview"
|
2024-10-06 13:31:57 +02:00
|
|
|
"$mod, B, exec, rofimoji"
|
2024-10-11 00:39:34 +02:00
|
|
|
"$mod, F, exec, alacritty -e hx"
|
2024-10-04 16:16:47 +02:00
|
|
|
# controls
|
2024-09-08 17:31:09 +02:00
|
|
|
"$mod, Q, killactive"
|
|
|
|
"$mod, W, togglefloating"
|
|
|
|
"$mod, R, togglesplit"
|
|
|
|
"$mod+shift, S, exec, systemctl suspend"
|
|
|
|
"$mod+shift, M, exit, hyprland"
|
|
|
|
"$mod, G, exec, sh $sciPath/gamemode.sh"
|
|
|
|
"$mod+shift, B, exec, sh $sciPath/ags.sh"
|
|
|
|
"$mod, up, exec, sh $sciPath/volume.sh -i"
|
|
|
|
"$mod, down, exec, sh $sciPath/volume.sh -d"
|
2024-10-08 19:45:43 +02:00
|
|
|
"$mod, P, exec, hyprctl dispatch togglefloating active; hyprctl dispatch pin active"
|
2024-09-08 17:31:09 +02:00
|
|
|
# cmus
|
|
|
|
"$mod, D, exec, sh $sciPath/cmus.sh"
|
|
|
|
"$mod, space, exec, playerctl play-pause"
|
|
|
|
"$mod, comma, exec, playerctl previous"
|
|
|
|
"$mod, period, exec, playerctl next"
|
|
|
|
"$mod, equal, exec, cmus-remote -v +10%"
|
|
|
|
"$mod, minus, exec, cmus-remote -v -10%"
|
|
|
|
# Move focus
|
|
|
|
"$mod, Return, fullscreen"
|
|
|
|
"$mod, H, movefocus, l"
|
|
|
|
"$mod, L, movefocus, r"
|
|
|
|
"$mod, K, movefocus, u"
|
|
|
|
"$mod, J, movefocus, d"
|
|
|
|
# Window resizing X Y
|
|
|
|
"CTRL+SHIFT, H, resizeactive, -60 0"
|
|
|
|
"CTRL+SHIFT, L, resizeactive, 60 0"
|
|
|
|
"CTRL+SHIFT, K, resizeactive, 0 -60"
|
|
|
|
"CTRL+SHIFT, J, resizeactive, 0 60"
|
|
|
|
# Moving windows
|
|
|
|
"$mod SHIFT, H, swapwindow, l"
|
|
|
|
"$mod SHIFT, L, swapwindow, r"
|
|
|
|
"$mod SHIFT, K, swapwindow, u"
|
|
|
|
"$mod SHIFT, J, swapwindow, d"
|
|
|
|
# Switch workspaces
|
|
|
|
"$mod, 1, workspace, 1"
|
|
|
|
"$mod, 2, workspace, 2"
|
|
|
|
"$mod, 3, workspace, 3"
|
|
|
|
"$mod, 4, workspace, 4"
|
|
|
|
"$mod, 5, workspace, 5"
|
|
|
|
"$mod, 6, workspace, 6"
|
|
|
|
"$mod, 7, workspace, 7"
|
|
|
|
"$mod, 8, workspace, 8"
|
|
|
|
"$mod, 9, workspace, 9"
|
|
|
|
"$mod, 0, workspace, 10"
|
|
|
|
# Move active window to a workspace
|
|
|
|
"$mod+Shift, 1, movetoworkspace, 1"
|
|
|
|
"$mod+Shift, 2, movetoworkspace, 2"
|
|
|
|
"$mod+Shift, 3, movetoworkspace, 3"
|
|
|
|
"$mod+Shift, 4, movetoworkspace, 4"
|
|
|
|
"$mod+Shift, 5, movetoworkspace, 5"
|
|
|
|
"$mod+Shift, 6, movetoworkspace, 6"
|
|
|
|
"$mod+Shift, 7, movetoworkspace, 7"
|
|
|
|
"$mod+Shift, 8, movetoworkspace, 8"
|
|
|
|
"$mod+Shift, 9, movetoworkspace, 9"
|
|
|
|
"$mod+Shift, 0, movetoworkspace, 10"
|
|
|
|
];
|
|
|
|
bindm = [
|
|
|
|
"$mod, mouse:272, movewindow"
|
|
|
|
"$mod, mouse:273, resizewindow"
|
|
|
|
];
|
|
|
|
bindl = [
|
|
|
|
", XF86MonBrightnessUp, exec, brightnessctl set +10%"
|
|
|
|
", XF86MonBrightnessDown, exec, brightnessctl set 10%-"
|
|
|
|
", XF86AudioRaiseVolume, exec, sh $sciPath/volume.sh -i"
|
|
|
|
", XF86AudioLowerVolume, exec, sh $sciPath/volume.sh -d"
|
|
|
|
", XF86AudioMute, exec, sh $sciPath/volume.sh -m"
|
|
|
|
", XF86AudioMicMute, exec, sh $sciPath/volume.sh -t"
|
|
|
|
];
|
2024-08-31 16:04:57 +02:00
|
|
|
};
|
2024-10-04 16:16:47 +02:00
|
|
|
plugins = with pkgs.hyprlandPlugins; [
|
2024-10-04 00:07:09 +02:00
|
|
|
hyprexpo
|
2024-10-04 18:30:45 +02:00
|
|
|
];
|
2024-08-31 16:04:57 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|