diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf new file mode 100644 index 0000000..2c3ceda --- /dev/null +++ b/.config/hypr/hypridle.conf @@ -0,0 +1,29 @@ +general { + lock_cmd = pidof hyprlock || hyprlock + before_sleep_cmd = loginctl lock-session + after_sleep_cmd = hyprctl dispatch dpms on +} + +listener { + timeout = 150 + on-timeout = brightnessctl -s set 10 + on-resume = brightnessctl -r +} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +listener { + timeout = 150 + on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 + on-resume = brightnessctl -rd rgb:kbd_backlight +} + +listener { + timeout = 600 + on-timeout = loginctl lock-session +} + +listener { + timeout = 630 + on-timeout = hyprctl dispatch dpms off + on-resume = hyprctl dispatch dpms on +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..ab40659 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,409 @@ +# ┌───────────────────────────────────────────────────┐ +# │ ██████╗ ███████╗████████╗███████╗██████╗ ███████╗ │ +# │ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔══██╗██╔════╝ │ +# │ ██████╔╝█████╗ ██║ █████╗ ██████╔╝███████╗ │ +# │ ██╔═══╝ ██╔══╝ ██║ ██╔══╝ ██╔══██╗╚════██║ │ +# │ ██║ ███████╗ ██║ ███████╗██║ ██║███████║ │ +# │ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝ │ +# ├───────────────────────────────────────────────────┤ +# │ depressing and totally messy hyprland config or │ +# ├───────────────────────────────────────────────────┤ +# │ How windows are the only well │ +# │ managed aspect of my life. │ +# │---------------------------------------------------│ +# │ https://gitlab.com/putridpete/dot-files │ +# └───────────────────────────────────────────────────┘ +# +# + +# Programs + +$terminal = kitty +$menu = rofi -show drun + +# Some default env vars + +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that + +# Outputs + +monitor=DP-1,1920x1080@239.760,0x0,1 +monitor=DP-2,1920x1080@239.760,1920x0,1 + +# Input devices + +input { + kb_layout = us(altgr-intl) + kb_variant = ,nodeadkeys + kb_options = caps:escape + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +device { + name = usb-hid-keyboard-mouse + sensitivity = -0.3 # -1.0 - 1.0, 0 means no modification. +} + +# Executables + +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once = udiskie -t & +exec-once = /usr/lib/polkit-kde-authentication-agent-1 +exec-once = sleep 1; blueman-applet +exec-once = hyprpaper +exec-once = swaync +exec-once = [workspace special:music silent] sleep 1; feishin --enable-features=UseOzonePlatform --ozone-platform=wayland +exec-once = waybar +exec-once = hypridle +exec-once = hyprctl setcursor Dracula-cursors 24 +exec-once = [workspace 1 silent] firefox +exec-once = libreoffice --writer --norestore +exec-once = gimp +exec-once = kdenlive +exec-once = virt-manager +exec-once = [workspace 2 silent] kitty --session ~/.config/kitty/session --listen-on=unix:@mykitty +exec-once = [workspace 2 silent] sleep 1; kitty ttyper +exec-once = [workspace 2 silent] sleep 2; kitty newsboat +exec-once = [workspace 7 silent] kitty btop +exec-once = [workspace 7 silent] sleep 1; kitty +exec-once = [workspace 7 silent] sleep 2;kitty zsh -c "source ~/.zshrc;nnn -deUxH" +exec-once = steam -silent +exec-once = sleep 1; heroic --ozone-platform=wayland +exec-once = [workspace special:password silent] keepassxc +exec-once = [workspace special:scratchpad silent] signal-desktop --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations +exec-once = nextcloud +exec-once = killall nextcloud +exec-once = gammastep -m wayland -O 6500K -g 1.1.0 +exec-once = [workspace special:email silent] sleep 1; tutanota-desktop --ozone-platform-hint=auto +exec-once = discord --enable-features=UseOzonePlatform --ozone-platform=wayland --start-minimized +exec-once = jellyfin-mpv-shim + +# Variables + +general { + gaps_in = 5 + gaps_out = 10 + border_size = 2 + layout = master + allow_tearing = false +} + +decoration { + + rounding = 8 + + blur { + enabled = true + size = 3 + passes = 1 + new_optimizations = true + noise = 0.06 + special = true + contrast = 0.8 + popups = true + } + +} + +# Animations + +animations { + enabled = yes + + bezier = myBezier, 0, 0.55, 0.45, 1 + + animation = windows, 1, 4, myBezier + animation = windowsIn, 1, 7, default, popin 80% + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 20, default + animation = borderangle, 1, 20, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default, slide +} + +# Layout + +master { + new_status = slave +} + +# Cursor + +cursor { + hide_on_key_press = true +} + +# Miscellaneous + +misc { + force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers + vrr = 2 +} + +# Window rules + +windowrulev2 = workspace 3 silent,class:libreoffice-writer +windowrulev2 = workspace 4 silent,class:gimp +windowrulev2 = workspace 5 silent,class:virt-manager +windowrulev2 = workspace special:email silent,class:tutanota-desktop +windowrulev2 = size 300 500,title:Friends List +windowrulev2 = center,title:Steam +windowrulev2 = float,class:steam +windowrulev2 = size 1600 900, title:Steam +windowrulev2 = center,class:heroic +windowrulev2 = float,class:heroic +windowrulev2 = size 1600 900, class:heroic +windowrulev2 = center,class:discord +windowrulev2 = float,class:discord +windowrulev2 = size 1600 900, class:discord +windowrulev2 = float,class:nmnet +windowrulev2 = size 856 656, class:nmnet +windowrulev2 = float,class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = move 1450 34,class:com.nextcloud.desktopclient.nextcloud +windowrulev2 = float,class:openrgb +windowrulev2 = size 1600 900,class:openrgb +windowrulev2 = center,class:openrgb +windowrulev2 = float,class:org.pulseaudio.pavucontrol +windowrulev2 = move 1070 38,class:org.pulseaudio.pavucontrol +windowrulev2 = float,title:Save File* +windowrulev2 = size 1000 600,title:Save File* +windowrulev2 = float,title:Open Files +windowrulev2 = size 1000 600,title:Open Files +windowrulev2 = float,title:Signal +windowrulev2 = center,title:Signal +windowrulev2 = size 1280 720,title:Signal +windowrulev2 = float,class:feishin +windowrulev2 = center,class:feishin +windowrulev2 = size 1600 900, class:feishin +windowrulev2 = float,class:org.keepassxc.KeePassXC +windowrulev2 = size 800 600,class:org.keepassxc.KeePassXC +windowrulev2 = center,class:org.keepassxc.KeePassXC +windowrulev2 = float,class:mpv +windowrulev2 = monitor DP-1,class:mpv +windowrulev2 = size 600 400,class:mpv +windowrulev2 = move 1310 670,class:mpv +windowrulev2 = float,class:org.kde.polkit-kde-authentication-agent-1 +windowrulev2 = float,class:alacarte +windowrulev2 = float,class:piper +windowrulev2 = float,class:nwg-look +windowrulev2 = float,class:zenity +windowrulev2 = float,class:galculator +windowrulev2 = move 1592 740,class:galculator +windowrulev2 = float,class:org.rncbc.qsynth +windowrulev2 = float,class:qt5ct +windowrulev2 = float,class:kvantummanager +windowrulev2 = float,class:nm-connection-editor +windowrulev2 = float,class:udiskie +windowrulev2 = float,class:gsimplecal +windowrulev2 = move 834 43,class:gsimplecal +windowrulev2 = float,class:imv +windowrulev2 = center,class:imv +windowrulev2 = float,class:org.pwmt.zathura +windowrulev2 = center,class:org.pwmt.zathura +windowrulev2 = idleinhibit fullscreen, fullscreen:1 +windowrulev2 = float,class:tutanota-desktop +windowrulev2 = center,class:tutanota-desktop +windowrulev2 = size 1705 909,class:tutanota-desktop +windowrulev2 = float,class:xdg-desktop-portal-gtk +windowrulev2 = float,class:blueman-manager +windowrulev2 = center,class:blueman-manager +windowrulev2 = move 1310 40,class:blueman-manager +windowrulev2 = size 600 900,class:blueman-manager + +# Keywords + +$mainMod = SUPER + +# Bindings + +bind = $mainMod, Return, exec, $terminal +bind = $mainMod, Q, killactive, +bind = $mainMod, E, exit, +bind = $mainMod, V, togglefloating, +bind = $mainMod, P, exec, $menu +bind = $mainMod, F, fullscreen +bind = $mainMod, C, exec, galculator +bind = $mainMod CTRL, T, exec, steam +bind = $mainMod CTRL, Y, exec, heroic +bind = $mainMod, N, exec, exec swaync-client -t -sw +bind = $mainMod CTRL, U, exec, [workspace special:scratchpad silent] signal-desktop --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations +bind = $mainMod CTRL, P, exec, [workspace special:password silent] keepassxc +bind = $mainMod CTRL, M, exec, [workspace special:music silent] sleep 1; feishin --enable-features=UseOzonePlatform --ozone-platform=wayland + +# Resize windows main keybind +bind=ALT,R,submap,resize + +# Start a submap resize +submap=resize + +# Set repeatable binds for resizing the active window +binde=,right,resizeactive,10 0 +binde=,left,resizeactive,-10 0 +binde=,up,resizeactive,0 -10 +binde=,down,resizeactive,0 10 +binde=,l,resizeactive,10 0 +binde=,h,resizeactive,-10 0 +binde=,k,resizeactive,0 -10 +binde=,j,resizeactive,0 10 + +# Use reset to go back to the global submap +bind=,escape,submap,reset + +# Reset the submap +submap=reset + +# Switch between floating and tiled windows + +bind = ALT, TAB, cyclenext, floating +bind = ALT, SPACE, focuscurrentorlast + +# Media keys + +bind = ,XF86AudioPlay,exec,playerctl play-pause +bind = ,XF86AudioPause,exec,playerctl pause +bind = ,XF86AudioStop,exec,playerctl stop +bind = ,XF86AudioNext,exec,playerctl next +bind = ,XF86AudioPrev,exec,playerctl previous +bind = ,XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+ +bind = ,XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- +bind = ,XF86AudioMute,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle + + +# Move focus with Mod + arrow keys + +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Move windows with Mod + arrow keys + +bind = $mainMod CTRL, left, movewindow, l +bind = $mainMod CTRL, right, movewindow, r +bind = $mainMod CTRL, up, movewindow, u +bind = $mainMod CTRL, down, movewindow, d + +# VI keybindings like God intended + +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d + +# Move windows with Mod + vi keys + +bind = $mainMod CTRL, h, movewindow, l +bind = $mainMod CTRL, l, movewindow, r +bind = $mainMod CTRL, k, movewindow, u +bind = $mainMod CTRL, j, movewindow, d + +# Switch workspaces with Mod + [0-9,-,=] + +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 +bind = $mainMod, minus, workspace, 11 +bind = $mainMod, equal, workspace, 12 + +# Move active window to a workspace with Mod + CTRL + [0-9,-,=] + +bind = $mainMod CTRL, 1, movetoworkspace, 1 +bind = $mainMod CTRL, 2, movetoworkspace, 2 +bind = $mainMod CTRL, 3, movetoworkspace, 3 +bind = $mainMod CTRL, 4, movetoworkspace, 4 +bind = $mainMod CTRL, 5, movetoworkspace, 5 +bind = $mainMod CTRL, 6, movetoworkspace, 6 +bind = $mainMod CTRL, 7, movetoworkspace, 7 +bind = $mainMod CTRL, 8, movetoworkspace, 8 +bind = $mainMod CTRL, 9, movetoworkspace, 9 +bind = $mainMod CTRL, 0, movetoworkspace, 10 +bind = $mainMod CTRL, minus, movetoworkspace, 11 +bind = $mainMod CTRL, equal, movetoworkspace, 12 + +# Workspace monitor assignment + +workspace = 1, monitor:DP-1, default:true +workspace = 2, monitor:DP-1 +workspace = 3, monitor:DP-1 +workspace = 4, monitor:DP-1 +workspace = 5, monitor:DP-1 +workspace = 6, monitor:DP-1 +workspace = 7, monitor:DP-2, default:true +workspace = 8, monitor:DP-2 +workspace = 9, monitor:DP-2 +workspace = 10, monitor:DP-2 +workspace = 11, monitor:DP-2 +workspace = 12, monitor:DP-2 + +# Special workspaces + +bind = $mainMod, U, togglespecialworkspace, scratchpad +bind = $mainMod SHIFT, S, movetoworkspace, special:scratchpad + +bind = $mainMod, M, togglespecialworkspace, music +bind = $mainMod, O, togglespecialworkspace, password +bind = $mainMod, I, togglespecialworkspace, email + +# Scroll through existing workspaces with Mod + scroll + +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Scroll through existing workspaces with Mod + vi keys + +bind = $mainMod ALT, l, workspace, e+1 +bind = $mainMod ALT, h, workspace, e-1 + +# Scroll through existing workspaces with Mod + arrow keys + +bind = $mainMod ALT, right, workspace, e+1 +bind = $mainMod ALT, left, workspace, e-1 + +# Move/resize windows with Mod + LMB/RMB and dragging + +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Screenshot + +bind = ,Print,exec,grim -g "$(slurp)" - | swappy -f - + +# Dracula theme + +general { + col.active_border = rgb(6272A4) rgb(bd93f9) 90deg + col.inactive_border = rgba(44475aaa) + col.nogroup_border = rgba(282a36dd) + col.nogroup_border_active = rgb(bd93f9) rgb(44475a) 90deg + no_border_on_floating = false + border_size = 2 + +} + +decoration:shadow { + color = rgba(1E202966) + enabled = true + range = 60 + offset = 1 2 + render_power = 3 + scale = 0.97 +} + +group { + groupbar { + col.active = rgb(bd93f9) rgb(44475a) 90deg + col.inactive = rgba(282a36dd) + } +} +windowrulev2 = bordercolor rgb(ff5555),xwayland:1 # check if window is xwayland diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..f2e2a07 --- /dev/null +++ b/.config/hypr/hyprlock.conf @@ -0,0 +1,120 @@ +# BACKGROUND +background { + monitor = DP-1 + path = ~/.wallpapers/castlevania3.png + blur_size = 3 + blur_passes = 2 + noise = 0.06 + contrast = 0.8 + brightness = 0.5 + vibrancy = 0.2 + vibrancy_darkness = 0.2 +} + +background { + monitor = DP-2 + path = ~/.wallpapers/castlevania4.png + blur_size = 3 + blur_passes = 2 + noise = 0.06 + contrast = 0.8 + brightness = 0.5 + vibrancy = 0.2 + vibrancy_darkness = 0.2 +} + + +# GENERAL +general { + no_fade_in = false + grace = 0 + disable_loading_bar = false +} + +# Profie-Photo +image { + monitor = DP-1 + path = ~/.face + border_size = 2 + border_color = rgba(248, 248, 242, 0.8) + size = 200 + rounding = -1 + rotate = 0 + reload_time = -1 + reload_cmd = + position = 0, 20 + halign = center + valign = center + shadow_passes = 2 + shadow_size = 4 +} + +# Day-Month-Date +label { + monitor = DP-1 + text = cmd[update:1000] echo -e "$(date +"%A, %B %d")" + color = rgba(255, 121, 198, 0.70) + font_size = 25 + font_family = Droid Sans Font, Font Awesome, Roboto, FreeSans, FreeSerif + position = 0, 350 + halign = center + valign = center +} + +# Time +label { + monitor = DP-1 + text = cmd[update:1000] echo "$(date +"%I:%M")" + color = rgba(139, 233, 253, 0.70) + font_size = 120 + font_family = Droid Sans Font, Font Awesome, Roboto, FreeSans, FreeSerif + position = 0, 250 + halign = center + valign = center +} + +# USER +label { + monitor = DP-1 + text =  Peter Domínguez + color = rgba(248, 248, 242, 0.80) + font_size = 20 + font_family = Droid Sans Font, Font Awesome, Roboto, FreeSans, FreeSerif + position = 0, -130 + halign = center + valign = center +} + +# INPUT FIELD +input-field { + monitor = DP-1 + size = 300, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(40, 42, 54, 0.5) + font_color = rgb(68,71,90) + check_color = rgba(255, 184, 108, 0.6) + fail_color = rgba(255, 85, 85, 0.6) + fade_on_empty = false + placeholder_text = 󰌾 Enter Password + fail_text =  Login failed! Attempt(s): $ATTEMPTS + hide_input = false + position = 0, -210 + halign = center + valign = center +} + +# CURRENT SONG +label { + monitor = DP-1 + text = cmd[update:1000] echo "$(~/.bin/sh/songdetail.sh)" + color = rgba(189, 147, 249, 0.8) + font_size = 18 + font_family = Droid Sans Font, Font Awesome, Roboto, FreeSans, FreeSerif + position = 0, 50 + halign = center + valign = bottom +} diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..b78173b --- /dev/null +++ b/.config/hypr/hyprpaper.conf @@ -0,0 +1,16 @@ +preload = /home/peter/.wallpapers/castlevania3.png +#if more than one preload is desired then continue to preload other backgrounds +preload = /home/peter/.wallpapers/castlevania4.png +# .. more preloads + +#set the default wallpaper(s) seen on initial workspace(s) --depending on the number of monitors used +wallpaper = DP-1,/home/peter/.wallpapers/castlevania3.png +#if more than one monitor in use, can load a 2nd image +wallpaper = DP-2,/home/peter/.wallpapers/castlevania4.png +# .. more monitors + +#enable splash text rendering over the wallpaper +splash = false + +#fully disable ipc +# ipc = off