2023-11-16 16:33:42 +01:00
|
|
|
{ lib, config, pkgs, ... }: {
|
|
|
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
|
|
|
home.packages = with pkgs; [ hyprland ];
|
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
xwayland.enable = true;
|
|
|
|
extraConfig = ''
|
|
|
|
|
|
|
|
monitor=,preferred,auto,1
|
|
|
|
|
|
|
|
input {
|
|
|
|
kb_layout = us, ru
|
|
|
|
kb_variant = intl, phonetic
|
|
|
|
kb_model = pc104
|
|
|
|
kb_options = grp:ctrls_toggle
|
|
|
|
kb_rules =
|
|
|
|
|
|
|
|
follow_mouse = 1
|
|
|
|
|
|
|
|
sensitivity = 0 # -0.5 # -1.0 - 1.0, 0 means no modification.
|
|
|
|
force_no_accel = true
|
|
|
|
|
|
|
|
touchpad {
|
|
|
|
natural_scroll=no
|
|
|
|
disable_while_typing=true
|
|
|
|
scroll_factor=1
|
|
|
|
disable_while_typing=0
|
|
|
|
tap-to-click=0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
misc {
|
|
|
|
disable_hyprland_logo=true
|
2023-11-16 17:25:56 +01:00
|
|
|
#animate_mouse_windowdragging=false
|
|
|
|
#animate_manual_resizes=false
|
2023-11-16 16:33:42 +01:00
|
|
|
|
2023-11-16 17:50:17 +01:00
|
|
|
#vrr=2 #Note broken on renoir AMD DRM potentially ?
|
2023-11-16 16:33:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
general {
|
|
|
|
gaps_in = 8
|
|
|
|
gaps_out = 15
|
|
|
|
border_size = 2
|
|
|
|
|
|
|
|
#col.active_border = rgb(${config.colorScheme.colors.base05})
|
|
|
|
#col.inactive_border = rgb(${config.colorScheme.colors.base03})
|
|
|
|
#col.group_border_active = rgb(${config.colorScheme.colors.base05})
|
|
|
|
#col.group_border = rgb(${config.colorScheme.colors.base03})
|
|
|
|
|
|
|
|
layout = dwindle
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
decoration {
|
|
|
|
rounding = 7
|
|
|
|
|
|
|
|
blur {
|
|
|
|
enabled = true
|
|
|
|
size = 2
|
|
|
|
passes = 1
|
|
|
|
new_optimizations = true
|
|
|
|
}
|
|
|
|
#multisample_edges = true
|
|
|
|
|
|
|
|
#opactity
|
|
|
|
inactive_opacity = 1.0
|
|
|
|
active_opacity = 1.0
|
|
|
|
fullscreen_opacity = 1.0
|
|
|
|
|
|
|
|
# shadow
|
|
|
|
drop_shadow = no
|
|
|
|
shadow_range = 60
|
|
|
|
shadow_offset = 0 5
|
|
|
|
shadow_render_power = 4
|
2023-11-16 17:50:17 +01:00
|
|
|
#col.shadow = rgba(00000099)
|
2023-11-16 16:33:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
animations {
|
|
|
|
enabled = false
|
|
|
|
}
|
|
|
|
|
|
|
|
dwindle {
|
|
|
|
pseudotile = yes
|
|
|
|
# force_split = 0
|
|
|
|
preserve_split = yes
|
|
|
|
}
|
|
|
|
|
|
|
|
master {
|
|
|
|
new_is_master = true
|
|
|
|
}
|
|
|
|
|
|
|
|
gestures {
|
|
|
|
workspace_swipe = off
|
|
|
|
}
|
|
|
|
|
|
|
|
exec-once = eww open bar & dunst
|
|
|
|
|
|
|
|
exec-once = swww init
|
|
|
|
|
|
|
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
|
|
exec-once = /nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 &
|
|
|
|
|
|
|
|
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
|
|
|
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
|
|
|
|
|
|
|
exec-once = swayidle -w timeout 600 'swaylock' before-sleep 'swaylock'
|
|
|
|
|
|
|
|
|
|
|
|
#windowrules
|
|
|
|
windowrulev2 = noshadow, floating:0
|
|
|
|
|
|
|
|
windowrulev2 = float, title:^(flying_kitty)$
|
|
|
|
windowrulev2 = size 1100 600, title:^(flying_kitty)$
|
|
|
|
windowrulev2 = move center, title:^(flying_kitty)$
|
|
|
|
windowrulev2 = animation slide, title:^(flying_kitty)$
|
|
|
|
windowrulev2 = float, title:^(Volume Control)$
|
|
|
|
windowrulev2 = float, title:^(Picture-in-Picture)$
|
|
|
|
windowrulev2 = float, title:^(Steam)$
|
|
|
|
windowrulev2 = fullscreen, title:^(wlogout)$
|
|
|
|
windowrulev2 = float, title:^(wlogout)$
|
|
|
|
|
|
|
|
windowrulev2 = workspace 2 silent, class:^(org.telegram.desktop)$
|
|
|
|
windowrulev2 = workspace 2 silent, class:^(discord)$
|
|
|
|
|
|
|
|
windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$
|
|
|
|
windowrulev2 = workspace 8 silent, title:^(Nextcloud)$
|
|
|
|
windowrulev2 = workspace 8 silent, class:^(Tk)$,title:^(Server Configuration)$
|
|
|
|
|
|
|
|
#SPECIAL FLOATERS
|
|
|
|
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC - Access Request)$
|
|
|
|
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC - Access Request)$
|
|
|
|
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
|
|
|
|
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
|
|
|
|
windowrulev2 = float,title:^(Open)$
|
|
|
|
windowrulev2 = float,title:^(Choose Files)$
|
|
|
|
windowrulev2 = float,title:^(Save As)$
|
|
|
|
windowrulev2 = float,title:^(Confirm to replace files)$
|
|
|
|
windowrulev2 = float,title:^(File Operation Progress)$
|
|
|
|
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
|
|
|
|
windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$
|
|
|
|
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Picture-in-Picture)$
|
|
|
|
windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
|
|
|
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
|
|
|
windowrulev2 = float,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$
|
|
|
|
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$
|
|
|
|
windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
|
|
|
windowrulev2 = center,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
|
|
|
|
|
|
|
#binds
|
|
|
|
$mainMod = SUPER
|
|
|
|
|
|
|
|
bind = SUPER, RETURN, exec, kitty
|
|
|
|
|
|
|
|
bind = SUPER_SHIFT, RETURN,togglespecialworkspace,
|
|
|
|
# bind = SUPER_SHIFT, RETURN, exec, kitty --title flying_kitty --single-instance
|
|
|
|
bind = SUPER, Q, killactive,
|
|
|
|
bind = SUPER, T, togglefloating,
|
|
|
|
bind = SUPER, F, fullscreen,
|
|
|
|
|
|
|
|
bind = SUPER, D, exec, wofi -modi --show drun
|
|
|
|
bind = SUPER SHIFT,D,exec, ~/.config/hypr/themes/apatheia/eww/launch_bar
|
|
|
|
|
|
|
|
bind = SUPER, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy
|
|
|
|
bind = , Print, exec, grim -g "$(slurp -d)" - | swappy -f -
|
|
|
|
|
|
|
|
bind = SUPER, L, exec, swaylock
|
|
|
|
|
|
|
|
|
|
|
|
bind = SUPER, P, pseudo, # dwindle
|
|
|
|
bind = SUPER, J, togglesplit, # dwindle
|
|
|
|
bind = SUPER, G, togglegroup
|
|
|
|
bind = SUPER, tab, changegroupactive
|
|
|
|
|
|
|
|
bind = SUPER, left, movefocus, l
|
|
|
|
bind = SUPER, right, movefocus, r
|
|
|
|
bind = SUPER, up, movefocus, u
|
|
|
|
bind = SUPER, down, movefocus, d
|
|
|
|
|
|
|
|
bind = SUPER, 1, workspace, 1
|
|
|
|
bind = SUPER, 2, workspace, 2
|
|
|
|
bind = SUPER, 3, workspace, 3
|
|
|
|
bind = SUPER, 4, workspace, 4
|
|
|
|
bind = SUPER, 5, workspace, 5
|
|
|
|
bind = SUPER, 6, workspace, 6
|
|
|
|
bind = SUPER, 7, workspace, 7
|
|
|
|
bind = SUPER, 8, workspace, 8
|
|
|
|
bind = SUPER, 9, workspace, 9
|
|
|
|
bind = SUPER, 0, workspace, 10
|
|
|
|
|
|
|
|
bind = SUPER SHIFT, 1, movetoworkspacesilent, 1
|
|
|
|
bind = SUPER SHIFT, 2, movetoworkspacesilent, 2
|
|
|
|
bind = SUPER SHIFT, 3, movetoworkspacesilent, 3
|
|
|
|
bind = SUPER SHIFT, 4, movetoworkspacesilent, 4
|
|
|
|
bind = SUPER SHIFT, 5, movetoworkspacesilent, 5
|
|
|
|
bind = SUPER SHIFT, 6, movetoworkspacesilent, 6
|
|
|
|
bind = SUPER SHIFT, 7, movetoworkspacesilent, 7
|
|
|
|
bind = SUPER SHIFT, 8, movetoworkspacesilent, 8
|
|
|
|
bind = SUPER SHIFT, 9, movetoworkspacesilent, 9
|
|
|
|
bind = SUPER SHIFT, 0, movetoworkspacesilent, 10
|
|
|
|
|
|
|
|
bind = SUPER, mouse_down, workspace, e+1
|
|
|
|
bind = SUPER, mouse_up, workspace, e-1
|
|
|
|
|
|
|
|
bindm = SUPER, mouse:272, movewindow
|
|
|
|
bindm = SUPER, mouse:273, resizewindow
|
|
|
|
bind = , XF86AudioPlay, exec, playerctl play-pause
|
|
|
|
bind = , XF86AudioPrev, exec, playerctl previous
|
|
|
|
bind = , XF86AudioNext, exec, playerctl next
|
|
|
|
bind = , XF86AudioRaiseVolume, exec, amixer -q sset 'Master' 5%+
|
|
|
|
bind = , XF86AudioLowerVolume, exec, amixer -q sset 'Master' 5%-
|
|
|
|
bind = , XF86AudioMute, exec, amixer -q sset 'Master' toggle
|
|
|
|
bind = , XF86MonBrightnessUp, exec, brillo -A 5
|
|
|
|
bind = , XF86MonBrightnessDown, exec, brillo -U 5
|
|
|
|
|
|
|
|
exec-once = [workspace special silent] kitty --title flying_kitty
|
|
|
|
exec-once = sh ~/.config/startup.sh
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg.configFile."startup.sh".text = ''
|
|
|
|
#!/bin/sh
|
|
|
|
sleep 2
|
|
|
|
keepassxc &
|
|
|
|
firefox &
|
|
|
|
jellyfin-mpv-shim &
|
|
|
|
easyeffects --gapplication-service &
|
|
|
|
|
|
|
|
sleep 2
|
|
|
|
nextcloud &
|
|
|
|
telegram-desktop&
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|