From 4724eb3f4c193325597439592149c2f2c4b51201 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 25 May 2026 21:34:02 -0400 Subject: fix hyprland, and move it to lua --- flake.lock | 32 ++-- flake.nix | 2 +- home/desktops/hyprland/binds.nix | 130 --------------- home/desktops/hyprland/default.nix | 18 +- home/desktops/hyprland/env.nix | 14 -- home/desktops/hyprland/hyprland.lua | 321 ++++++++++++++++++++++++++++++++++++ home/desktops/hyprland/plugins.nix | 39 ----- home/desktops/hyprland/settings.nix | 145 ---------------- 8 files changed, 352 insertions(+), 349 deletions(-) delete mode 100644 home/desktops/hyprland/binds.nix delete mode 100644 home/desktops/hyprland/env.nix create mode 100644 home/desktops/hyprland/hyprland.lua delete mode 100644 home/desktops/hyprland/plugins.nix delete mode 100644 home/desktops/hyprland/settings.nix diff --git a/flake.lock b/flake.lock index 8827936..dedc9f2 100644 --- a/flake.lock +++ b/flake.lock @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1778620495, - "narHash": "sha256-Gu7UhWjwKCgSiVC3Qz/Rc7cYi9DNuDTBxYzg3kfLvfM=", + "lastModified": 1777499565, + "narHash": "sha256-nU55VWk99Pn1QzQDDjFISocC4SgDZ3Xp+zb6ji3JclM=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "be35f75ac305f430f5f9d89b5f5a4af59ca7567e", + "rev": "813c1e8981893c11e118b19c125d6bc282f51765", "type": "github" }, "original": { @@ -377,16 +377,16 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1778936359, - "narHash": "sha256-ZuZ9nfmb1Oh3qOPfrQ0zeTBRuMS0DqYTkKiuG9x06CQ=", + "lastModified": 1778333727, + "narHash": "sha256-RGYGbW6aH3jUwGVB9BrSYcKsQj7Dl2K32ao5aWbTK40=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "39d7e209c79d451efab1b21151d5938289da838d", + "rev": "af923e30d1d24f1f4a4f5cb8308065173c1d9539", "type": "github" }, "original": { "owner": "hyprwm", - "ref": "v0.55.2", + "ref": "v0.55.0", "repo": "Hyprland", "type": "github" } @@ -640,11 +640,11 @@ ] }, "locked": { - "lastModified": 1778410714, - "narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=", + "lastModified": 1777388329, + "narHash": "sha256-40YxVGF2rA9iH3D7am5fy4EOSBbMgpJtJ9yhl0Cx+qI=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc", + "rev": "04be2897e05f9b271d532b5ae56ca088d2eeac02", "type": "github" }, "original": { @@ -765,11 +765,11 @@ ] }, "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", + "lastModified": 1776796298, + "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", + "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", "type": "github" }, "original": { @@ -998,11 +998,11 @@ ] }, "locked": { - "lastModified": 1778265244, - "narHash": "sha256-8jlPtGSsv/CQY6tVVyLF4Jjd0gnS+Zbn9yk/V13A9nM=", + "lastModified": 1777585783, + "narHash": "sha256-JTeWRy42VElroJ0rVdZuVXSoTLsx+NzQfGPKMbtn3SU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "813ea5ca9a1702a9a2d1f5836bc00172ef698968", + "rev": "fa50d6fbaff8f42c61071b87b034a90d82a33558", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c8bc970..fc28cd8 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; # hyprland - hyprland.url = "github:hyprwm/Hyprland/v0.55.2"; + hyprland.url = "github:hyprwm/Hyprland/v0.55.0"; hyprland.inputs.nixpkgs.follows = "nixpkgs"; # hyprland plugins hyprland-plugins.url = "github:hyprwm/hyprland-plugins/v0.55.0"; diff --git a/home/desktops/hyprland/binds.nix b/home/desktops/hyprland/binds.nix deleted file mode 100644 index d6aa3b9..0000000 --- a/home/desktops/hyprland/binds.nix +++ /dev/null @@ -1,130 +0,0 @@ -{config, ...}: let - mod = "SUPER"; -in { - wayland.windowManager.hyprland.settings = { - # Keybinds - bind = [ - # Launch programs - - "${mod}, W, exec, ${config.default.browser}" - "${mod}, D, exec, ${config.default.appLauncher}" - "${mod}, L, exec, ${config.default.lockScreen}" - "${mod}, Return, exec, ${config.default.terminal}" - ", Print, exec, grimblast copy area" - - # Misc - - "${mod} SHIFT, L, exit" - - # Window operations - - "${mod} SHIFT, Q, killactive" - "${mod} SHIFT, SPACE, togglefloating" - "${mod}, F, fullscreen" - "${mod}, J, layoutmsg, togglesplit" - - # Move focus with mod + arrow keys - - "${mod}, left, movefocus, l" - "${mod}, right, movefocus, r" - "${mod}, up, movefocus, u" - "${mod}, down, movefocus, d" - - # Move window across workspace with mod + arrow keys - - "${mod} SHIFT, left, hy3:movewindow, l" - "${mod} SHIFT, right, hy3:movewindow, r" - "${mod} SHIFT, up, hy3:movewindow, u" - "${mod} SHIFT, down, hy3:movewindow, d" - - # Switch workspaces with mod + [0-9] - - "${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" - - # Move active window to a workspace with mod + SHIFT + [0-9] - - "${mod} SHIFT, 1, movetoworkspacesilent, 1" - "${mod} SHIFT, 2, movetoworkspacesilent, 2" - "${mod} SHIFT, 3, movetoworkspacesilent, 3" - "${mod} SHIFT, 4, movetoworkspacesilent, 4" - "${mod} SHIFT, 5, movetoworkspacesilent, 5" - "${mod} SHIFT, 6, movetoworkspacesilent, 6" - "${mod} SHIFT, 7, movetoworkspacesilent, 7" - "${mod} SHIFT, 8, movetoworkspacesilent, 8" - "${mod} SHIFT, 9, movetoworkspacesilent, 9" - "${mod} SHIFT, 0, movetoworkspacesilent, 10" - - # Move to tab - - "LALT, 1, hy3:focustab, index, 01" - "LALT, 2, hy3:focustab, index, 02" - "LALT, 3, hy3:focustab, index, 03" - "LALT, 4, hy3:focustab, index, 04" - "LALT, 5, hy3:focustab, index, 05" - "LALT, 6, hy3:focustab, index, 06" - "LALT, 7, hy3:focustab, index, 07" - "LALT, 8, hy3:focustab, index, 08" - "LALT, 9, hy3:focustab, index, 09" - "LALT, 0, hy3:focustab, index, 10" - - "${mod} SHIFT, B, hy3:makegroup, h" - "${mod} SHIFT, V, hy3:makegroup, v" - "${mod} SHIFT, C, hy3:changegroup, toggletab" - - # Scroll through existing workspaces with mod + scroll - - "${mod}, mouse_down, workspace, e+1" - "${mod}, mouse_up, workspace, e-1" - ]; - - bindn = [ - # Focus windows with scroll wheel or middle click - - ", mouse:272, hy3:focustab, mouse" - ", mouse_down, hy3:focustab, l, require_hovered" - ", mouse_up, hy3:focustab, r, require_hovered" - ]; - - bindm = [ - # Move/resize windows with mod + LMB/RMB and dragging - - "${mod}, mouse:272, movewindow" - "${mod}, mouse:273, resizewindow" - ]; - - binde = [ - # Audio - - # raise volume - ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+" - # lower volume - ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - # mute speaker - ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - # mute mic - ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" - - # Media - - # play - ", XF86AudioPlay, exec, playerctl play-pause" - # next - ", XF86AudioNext, exec, playerctl next" - # prev - ", XF86AudioPrev, exec, playerctl previous" - - # Backlight - - ", XF86MonBrightnessDown, exec, brightnessctl set 5%-" - ", XF86MonBrightnessUp, exec, brightnessctl set 5%+" - ]; - }; -} diff --git a/home/desktops/hyprland/default.nix b/home/desktops/hyprland/default.nix index e3624ec..35668f3 100644 --- a/home/desktops/hyprland/default.nix +++ b/home/desktops/hyprland/default.nix @@ -6,13 +6,12 @@ }: let inherit (lib) mkIf; cfg = config.desktops.hyprland; + + lua = builtins.readFile ./hyprland.lua; + lua_cfg = (lib.generators.toLua {}) {inherit (config) monitors theme default autoRun;}; in { imports = [ - ./binds.nix - ./env.nix ./idle.nix - ./plugins.nix - ./settings.nix ./wallpaper.nix ]; @@ -28,6 +27,17 @@ in { xwayland.enable = true; systemd.enable = true; + + plugins = with pkgs; [ + hy3 + ]; + + configType = "lua"; + extraConfig = '' + local config = ${lua_cfg} + + ${lua} + ''; }; }; } diff --git a/home/desktops/hyprland/env.nix b/home/desktops/hyprland/env.nix deleted file mode 100644 index 8699587..0000000 --- a/home/desktops/hyprland/env.nix +++ /dev/null @@ -1,14 +0,0 @@ -_: { - wayland.windowManager.hyprland.settings = { - env = [ - "XDG_CURRENT_DESKTOP,Hyprland" - "XDG_SESSION_TYPE,wayland" - "XDG_SESSION_DESKTOP,Hyprland" - "MOZ_ENABLE_WAYLAND,1" - "NIXOS_OZONE_WL,1" - - "HYPRCURSOR_THEME,rose-pine-hyprcursor" - "HYPRCURSOR_SIZE,24" - ]; - }; -} diff --git a/home/desktops/hyprland/hyprland.lua b/home/desktops/hyprland/hyprland.lua new file mode 100644 index 0000000..c9596ca --- /dev/null +++ b/home/desktops/hyprland/hyprland.lua @@ -0,0 +1,321 @@ +--[[ + + Hyprland Configuration + Copyright (c) Freya Murphy 2026 + +]]-- + +--[[ PLUGINS ]]-- + +local hy3 = hl.plugin.hy3 + +--[[ LIB ]]-- + +local function exec(cmd) + return hl.dsp.exec_cmd(cmd) +end + +local function bind(keys, cb, opts) + hl.bind(table.concat(keys, " + "), cb, opts or {}) +end + +local function rgb(color) + return "rgb(" .. color .. ")" +end + +local function animation(leaf, speed, bezier, style) + hl.animation({ + leaf = leaf, + enabled = true, + speed = speed, + bezier = bezier, + style = style, + }) +end + +--[[ GENERAL ]]-- + +hl.config({ + general = { + layout = "hy3", + resize_on_border = true, + extend_border_grab_area = 20, + }, +}) + + +--[[ MONITORS ]]-- + +for _,monitor in pairs(config.monitors) do + local opts = { + scale = monitor.scale, + bitdepth = monitor.bitdepth, + } + + -- output + if monitor.desc == "" then + opts.output = monitor.port + else + opts.output = "desc:" .. monitor.desc + end + + -- mode + if monitor.size.enabled then + opts.mode = monitor.size.x .. "x" .. monitor.size.y + else + opts.mode = "preferred" + end + + -- position + if monitor.position.enabled then + opts.position = monitor.position.x .. "x" .. monitor.position.y + else + opts.position = "auto" + end + + hl.monitor(opts) +end + +--[[ ENVIRONMENT ]]-- + +hl.env("XDG_CURRENT_DESKTOP", "Hyprland") +hl.env("XDG_SESSION_TYPE", "wayland") +hl.env("XDG_SESSION_DESKTOP", "Hyprland") +hl.env("MOZ_ENABLE_WAYLAND", "1") +hl.env("NIXOS_OZONE_WL", "1") + +hl.env("HYPRCURSOR_THEME", "rose-pine-hyprcursor") +hl.env("HYPRCURSOR_SIZE", "24") + +--[[ KEYBINDS ]]-- + +local mod = "SUPER" + +-- Launch programs +bind({mod, "D"}, exec(config.default.appLauncher)) +bind({mod, "W"}, exec(config.default.browser)) +bind({mod, "L"}, exec(config.default.lockScreen)) +bind({mod, "Return"}, exec(config.default.terminal)) +bind({"Print"}, exec("grimblast copy area")) + +-- Misc +bind({mod, "SHIFT", "L"}, hl.dsp.exit()) + +-- Window operations +bind({mod, "SHIFT", "Q"}, hl.dsp.window.close()) +bind({mod, "SHIFT", "SPACE"}, hl.dsp.window.float({ action = "toggle" })) +bind({mod, "F"}, hl.dsp.window.fullscreen({ action = "toggle" })) +bind({mod, "J"}, hl.dsp.layout("togglesplit")) + +-- Move focus with mod + arrow keys +-- Move window across workspace with mod + arrow keys +for _,direction in pairs({"left", "right", "up", "down"}) do + bind({mod, direction}, hl.dsp.focus({ direction = direction })) + bind({mod, "SHIFT", direction}, hy3.move_focus(direction)) +end + +-- Switch workspaces with mod + [0-9] +-- Move active window to a workspace with mod + SHIFT + [0-9] +-- Move to tab in tab group +for i = 1, 10 do + local key = i % 10 + bind({mod, key}, hl.dsp.focus({ workspace = i })) + bind({mod, "SHIFT", key}, hl.dsp.window.move({ workspace = i })) + bind({"ALT", key}, hy3.focus_tab({ index = i })) +end + +-- Hy3 groups and tab groups +bind({mod, "SHIFT", "B"}, hy3.make_group("h")) +bind({mod, "SHIFT", "V"}, hy3.make_group("v")) +bind({mod, "SHIFT", "C"}, hy3.change_group("toggletab")) + +-- Scroll through existing workspaces with mod + scroll +bind({mod, "mouse_down"}, hl.dsp.focus({ workspace = "e+1" })) +bind({mod, "mouse_up"}, hl.dsp.focus({ workspace = "e-1" })) + +-- Focus windows with scroll wheel or middle click +bind({"mouse_down"}, hy3.focus_tab({ direction = "l", mouse = "require_hovered" })) +bind({"mouse_up"}, hy3.focus_tab({ direction = "r", mouse = "require_hovered" })) + +-- Move/resize windows with mod + LMB/RMB and dragging +bind({mod, "mouse:272"}, hl.dsp.window.drag(), { mouse = true }) +bind({mod, "mouse:273"}, hl.dsp.window.resize(), { mouse = true }) + +-- Audio +bind({"XF86AudioRaiseVolume"}, exec("wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+")) +bind({"XF86AudioLowerVolume"}, exec("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-")) +bind({"XF86AudioMute"}, exec("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle")) +bind({"XF86AudioMicMute"}, exec("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle")) + +-- Media +bind({"XF86AudioPlay"}, exec("playerctl play-pause")) +bind({"XF86AudioNext"}, exec("playerctl next")) +bind({"XF86AudioPrev"}, exec("playerctl previous")) + +-- Backlight +bind({"XF86MonBrightnessDown"}, exec("brightnessctl set 5%-")) +bind({"XF86MonBrightnessUp"}, exec("brightnessctl set 5%+")) + +--[[ THEME ]]-- + +hl.config({ + general = { + gaps_in = config.theme.innerGap, + gaps_out = config.theme.outerGap, + border_size = config.theme.borderWidth, + + col = { + active_border = rgb(config.theme.colors.primary), + inactive_border = rgb(config.theme.colors.surface), + }, + }, + + decoration = { + rounding = config.theme.outerRadius, + shadow = { + enabled = true, + }, + blur = { + enabled = config.theme.blur, + size = 4, + passes = 2, + noise = 0.008, + contrast = 0.8916, + brightness = 0.8, + }, + }, +}) + +--[[ INPUT ]]-- + +hl.config({ + input = { + kb_layout = "us", + kb_variant = "", + kb_model = "", + kb_options = "gtp:alt_shift_toggle, compose:ralt", + kb_rules = "", + + follow_mouse = 1, + + sensitivity = 0, + + touchpad = { + natural_scroll = true, + }, + }, +}) + +--[[ GESTURES ]]-- + +-- Allow 3 finger swipe on trackpad to seek workspaces +hl.gesture({ + fingers = 3, + direction = "horizontal", + action = "workspace", +}) + +--[[ ANIMATIONS ]]-- + +hl.config({ + animations = { + enabled = true, + }, +}) + +hl.curve("default", { type = "bezier", points = {{0.12, 0.92}, {0.08, 1.00}} }) +hl.curve("overshot", { type = "bezier", points = {{0.18, 0.95}, {0.22, 1.03}} }) +hl.curve("linear", { type = "bezier", points = {{1.00, 1.00}, {1.00, 1.00}} }) + +animation("windows", 5, "default", "popin 60%") +animation("windowsIn", 6, "overshot", "popin 60%") +animation("windowsOut", 4, "overshot", "popin 60%") +animation("windowsMove", 4, "overshot", "slide") +animation("layers", 4, "default", "popin") +animation("fadeIn", 7, "default", nil) +animation("fadeOut", 7, "default", nil) +animation("fadeSwitch", 7, "default", nil) +animation("fadeShadow", 7, "default", nil) +animation("fadeDim", 7, "default", nil) +animation("fadeLayers", 7, "default", nil) +animation("workspaces", 5, "overshot", "slide") +animation("border", 1, "linear", nil) +animation("borderangle", 24, "linear", "loop") + +-- [[ LAYER RULES ]]-- + +-- Fix wierd borders +for _,namespace in pairs({"wofi", "notification"}) do + hl.layer_rule({ blur = true, match = { namespace = namespace } }) + hl.layer_rule({ ignore_alpha = 0, match = { namespace = namespace } }) +end + +hl.layer_rule({ no_anim = true, match = { namespace = "selection" } }) + +--[[ XWAYLAND ]]-- + +hl.config({ + xwayland = { + force_zero_scaling = true, + use_nearest_neighbor = false, + }, +}) + +--[[ HY3 ]]-- + +hl.config({ + plugin = { + hy3 = { + + -- Tabs + tabs = { + height = 24, + text_height = 9, + text_padding = 10, + padding = 2, + render_text = true, + text_font = "monospace", + radius = config.theme.outerRadius, + border_width = config.theme.borderWidth, + colors = { + active = rgb(config.theme.colors.base), + active_border = rgb(config.theme.colors.primary), + active_text = rgb(config.theme.colors.text), + inactive = rgb(config.theme.colors.base), + inactive_border = rgb(config.theme.colors.surface), + inactive_text = rgb(config.theme.colors.text), + } + }, + + autotile = { + enable = true, + }, + } + } +}) + +--[[ MISC ]]-- + +hl.config({ + misc = { + disable_hyprland_logo = true, + disable_splash_rendering = true, + key_press_enables_dpms = true, + mouse_move_enables_dpms = true, + enable_anr_dialog = false, + vrr = 1, + }, + + ecosystem = { + no_update_news = true, + no_donation_nag = true, + }, +}) + +--[[ AUTOSTART ]]-- + +hl.on("hyprland.start", function() + for _,app in config.autoRun do + hl.exec_cmd(app) + end +end) diff --git a/home/desktops/hyprland/plugins.nix b/home/desktops/hyprland/plugins.nix deleted file mode 100644 index b0ba204..0000000 --- a/home/desktops/hyprland/plugins.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - config, - pkgs, - ... -}: { - wayland.windowManager.hyprland = { - plugins = with pkgs; [ - hy3 - ]; - - settings.plugin = { - # hy3 - hy3 = { - tabs = { - height = 24; - text_height = 9; - text_padding = 10; - padding = 2; - render_text = true; - text_font = "monospace"; - radius = config.theme.outerRadius; - border_width = config.theme.borderWidth; - colors = { - active = "rgb(${config.theme.colors.base})"; - active_border = "rgb(${config.theme.colors.primary})"; - active_text = "rgb(${config.theme.colors.text})"; - inactive = "rgb(${config.theme.colors.base})"; - inactive_border = "rgb(${config.theme.colors.surface})"; - inactive_text = "rgb(${config.theme.colors.text})"; - }; - }; - - autotile = { - enable = true; - }; - }; - }; - }; -} diff --git a/home/desktops/hyprland/settings.nix b/home/desktops/hyprland/settings.nix deleted file mode 100644 index 98fc12b..0000000 --- a/home/desktops/hyprland/settings.nix +++ /dev/null @@ -1,145 +0,0 @@ -{config, ...}: { - wayland.windowManager.hyprland = { - importantPrefixes = [ - "bezier" - "enabled" - "output" - ]; - - settings = { - # Monitors - monitorv2 = - map (monitor: { - output = - if monitor.desc == "" - then monitor.port - else "desc:${monitor.desc}"; - mode = - if monitor.size.enabled - then "${toString monitor.size.x}x${toString monitor.size.y}" - else "preferred"; - position = - if monitor.position.enabled - then "${toString monitor.position.x}x${toString monitor.position.y}" - else "auto"; - scale = toString monitor.scale; - bitdepth = toString monitor.bitdepth; - }) - config.monitors; - - # Autostart - exec-once = config.autoRun; - - # General - general = { - gaps_in = config.theme.innerGap; - gaps_out = config.theme.outerGap; - layout = "hy3"; - resize_on_border = "yes"; - extend_border_grab_area = 20; - border_size = config.theme.borderWidth; - "col.active_border" = "rgb(${config.theme.colors.primary})"; - "col.inactive_border" = "rgb(${config.theme.colors.surface})"; - }; - - # Gestures - gesture = [ - "3, horizontal, workspace" - ]; - - # Decoration - decoration = { - rounding = config.theme.outerRadius; - shadow.enabled = false; - blur = { - enabled = config.theme.blur; - size = 4; - passes = 2; - noise = 0.008; - contrast = 0.8916; - brightness = 0.8; - }; - }; - - animations = { - enabled = true; - - bezier = [ - "default, 0.12, 0.92, 0.08, 1.0" - "wind, 0.12, 0.92, 0.08, 1.0" - "overshot, 0.18, 0.95, 0.22, 1.03" - "linear, 1, 1, 1, 1" - ]; - - animation = [ - "windows, 1, 5, wind, popin 60%" - "windowsIn, 1, 6, overshot, popin 60%" - "windowsOut, 1, 4, overshot, popin 60%" - "windowsMove, 1, 4, overshot, slide" - "layers, 1, 4, default, popin" - "fadeIn, 1, 7, default" - "fadeOut, 1, 7, default" - "fadeSwitch, 1, 7, default" - "fadeShadow, 1, 7, default" - "fadeDim, 1, 7, default" - "fadeLayers, 1, 7, default" - "workspaces, 1, 5, overshot, slide" - "border, 1, 1, linear" - "borderangle, 1, 24, linear, loop" - ]; - }; - - # Input - input = { - kb_layout = "us"; - kb_variant = ""; - kb_model = ""; - kb_options = "gtp:alt_shift_toggle, compose:ralt"; - kb_rules = ""; - follow_mouse = 1; - touchpad = { - natural_scroll = "yes"; - }; - sensitivity = 0; - }; - - # Layer rules - layerrule = [ - # fix weird borders - "blur true, match:namespace wofi" - "ignore_alpha 0, match:namespace wofi" - "blur true, match:namespace notificaations" - "ignore_alpha 0, match:namespace notifications" - "blur true, match:namespace swaync-notificaation-window" - "ignore_alpha 0, match:namespace swaync-notification-window" - "blur true, match:namespace swaync-control-center" - "ignore_alpha 0, match:namespace swaync-control-center" - - # dont animate slurp - "no_anim true, match:namespace selection" - ]; - - # XWayland - xwayland = { - force_zero_scaling = "true"; - use_nearest_neighbor = "false"; - }; - - # Misc - misc = { - disable_hyprland_logo = true; - disable_splash_rendering = true; - key_press_enables_dpms = true; - mouse_move_enables_dpms = true; - enable_anr_dialog = false; - vrr = 1; - }; - - # Ecosystem - ecosystem = { - no_update_news = true; - no_donation_nag = true; - }; - }; # end settings - }; # end hyprland -} -- cgit v1.3.1-freya