{ pkgs, ... }@all: with all; let animation-speed = "5"; transparency = builtins.toString rice.transparency; terminal = "ghostty"; terminal-exec = "ghostty --command="; monitors = let docked = false; in { xps = { main = if docked then { name = "DP-5"; resolution = "1920x1080"; position = "1920x0"; scale = "1.0"; } else { name = "eDP-1"; resolution = "1920x1200"; position = "0x1080"; scale = "1.0"; }; second = if docked then { name = "DP-6"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; } else { name = "DP-3"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; }; }; north = { main = { name = "DP-1"; # name = "DP-4"; resolution = "2560x1440"; position = "1920x150"; scale = "1.0"; }; left = { # name = "HDMI-A-2"; name = "HDMI-A-1"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; }; # right = { # name = "HDMI-A-2"; # resolution = "1920x1080"; # position = "4480x360"; # scale = "1.0"; # }; }; ace = { main = { name = "HDMI-A-1"; resolution = "3840x2160"; position = "0x0"; scale = "2.0"; }; }; }; in { home.packages = with pkgs; [ hyprland-protocols hyprlock hypridle hyprshot hyprpicker hyprcursor grim slurp ]; wayland.windowManager.hyprland = { enable = true; # package = pkgs-unstable.hyprland; package = pkgs.hyprland; # package = inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland.enable = true; systemd.enable = true; plugins = [ # inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo # inputs.hyprfocus.packages.${pkgs.system}.hyprfocus # inputs.hycov.packages.${pkgs.system}.hycov pkgs.hyprlandPlugins.hyprspace # inputs.hyprspace.packages.${pkgs.system}.Hyprspace ]; settings = { monitor = if hyper.host == "NxXPS" then (with monitors.xps; [ "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" "${second.name}, ${second.resolution}, ${second.position}, ${second.scale}" ]) else (if hyper.host == "NxNORTH" then (with monitors.north; [ "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" "${left.name}, ${left.resolution}, ${left.position}, ${left.scale}" # "${right.name}, ${right.resolution}, ${right.position}, ${right.scale}" ]) else ( with monitors.ace; [ "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" ])); workspace = let d1 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name); d2 = if hyper.host == "NxXPS" then monitors.xps.second.name else (if hyper.host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name); d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name); # d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.hyper.host == "NxNORTH" then monitors.north.right.name else monitors.ace.main.name); compact = "gapsin:0, gapsout:0, bordersize:1, rounding:false"; in [ "11, monitor:${d1}, default:true" "12, monitor:${d1}" "13, monitor:${d1}" "14, monitor:${d1}" "15, monitor:${d1}" "16, monitor:${d1}" "17, monitor:${d1}" "18, monitor:${d1}" "19, monitor:${d1}" "10, monitor:${d1}, ${compact}" "100, monitor:${d1}, ${compact}" "21, monitor:${d2}, default:true, ${compact}" "22, monitor:${d2}" "23, monitor:${d2}" "24, monitor:${d2}" "25, monitor:${d2}" "26, monitor:${d2}" "27, monitor:${d2}" "28, monitor:${d2}" "29, monitor:${d2}" "20, monitor:${d2}, ${compact}" "31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}" "32, monitor:${d3}" "33, monitor:${d3}" "34, monitor:${d3}" "35, monitor:${d3}" "36, monitor:${d3}" "37, monitor:${d3}" "38, monitor:${d3}" "39, monitor:${d3}" "30, monitor:${d3}, ${compact}" ] ++ [ # no gaps when only "w[tv1], gapsout:0, gapsin:0" "f[1], gapsout:0, gapsin:0" ]; # "device:logitech-wireless-mouse-mx-master-1" = { # sensitivity = -0.2; # }; env = if hyper.nvidia.enable == true then [ "LIBVA_DRIVER_NAME,nvidia" "XDG_SESSION_TYPE,wayland" "GBM_BACKEND,nvidia-drm" "__GLX_VENDOR_LIBRARY_NAME,nvidia" "WLR_NO_HARDWARE_CURSORS,1" "HYPRCURSOR_THEME,${config.gtk.cursorTheme.name}" "HYPRCURSOR_SIZE,${toString config.gtk.cursorTheme.size}" ] else []; input = { sensitivity = 0.1; kb_layout = "de"; follow_mouse = "1"; touchpad = { natural_scroll = true; scroll_factor = "0.9"; }; }; general = { gaps_in = builtins.div rice.gap-size 2; gaps_out = rice.gap-size; border_size = rice.border-width; "col.active_border" = "rgba(${rice.lib.nohash rice.color.border2}ff) rgba(${rice.lib.nohash rice.color.border}ff) 90deg"; "col.inactive_border" = "rgba(${rice.lib.nohash rice.color.background}ff) rgba(${rice.lib.nohash rice.color.border}ff) 90deg"; # cursor_inactive_timeout = 10; layout = "dwindle"; # layout = "master"; resize_on_border = false; }; decoration = { rounding = rice.rounding; # drop_shadow = false; # shadow_range = "20"; # shadow_offset = "0 0"; # shadow_render_power = "4"; # "col.shadow" = "rgba(${rice.lib.nohash rice.color.red.base}ff)"; # "col.shadow_inactive" = "rgba(${rice.lib.nohash rice.color.black.base}ff)"; active_opacity = "1.0"; inactive_opacity = "1.0"; fullscreen_opacity = "1.0"; dim_inactive = false; dim_strength = "0.2"; dim_around = "0.8"; blur = { enabled = true; size = "10"; passes = "2"; xray = false; vibrancy = 0.5; ignore_opacity = true; }; }; animations = { enabled = true; bezier = "myBezier, 0.01, 0.9, 0.1, 1.0"; #o # bezier = "myBezier, 0.83, 0, 0.17, 1"; # io # bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; # bezier = "myBezier, 0.33, 1, 0.68, 1"; animation = let direction = if hyper.host == "NxXPS" then "slide" else "slidevert"; in [ "windows, 1, ${animation-speed}, myBezier, slide" "border, 1, ${animation-speed}, myBezier" "fade, 1, ${animation-speed}, myBezier" "workspaces, 1, ${animation-speed}, myBezier, ${direction}" ]; }; gestures = { workspace_swipe = true; workspace_swipe_fingers = "4"; workspace_swipe_distance = "300"; workspace_swipe_invert = true; workspace_swipe_min_speed_to_force = "30"; workspace_swipe_cancel_ratio = "0.5"; workspace_swipe_create_new = false; workspace_swipe_direction_lock = false; workspace_swipe_direction_lock_threshold = "10"; workspace_swipe_forever = true; workspace_swipe_use_r = false; }; dwindle = { preserve_split = true; # you probably want this }; # master = { # }; misc = { disable_hyprland_logo = true; animate_mouse_windowdragging = false; enable_swallow = true; }; exec-once = [ "waybar" "swww-daemon" "hyprland-autoname-workspaces" "/usr/lib/polkit-kde-authentication-agent-1 " "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "syncthing -no-browser" "mako" "fcitx5" # "ibus engine xkb:de::deu" "libinput-gestures" # "hyprswitch --daemon" ]; windowrulev2 = [ "bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1" "bordersize 0, floating:0, onworkspace:w[tv1]" "rounding 0, floating:0, onworkspace:w[tv1]" "bordersize 0, floating:0, onworkspace:f[1]" "rounding 0, floating:0, onworkspace:f[1]" ] ++ [ "center 1,class:^(gimp)$" "float, class:^(ibus-ui.*)$" "float, class:^(ibus-ui-gtk3)$" "float, class:^(imv)$" "float, class:^(org.kde.polkit-kde-authentication-agent-1)$" "float, class:^(presenter)$" # sent "float, class:^(thunderbird)$" "float, title:^(Compact folders)$" "float, title:^(Ibus-ui.*)$" "float, title:^(Ibus-ui-gtk3)$" "float, title:^(Page Info — .*)$" "float, title:^(Picture-in-Picture)$" "float, title:^(wlogout)$" "fullscreen, class:^(imv)$" "fullscreen, class:^(sent)$" "fullscreen, class:^(wlogout)$" "noanim, class:^(imv)$" "noanim, class:^(presenter)$" # sent "opacity ${transparency}, class:^(Code)$" "opacity ${transparency}, class:^(code-oss)$" "opacity ${transparency}, class:^(discord)$" "opacity ${transparency}, class:^(vesktop)$" # "opacity ${transparency}, class:^(Element)$" "opacity ${transparency}, class:^(lutris)$" "opacity ${transparency}, class:^(neovide)$" "opacity ${transparency}, class:^(obsidian)$" "opacity ${transparency}, class:^(vesktop)$" "opacity ${transparency}, class:^(VSCodium)$" "opacity ${transparency}, title:^(wlogout)$" "opaque, title:^(GNU Image Manipulation Program)$" "pin, title:^(Picture-in-Picture)$" "tile, class:^(sent)$" "workspace 100, class:^(gamescope)$" "float, title:^(terminal-file-picker)$" "dimaround, title:^(terminal-file-picker)$" "center, title:^(terminal-file-picker)$" "size 80% 80%, title:^(terminal-file-picker)$" ]; layerrule = [ "blur,waybar" "dimaround,rofi" "blur,rofi" "xray,rofi" ]; # d8888b. d888888b d8b db d8888b. .d8888. # 88 '8D '88' 888o 88 88 '8D 88' YP # 88oooY' 88 88V8o 88 88 88 '8bo. # 88''Yb. 88 88 V8o88 88 88 'Y8b. # 88 8D .88. 88 V888 88 .8D db 8D # Y8888P' Y888888P VP V8P Y8888D' '8888Y' ########################################################################### ## ROW 0: bind = [ "SUPER, F1, workspace, 100" "SUPER SHIFT, F1, movetoworkspace, 100" # "SUPER, F2," # "SUPER, F3, toggleopaque" "SUPER, F4, exec, rm /tmp/caldav_event_cache.json && notify-send 'Cleared Saved Event!' ''" "SUPER, F5, exec, nx_gcal_event force-lookup" "SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate" "SUPER, F6, exec, ${terminal-exec}'htop'" "SUPER, F7, exec, ${terminal-exec}'nmtui'" ''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs -d '\n' swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 --transition-duration 2'' "SUPER, F9, execr, waybar_mode set '󰸉 '" "SUPER, F9, submap, color" # "SUPER, F10, hyprload,update" "SUPER, F11, exec, waybar" "SUPER SHIFT, F11, exec, pkill waybar " "SUPER, F12, exec, hyprland-autoname-workspaces" "SUPER SHIFT, F12, exec, pkill -9 hyprland-aut" ########################################################################### ## ROW 1: # "SUPER, ^, " "SUPER, 1, workspace, 11" "SUPER SHIFT, 1, movetoworkspace, 11" "SUPER, 2, workspace, 12" "SUPER SHIFT, 2, movetoworkspace, 12" "SUPER, 3, workspace, 13" "SUPER SHIFT, 3, movetoworkspace, 13" "SUPER, 4, workspace, 14" "SUPER SHIFT, 4, movetoworkspace, 14" "SUPER, 5, workspace, 15" "SUPER SHIFT, 5, movetoworkspace, 15" "SUPER, 6, workspace, 16" "SUPER SHIFT, 6, movetoworkspace, 16" "SUPER, 7, workspace, 17" "SUPER SHIFT, 7, movetoworkspace, 17" "SUPER, 8, workspace, 18" "SUPER SHIFT, 8, movetoworkspace, 18" "SUPER, 9, workspace, 19" "SUPER SHIFT, 9, movetoworkspace, 19" "SUPER, 0, workspace, 10" "SUPER SHIFT, 0, movetoworkspace, 10" # "SUPER, ß," # "SUPER, ´," # "SUPER, Backspace," ########################################################################### ## ROW 2: # "SUPER, TAB, hycov:toggleoverview" "SUPER, TAB, overview:toggle" # "SUPER, TAB, hyprexpo:expo, toggle" "ALT, TAB, focuscurrentorlast" # "SUPER, TAB, exec, hyprswitch --daemon" "SUPER, Q, killactive" "SUPER, W, exec, waybar_mode set '󰈹 '" "SUPER, W, submap, browserSM " "SUPER, E, exec, element-desktop" "SUPER, R, exec, rofi -show drun" # "SUPER, T, exec, alacritty" # "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace"" "SUPER, T, exec, SESSION_FROM_DE=TRUE ${terminal}" "SUPER SHIFT, T, exec, ${terminal-exec}'ssh nxace'" "SUPER, Z, exec, zathura" "SUPER, U, exec, [tile] thunderbird " "SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'" "SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'" "SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'" "SUPER, O, exec, obsidian " "SUPER, P, pin " # "SUPER, Ü," # "SUPER, +," "SUPER, Enter, exec, SESSION_FROM_DE=TRUE ${terminal}" ########################################################################### ## ROW 3: "SUPER, A, execr, waybar_mode set ' 󰹑 '" "SUPER, A, submap, scrL" "SUPER, S, exec, spotify" "SUPER, D, exec, vesktop" # "SUPER, D, exec, discord" "SUPER, F, fullscreen" # "SUPER, G," "SUPER, H, movefocus, l" "SUPER, J, movefocus, d" "SUPER, K, movefocus, u" "SUPER, L, movefocus, r" # "SUPER, Ö," # "SUPER, Ä," # "SUPER, #," ########################################################################### ## ROW 4: # "SUPER, <, overview:toggle" "SUPER, Y, execr, waybar_mode set '󰹑 '" "SUPER, Y, submap, scrR" "SUPER, X, exec, pkill wlogout || wlogout --protocol layer-shell -b 3" # "SUPER, C, exec, /home/nx2/scripts/quickconfig/quickconfig.sh " "SUPER, C, exec, chatterino" "SUPER SHIFT, C, exec, hyprpicker -n -a" "SUPER, V, togglefloating, " "SUPER, B, exec, bitwarden" "SUPER, N, togglesplit" # "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.sh " # "SUPER, comma, exec, /home/nx2/scripts/change-language.sh" "SUPER, ., exec, echo key x:Prior | dotool" "SUPER, -, exec, echo key x:Next | dotool" ########################################################################### ## ROW 5: # bindr = SUPER, Ctrl, exec, # ?? # bindr = SUPERALT, Alt_L, exec, "SUPER, Space, cyclenext" "SUPER SHIFT, Space, swapnext" # "SUPER, , " # "SUPER, , " # "SUPER, AppsKey, # ? " # ########################################################################### ## ARROW KEYS: "SUPER, left, movefocus, l" # "SUPER SHIFT, left, split-changemonitor, prev" "SUPER, right, movefocus, r" "SUPER, up, movefocus, u" # "SUPER SHIFT, right, split-changemonitor, next" "SUPER, down, movefocus, d" ########################################################################### ## MEGA KEYS: ", Print, execr, waybar_mode set '󰄀 '" ", Print, submap, screenshot" # "SUPER, Next, resizeactive, 5% 5%" # binde # "SUPER, Prior, resizeactive, -5% -5%" # binde ########################################################################### ## FN KEYS: ",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+" ",XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-" ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ",XF86AudioPlay, exec, playerctl play-pause" ",XF86AudioPrev, exec, playerctl previous" ",XF86AudioNext, exec, playerctl next" ",XF86MonBrightnessUp, exec, brightnessctl s '5%+'" ",XF86MonBrightnessDown, exec, brightnessctl s '5%-'" ########################################################################### ## MOUSE: "SUPER, mouse_down, workspace, e+1" "SUPER, mouse_up, workspace, e-1" ]; bindm = [ "SUPER, mouse:272, movewindow" "SUPER, mouse:273, resizewindow" ]; bindl = [ # ",switch:on:Lid Switch, exec, hyprlock &" ]; binde = [ # "SUPER, TAB, exec, hyprswitch --daemon --do-initial-execute" "SUPER, Next, resizeactive, 10% 10%" "SUPER, Prior, resizeactive, -10% -10%" ]; plugin = { overview = { # panelHeight = # panelBorderWidth = onBottom = false; # whether if panel should be on bottom instead of top # workspaceMargin = # spacing of workspaces with eachother and the edge of the panel # reservedArea = # padding on top of the panel, for Macbook camera notch workspaceBorderSize = rice.border-width; # centerAligned = true; # whether if workspaces should be aligned at the center (KDE / macOS style) or at the left (Windows style) hideBackgroundLayers = true; # do not draw background and bottom layers in overview hideTopLayers = false; # do not draw top layers in overview hideOverlayLayers = false; # do not draw overlay layers in overview hideRealLayers = false; # whether to hide layers in actual workspace drawActiveWorkspace = true; # draw the active workspace in overview as-is overrideGaps = false; # whether if overview should override the layout gaps in the current workspace using the following values # gapsIn = # # gapsOut = # affectStrut = false; # whether the panel should push window aside, disabling this option also dots_center = true; autoDrag = true; # mouse click always drags window when overview is open autoScroll = true; # mouse scroll on active workspace area always switch workspace exitOnClick = true; # mouse click without dragging exits overview switchOnDrop = true; # switch to the workspace when a window is droppped into it exitOnSwitch = true; # overview exits when overview is switched by clicking on workspace view or by switchOnDrop showNewWorkspace = false; # add a new empty workspace at the end of workspaces view showEmptyWorkspace = false; # show empty workspaces that are inbetween non-empty workspaces showSpecialWorkspace = false; # defaults to false disableGestures = true; reverseSwipe = true; # reverses the direction of swipe gesture, for macOS peeps? exitKey = true; }; }; }; # .d8888. db db d8888b. 88b d88 d8b d88888b. .d8888. # 88' YP 88 88 88 '8D 88YbdP88 dP'Yb 88' '8b 88' YP # '8bo. 88 88 88oooY' 88 YP 88 d8. .8b 88. .8P '8bo. # 'Y8b. 88 88 88''Yb. 88 88 8888888 888888P' 'Y8b. # db 8D 88. .88 88 8D 88 88 88' '88 88 db 8D # '8888Y' 'Y8888P' Y8888P' YP YP 88 YP YP '8888Y' extraConfig = let action_simple = { mods ? "", key, cmd }: '' bind=${mods},${key},execr,waybar_mode unset bind=${mods},${key},${cmd} bind=${mods},${key},submap,reset ''; extra_workspace = { key, wsnumber }: '' bind=,${key},execr,waybar_mode unset bind=,${key},workspace,${wsnumber} bind=,${key},submap,reset bind=SUPER,${key},execr,waybar_mode unset bind=SUPER,${key},workspace,${wsnumber} bind=SUPER,${key},submap,reset bind=SUPER SHIFT,${key},execr, waybar_mode unset bind=SUPER SHIFT,${key},movetoworkspace,${wsnumber} bind=SUPER SHIFT,${key},submap,reset ''; in '' submap = browserSM ${action_simple { key = "A"; cmd = "exec,firefox https://www.amazon.de/b?node=3010075031&ref_=nav_ya_signin";}} ${action_simple { key = "C"; cmd = "exec,firefox https://calendar.google.com";}} ${action_simple { key = "D"; cmd = "exec,firefox https://www.disneyplus.com/home";}} ${action_simple { key = "H"; cmd = "exec,firefox https://www.hs-mittweida.de";}} ${action_simple { key = "I"; cmd = "exec,firefox https://www.imdb.com";}} ${action_simple { key = "L"; cmd = "exec,firefox https://feddit.de";}} ${action_simple { key = "M"; cmd = "exec,firefox https://ieji.de/home";}} ${action_simple { key = "N"; cmd = "exec,firefox https://Netflix.com";}} ${action_simple { key = "R"; cmd = "exec,firefox https://reddit.com";}} ${action_simple { key = "S"; cmd = "exec,firefox 127.0.0.1:8384/";}} ${action_simple { key = "T"; cmd = "exec,hyprctl dispatch exec firefox https://twitch.tv";}} ${action_simple { key = "udiaeresis"; cmd = "exec,firefox https://translate.google.com";}} ${action_simple { key = "W"; cmd = "exec,hyprctl dispatch exec firefox";}} ${action_simple { key = "X"; cmd = "exec,firefox https://nx2.site";}} ${action_simple { key = "Y"; cmd = "exec,firefox https://youtube.com";}} ${action_simple { key = "P"; cmd = "exec,firefox https://pw.nx2.site";}} ${action_simple { key = "P"; cmd = "exec,firefox https://pw.nx2.site";}} bind=,Z,exec,waybar_mode set ' ' bind=,Z,submap,tuda bind=,Z,submap,reset bind=,Escape,exec,waybar_mode unset bind=,Escape,submap,reset submap = reset submap = scrL ${builtins.concatStringsSep "\n" (builtins.map (num: extra_workspace { key = builtins.toString num; wsnumber = "2" + builtins.toString num;}) [1 2 3 4 5 6 7 8 9 0])} bind = , A, execr, waybar_mode unset bind = , A, submap, reset bind = , Escape, execr, waybar_mode unset bind = , Escape, submap, reset submap = reset submap = scrR ${builtins.concatStringsSep "\n" (builtins.map (num: extra_workspace { key = builtins.toString num; wsnumber = "3" + builtins.toString num;}) [1 2 3 4 5 6 7 8 9 0])} bind = , Y, execr, waybar_mode unset bind = , Y, submap, reset bind = , Escape, execr, waybar_mode unset bind = , Escape, submap, reset submap = reset submap = color ${action_simple { key = "W"; cmd = ''exec,swww query | sed -n 1p | sed -E 's-.*image: (.*)-"\1"-g' | xargs change_colors_json img && notify-send 'change_colors_json img successfull' ''; }} ${action_simple { key = "M"; cmd = ''exec,change_colors_json manual && notify-send 'change_colors_json manual successfull' ''; }} ${action_simple { key = "D"; cmd = ''exec,firefox ${hyper.home}/.config/color-pallete.html''; }} bind = , Escape, execr, waybar_mode unset bind = , Escape, submap, reset submap = reset submap = tuda ${action_simple { key = "T"; cmd = ''exec,firefox https://www.tucan.tu-darmstadt.de/''; }} ${action_simple { key = "M"; cmd = ''exec,firefox https://moodle.tu-darmstadt.de/''; }} ${action_simple { key = "I"; cmd = ''exec,firefox https://moodle.informatik.tu-darmstadt.de/''; }} bind = , Escape, execr, waybar_mode unset bind = , Escape, submap, reset submap = reset submap = screenshot ${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }} ${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }} ${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }} bind = , Escape, execr, waybar_mode unset bind = , Escape, submap, reset submap = reset ''; }; home.file = let m = if hyper.host == "NxXPS" then monitors.xps.main.name else monitors.north.main.name; in { ".config/hypr/hyprlock.conf".text = '' background { monitor = ${m} # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations path = /home/nx2/Pictures/wallpapers/nix-wall.png blur_size = 4 blur_passes = 3 # 0 disables blurring noise = 0.0117 contrast = 1.3000 # Vibrant!!! brightness = 0.8000 vibrancy = 0.2100 vibrancy_darkness = 0.0 } input-field { monitor = size = 250, 50 outline_thickness = 1 dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 dots_spacing = 0.64 # Scale of dots' absolute size, 0.0 - 1.0 dots_center = true outer_color = rgba(aaaaaaff) inner_color = rgba(000000ff) font_color = rgba(ffffffff) fade_on_empty = true placeholder_text = Password... # Text rendered in the input box when it's empty. hide_input = false position = 0, 50 halign = center valign = bottom } # Current time label { monitor = text = cmd[update:1000] echo " $(date +"%H:%M:%S") " color = $color0 font_size = 64 font_family = ${rice.font.code.name} 10 position = 0, 16 halign = center valign = center } # User label label { monitor = text = Hey $USER color = $color0 font_size = 20 font_family = ${rice.font.code.name} 10 position = 0, 0 halign = center valign = center } # Type to unlock label { monitor = text = Type to unlock! color = $color0 font_size = 16 font_family = ${rice.font.code.name} 10 position = 0, 30 halign = center valign = bottom } ''; }; } # plugin { # hycov { # overview_gappo = 60 # gaps width from screen edge # overview_gappi = 24 # gaps width from clients # enable_hotarea = 0 # enable mouse cursor hotarea # # hotarea_monitor = all # monitor name which hotarea is in, default is all # # hotarea_pos = 1 # position of hotarea (1: bottom left, 2: bottom right, 3: top left, 4: top right) # # hotarea_size = 10 # hotarea size, 10x10 # # swipe_fingers = 4 # finger number of gesture,move any directory # move_focus_distance = 100 # distance for movefocus,only can use 3 finger to move # enable_gesture = 0 # enable gesture # disable_workspace_change = 0 # disable workspace change when in overview mode # disable_spawn = 0 # disable bind exec when in overview mode # auto_exit = 1 # enable auto exit when no client in overview # auto_fullscreen = 0 # auto make active window maximize after exit overview # only_active_workspace = 0 # only overview the active workspace # only_active_monitor = 1 # only overview the active monitor # enable_alt_release_exit = 0 # alt swith mode arg,see readme for detail # alt_replace_key = Alt_L # alt swith mode arg,see readme for detail # alt_toggle_auto_next = 0 # auto focus next window when toggle overview in alt swith mode # click_in_cursor = 0 # when click to jump,the target windwo is find by cursor, not the current foucus window. # hight_of_titlebar = 0 # height deviation of title bar hight # } # }