334 lines
10 KiB
Nix
334 lines
10 KiB
Nix
{pkgs, ...}: {
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
systemd.variables = ["--all"];
|
|
|
|
xwayland.enable = true;
|
|
|
|
settings = {
|
|
exec-once = [
|
|
"wl-clip-persist --clipboard both"
|
|
"wl-paste --watch cliphist store"
|
|
"hyprpanel"
|
|
];
|
|
|
|
hdr = false;
|
|
|
|
env = [
|
|
"NIXOS_OZONE_WL, 1"
|
|
"XDG_SESSION_TYPE, wayland"
|
|
"XDG_SESSION_DESKTOP, Hyprland"
|
|
];
|
|
|
|
input = {
|
|
kb_layout = "cz";
|
|
kb_options = "caps:escape";
|
|
numlock_by_default = true;
|
|
|
|
sensitivity = 0;
|
|
touchpad = {
|
|
natural_scroll = false;
|
|
};
|
|
};
|
|
|
|
misc = {
|
|
disable_hyprland_logo = true;
|
|
layers_hog_keyboard_focus = true;
|
|
animate_manual_resizes = true;
|
|
enable_swallow = true;
|
|
focus_on_activate = true;
|
|
middle_click_paste = false;
|
|
};
|
|
|
|
dwindle = {
|
|
force_split = 0;
|
|
special_scale_factor = 1.0;
|
|
split_width_multiplier = 1.0;
|
|
use_active_for_splits = true;
|
|
pseudotile = "yes";
|
|
preserve_split = "yes";
|
|
};
|
|
|
|
general = {
|
|
"$mainMod" = "SUPER";
|
|
layout = "dwindle";
|
|
gaps_in = 4;
|
|
gaps_out = 3;
|
|
border_size = 2;
|
|
};
|
|
|
|
decoration = {
|
|
rounding = 7;
|
|
active_opacity = 1.0;
|
|
inactive_opacity = 1.0;
|
|
fullscreen_opacity = 1.0;
|
|
|
|
blur.enabled = false;
|
|
shadow.enabled = false;
|
|
};
|
|
|
|
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"
|
|
];
|
|
};
|
|
|
|
binds = {
|
|
movefocus_cycles_fullscreen = true;
|
|
};
|
|
|
|
bind = [
|
|
# keybindings
|
|
"$mainMod, Return, exec, foot"
|
|
"$mainMod, B, exec, zen"
|
|
"$mainMod, Q, killactive,"
|
|
"$mainMod, F, fullscreen, 0"
|
|
"$mainMod SHIFT, F, fullscreen, 1"
|
|
"$mainMod, W, togglefloating"
|
|
"$mainMod, A, exec, fuzzel"
|
|
"$mainMod, P, pseudo,"
|
|
"$mainMod, E, exec, thunar"
|
|
"$mainMod, C, exec, hyprpicker -a"
|
|
"$mainMod, code:23, swapsplit"
|
|
"$mainMod, code:66, togglesplit"
|
|
"Alt, F4, exec, hyprctl kill"
|
|
"$mainMod, S, exec, hyprlock"
|
|
|
|
# switch focus
|
|
"$mainMod, left, movefocus, l"
|
|
"$mainMod, right, movefocus, r"
|
|
"$mainMod, up, movefocus, u"
|
|
"$mainMod, down, movefocus, d"
|
|
"$mainMod, h, movefocus, l"
|
|
"$mainMod, j, movefocus, d"
|
|
"$mainMod, k, movefocus, u"
|
|
"$mainMod, l, movefocus, r"
|
|
|
|
"$mainMod, left, alterzorder, top"
|
|
"$mainMod, right, alterzorder, top"
|
|
"$mainMod, up, alterzorder, top"
|
|
"$mainMod, down, alterzorder, top"
|
|
"$mainMod, h, alterzorder, top"
|
|
"$mainMod, j, alterzorder, top"
|
|
"$mainMod, k, alterzorder, top"
|
|
"$mainMod, l, alterzorder, top"
|
|
|
|
# switch workspace
|
|
"$mainMod, code:10, workspace, 1"
|
|
"$mainMod, code:11, workspace, 2"
|
|
"$mainMod, code:12, workspace, 3"
|
|
"$mainMod, code:13, workspace, 4"
|
|
"$mainMod, code:14, workspace, 5"
|
|
"$mainMod, code:15, workspace, 6"
|
|
"$mainMod, code:16, workspace, 7"
|
|
"$mainMod, code:17, workspace, 8"
|
|
"$mainMod, code:18, workspace, 9"
|
|
"$mainMod, code:19, workspace, 10"
|
|
|
|
# same as above, but switch to the workspace
|
|
"$mainMod SHIFT, code:10, movetoworkspace, 1"
|
|
"$mainMod SHIFT, code:11, movetoworkspace, 2"
|
|
"$mainMod SHIFT, code:12, movetoworkspace, 3"
|
|
"$mainMod SHIFT, code:13, movetoworkspace, 4"
|
|
"$mainMod SHIFT, code:14, movetoworkspace, 5"
|
|
"$mainMod SHIFT, code:15, movetoworkspace, 6"
|
|
"$mainMod SHIFT, code:16, movetoworkspace, 7"
|
|
"$mainMod SHIFT, code:17, movetoworkspace, 8"
|
|
"$mainMod SHIFT, code:18, movetoworkspace, 9"
|
|
"$mainMod SHIFT, code:19, movetoworkspace, 10"
|
|
|
|
"$mainMod ALT, code:10, movetoworkspacesilent, 1"
|
|
"$mainMod ALT, code:11, movetoworkspacesilent, 2"
|
|
"$mainMod ALT, code:12, movetoworkspacesilent, 3"
|
|
"$mainMod ALT, code:13, movetoworkspacesilent, 4"
|
|
"$mainMod ALT, code:14, movetoworkspacesilent, 5"
|
|
"$mainMod ALT, code:15, movetoworkspacesilent, 6"
|
|
"$mainMod ALT, code:16, movetoworkspacesilent, 7"
|
|
"$mainMod ALT, code:17, movetoworkspacesilent, 8"
|
|
"$mainMod ALT, code:18, movetoworkspacesilent, 9"
|
|
"$mainMod ALT, code:19, movetoworkspacesilent, 10"
|
|
|
|
# switch worspace
|
|
"$mainMod CTRL, code:10, workspace, 11"
|
|
"$mainMod CTRL, code:11, workspace, 12"
|
|
"$mainMod CTRL, code:12, workspace, 13"
|
|
"$mainMod CTRL, code:13, workspace, 14"
|
|
"$mainMod CTRL, code:14, workspace, 15"
|
|
"$mainMod CTRL, code:15, workspace, 16"
|
|
"$mainMod CTRL, code:16, workspace, 17"
|
|
"$mainMod CTRL, code:17, workspace, 18"
|
|
"$mainMod CTRL, code:18, workspace, 19"
|
|
"$mainMod CTRL, code:19, workspace, 20"
|
|
|
|
# same as above, but switch to the workspace
|
|
"$mainMod CTRL SHIFT, code:10, movetoworkspace, 11"
|
|
"$mainMod CTRL SHIFT, code:11, movetoworkspace, 12"
|
|
"$mainMod CTRL SHIFT, code:12, movetoworkspace, 13"
|
|
"$mainMod CTRL SHIFT, code:13, movetoworkspace, 14"
|
|
"$mainMod CTRL SHIFT, code:14, movetoworkspace, 15"
|
|
"$mainMod CTRL SHIFT, code:15, movetoworkspace, 16"
|
|
"$mainMod CTRL SHIFT, code:16, movetoworkspace, 17"
|
|
"$mainMod CTRL SHIFT, code:17, movetoworkspace, 18"
|
|
"$mainMod CTRL SHIFT, code:18, movetoworkspace, 19"
|
|
"$mainMod CTRL SHIFT, code:19, movetoworkspace, 20"
|
|
"$mainMod CTRL ALT, code:10, movetoworkspacesilent, 11"
|
|
"$mainMod CTRL ALT, code:11, movetoworkspacesilent, 12"
|
|
"$mainMod CTRL ALT, code:12, movetoworkspacesilent, 13"
|
|
"$mainMod CTRL ALT, code:13, movetoworkspacesilent, 14"
|
|
"$mainMod CTRL ALT, code:14, movetoworkspacesilent, 15"
|
|
"$mainMod CTRL ALT, code:15, movetoworkspacesilent, 16"
|
|
"$mainMod CTRL ALT, code:16, movetoworkspacesilent, 17"
|
|
"$mainMod CTRL ALT, code:17, movetoworkspacesilent, 18"
|
|
"$mainMod CTRL ALT, code:18, movetoworkspacesilent, 19"
|
|
"$mainMod CTRL ALT, code:19, movetoworkspacesilent, 20"
|
|
|
|
# window control
|
|
"$mainMod SHIFT, left, movewindow, l"
|
|
"$mainMod SHIFT, right, movewindow, r"
|
|
"$mainMod SHIFT, up, movewindow, u"
|
|
"$mainMod SHIFT, down, movewindow, d"
|
|
"$mainMod SHIFT, h, movewindow, l"
|
|
"$mainMod SHIFT, j, movewindow, d"
|
|
"$mainMod SHIFT, k, movewindow, u"
|
|
"$mainMod SHIFT, l, movewindow, r"
|
|
|
|
"$mainMod CTRL, left, resizeactive, -80 0"
|
|
"$mainMod CTRL, right, resizeactive, 80 0"
|
|
"$mainMod CTRL, up, resizeactive, 0 -80"
|
|
"$mainMod CTRL, down, resizeactive, 0 80"
|
|
"$mainMod CTRL, h, resizeactive, -80 0"
|
|
"$mainMod CTRL, j, resizeactive, 0 80"
|
|
"$mainMod CTRL, k, resizeactive, 0 -80"
|
|
"$mainMod CTRL, l, resizeactive, 80 0"
|
|
|
|
# media and volume controls
|
|
# ",XF86AudioMute,exec, pamixer -t"
|
|
",XF86AudioPlay,exec, playerctl play-pause"
|
|
",XF86AudioNext,exec, playerctl next"
|
|
",XF86AudioPrev,exec, playerctl previous"
|
|
",XF86AudioStop,exec, playerctl stop"
|
|
];
|
|
|
|
# mouse binding
|
|
bindm = [
|
|
"$mainMod, mouse:272, movewindow"
|
|
"$mainMod, mouse:273, resizewindow"
|
|
];
|
|
|
|
windowrule = [
|
|
# "float,class:^(mpv)$"
|
|
];
|
|
};
|
|
};
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
general.hide_cursor = true;
|
|
|
|
background = {
|
|
blur_size = 3;
|
|
blur_passes = 2;
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.hyprpanel = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
settings = {
|
|
bar = {
|
|
launcher.autoDetectIcon = true;
|
|
|
|
clock.format = "%d %b %H:%M";
|
|
|
|
workspaces.show_icons = true;
|
|
workspaces.workspaces = 20;
|
|
};
|
|
|
|
menus.clock = {
|
|
time = {
|
|
military = true;
|
|
hideSeconds = false;
|
|
};
|
|
weather.enabled = false;
|
|
};
|
|
|
|
menus.dashboard.directories.enabled = false;
|
|
menus.dashboard.shortcuts.enabled = true;
|
|
menus.dashboard.stats.enabled = false;
|
|
menus.dashboard.controls.enabled = false;
|
|
|
|
menus.workspaces.show_icons = true;
|
|
|
|
theme.bar.transparent = true;
|
|
theme.bar.buttons.dashboard.icon = "#88B1F7";
|
|
|
|
theme.bar.buttons.workspaces = {
|
|
hover = "#FFFFFF";
|
|
active = "#FFFFFF";
|
|
occupied = "#88B1F7";
|
|
available = "#88B1F7";
|
|
numbered_active_underline_color = "#FFFFFF";
|
|
};
|
|
|
|
theme.bar.buttons.clock.text = "#88B1F7";
|
|
theme.bar.buttons.clock.icon = "#88B1F7";
|
|
theme.bar.menus.menu.clock.time.time = "#88B1F7";
|
|
theme.bar.menus.menu.clock.calendar.weekdays = "#88B1F7";
|
|
theme.bar.menus.menu.clock.calendar.paginator = "#88B1F7";
|
|
theme.bar.menus.menu.clock.calendar.currentday = "#88B1F7";
|
|
theme.bar.buttons.notifications.icon = "#88B1F7";
|
|
theme.bar.battery.icon = "#88B1F7";
|
|
|
|
theme.bar.buttons.battery.text = "#88B1F7";
|
|
theme.bar.buttons.battery.icon = "#88B1F7";
|
|
theme.bar.menus.menu.battery.label.color = "#88B1F7";
|
|
theme.bar.menus.menu.battery.slider.primary = "#88B1F7";
|
|
theme.bar.menus.menu.battery.listitems.active = "#88B1F7";
|
|
theme.bar.menus.menu.battery.icons.active = "#88B1F7";
|
|
|
|
theme.bar.menus.menu.volume = {
|
|
label.color = "#88B1F7";
|
|
listitems.active = "#88B1F7";
|
|
iconbutton.active = "#88B1F7";
|
|
audio_slider.primary = "#88B1F7";
|
|
input_slider.primary = "#88B1F7";
|
|
};
|
|
|
|
theme.bar.buttons.volume = {
|
|
text = "#88b1f7";
|
|
icon = "#88b1f7";
|
|
};
|
|
|
|
theme.font = {
|
|
size = "12px";
|
|
};
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
hyprpanel
|
|
hyprpicker
|
|
wl-clip-persist
|
|
cliphist
|
|
wf-recorder
|
|
slurp
|
|
grim
|
|
wl-clipboard
|
|
playerctl
|
|
];
|
|
}
|