From 533ff49808cdbb9ddd08612292688154013c3f37 Mon Sep 17 00:00:00 2001 From: Martin Berg Alstad Date: Mon, 6 Jan 2025 20:44:32 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B9=20Moved=20Hyprland=20conf=20to=20.?= =?UTF-8?q?nix=20file.=20Shorter=20title=20in=20waybar=20and=20changed=20n?= =?UTF-8?q?otification=20icon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home-manager/hyprland/binds.nix | 94 ++++ home-manager/hyprland/default.nix | 7 +- home-manager/hyprland/hyprland.conf | 408 ------------------ home-manager/hyprland/settings.nix | 225 ++++++++++ .../hyprland/waybar/config/config.jsonc | 21 +- 5 files changed, 335 insertions(+), 420 deletions(-) create mode 100644 home-manager/hyprland/binds.nix delete mode 100644 home-manager/hyprland/hyprland.conf create mode 100644 home-manager/hyprland/settings.nix diff --git a/home-manager/hyprland/binds.nix b/home-manager/hyprland/binds.nix new file mode 100644 index 0000000..dd57448 --- /dev/null +++ b/home-manager/hyprland/binds.nix @@ -0,0 +1,94 @@ +{ + wayland.windowManager.hyprland.settings = { + "$mainMod" = "SUPER"; + "$shiftMod" = "$mainMod SHIFT"; + + bind = [ + "$mainMod, Q, exec, $terminal" + "$mainMod, C, killactive," + "$shiftMod, M, exit," + "$mainMod, E, exec, $fileManager" + "$mainMod, V, togglefloating," + "$mainMod, R, exec, $menu" + "$mainMod, P, pseudo," # dwindle + "$mainMod, J, togglesplit," # dwindle + "$mainMod, B, exec, $browser" + "$mainMod, L, exec, hyprlock" + "$mainMod, K, exec, [float] gnome-calculator" + + # Screenshots + "$mainMod, PRINT, exec, hyprshot -m window" # Window + ", PRINT, exec, hyprshot -m output" # Monitor + "$shiftMod, PRINT, exec, hyprshot -m region" # Region + + # Move focus with mainMod + arrow keys + "$mainMod, left, movefocus, l" + "$mainMod, right, movefocus, r" + "$mainMod, up, movefocus, u" + "$mainMod, down, movefocus, d" + + # Switch workspaces with mainMod + [0-9] + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + "$mainMod, 0, workspace, 10" + + # Move active window to a workspace with mainMod + SHIFT + [0-9] + "$shiftMod, 1, movetoworkspace, 1" + "$shiftMod, 2, movetoworkspace, 2" + "$shiftMod, 3, movetoworkspace, 3" + "$shiftMod, 4, movetoworkspace, 4" + "$shiftMod, 5, movetoworkspace, 5" + "$shiftMod, 6, movetoworkspace, 6" + "$shiftMod, 7, movetoworkspace, 7" + "$shiftMod, 8, movetoworkspace, 8" + "$shiftMod, 9, movetoworkspace, 9" + "$shiftMod, 0, movetoworkspace, 10" + + # Example special workspace (scratchpad) + "$mainMod, S, togglespecialworkspace, magic" + "$shiftMod, S, movetoworkspace, special:magic" + + # Scroll through existing workspaces with mainMod + scroll + "$mainMod, mouse_down, workspace, e+1" + "$mainMod, mouse_up, workspace, e-1" + ]; + + binde = [ + # Resize the focused window + "$shiftMod, right, resizeactive, 20 0" + "$shiftMod, left, resizeactive, -20 0" + "$shiftMod, up, resizeactive, 0 -20" + "$shiftMod, down, resizeactive, 0 20" + ]; + + bindm = [ + # Move/resize windows with mainMod + LMB/RMB and dragging + "$mainMod, mouse:272, movewindow" + "$mainMod, mouse:273, resizewindow" + ]; + + bindl = [ + ", XF86AudioNext, exec, playerctl next" + ", XF86AudioPause, exec, playerctl play-pause" + ", XF86AudioPlay, exec, playerctl play-pause" + ", XF86AudioPrev, exec, playerctl previous" + ]; + + bindel = [ + # Laptop multimedia keys for volume and LCD brightness + ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" + ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + ",XF86MonBrightnessUp, exec, brightnessctl s 10%+" + ",XF86MonBrightnessDown, exec, brightnessctl s 10%-" + ]; + }; +} diff --git a/home-manager/hyprland/default.nix b/home-manager/hyprland/default.nix index 917425a..28bf06b 100644 --- a/home-manager/hyprland/default.nix +++ b/home-manager/hyprland/default.nix @@ -1,16 +1,15 @@ # Home configurations for Hyprland. For system configs, see ./hyprland -{ ... }: - { imports = [ + ./binds.nix ./hyprcursor ./waybar ./hypridle ./hyprlock + ./settings.nix ./swaync ]; - home.file.".config/hypr/hyprland.conf".source = ./hyprland.conf; programs = { btop.enable = true; kitty = { @@ -19,4 +18,6 @@ }; }; }; + + wayland.windowManager.hyprland.enable = true; } diff --git a/home-manager/hyprland/hyprland.conf b/home-manager/hyprland/hyprland.conf deleted file mode 100644 index d404070..0000000 --- a/home-manager/hyprland/hyprland.conf +++ /dev/null @@ -1,408 +0,0 @@ -# Please note not all available settings / options are set here. -# For a full list, see the wiki - -# You can split this configuration into multiple files -# Create your files separately and then link them to this file like this: -# source = ~/.config/hypr/myColors.conf - - -################ -### MONITORS ### -################ - -# See https://wiki.hyprland.org/Configuring/Monitors/ -# monitor=,preferred,auto,auto -monitor = DP-1, 1920x1080@144, 0x0, 1 -monitor = DP-3, 2560x1440@59.95, 1920x0, 1 - - -################### -### MY PROGRAMS ### -################### - -# See https://wiki.hyprland.org/Configuring/Keywords/ - -# Set programs that you use -$browser = io.github.zen_browser.zen -$terminal = kitty -$fileManager = nautilus -$menu = rofi -show drun - - -################# -### AUTOSTART ### -################# - -# Autostart necessary processes (like notifications daemons, status bars, etc.) -# Or execute your favorite apps at launch like this: - -exec-once = $browser & $terminal & nextcloud - -# Status bar -exec-once = waybar - -# Wallpaper -exec-once = waypaper --restore - -# Authentication daemon -exec-once = systemctl --user start hyprpolkitagent - -# Notification deamon -exec-once = swaync - -# Idle after predetermined amount of time -exec-once = hypridle - - -############################# -### ENVIRONMENT VARIABLES ### -############################# - -# See https://wiki.hyprland.org/Configuring/Environment-variables/ - -env = XCURSOR_SIZE,24 -env = HYPRCURSOR_SIZE,24 -env = HYPRCURSOR_THEME,rose-pine-hyprcursor -env = ELECTRON_OZONE_PLATFORM_HINT,auto -env = HYPRSHOT_DIR,$HOME/Pictures/screenshots # Store screenshots here - - -##################### -### LOOK AND FEEL ### -##################### - -# Refer to https://wiki.hyprland.org/Configuring/Variables/ - -$rosewater = rgb(f5e0dc) -$rosewaterAlpha = f5e0dc - -$flamingo = rgb(f2cdcd) -$flamingoAlpha = f2cdcd - -$pink = rgb(f5c2e7) -$pinkAlpha = f5c2e7 - -$mauve = rgb(cba6f7) -$mauveAlpha = cba6f7 - -$red = rgb(f38ba8) -$redAlpha = f38ba8 - -$maroon = rgb(eba0ac) -$maroonAlpha = eba0ac - -$peach = rgb(fab387) -$peachAlpha = fab387 - -$yellow = rgb(f9e2af) -$yellowAlpha = f9e2af - -$green = rgb(a6e3a1) -$greenAlpha = a6e3a1 - -$teal = rgb(94e2d5) -$tealAlpha = 94e2d5 - -$sky = rgb(89dceb) -$skyAlpha = 89dceb - -$sapphire = rgb(74c7ec) -$sapphireAlpha = 74c7ec - -$blue = rgb(89b4fa) -$blueAlpha = 89b4fa - -$lavender = rgb(b4befe) -$lavenderAlpha = b4befe - -$text = rgb(cdd6f4) -$textAlpha = cdd6f4 - -$subtext1 = rgb(bac2de) -$subtext1Alpha = bac2de - -$subtext0 = rgb(a6adc8) -$subtext0Alpha = a6adc8 - -$overlay2 = rgb(9399b2) -$overlay2Alpha = 9399b2 - -$overlay1 = rgb(7f849c) -$overlay1Alpha = 7f849c - -$overlay0 = rgb(6c7086) -$overlay0Alpha = 6c7086 - -$surface2 = rgb(585b70) -$surface2Alpha = 585b70 - -$surface1 = rgb(45475a) -$surface1Alpha = 45475a - -$surface0 = rgb(313244) -$surface0Alpha = 313244 - -$base = rgb(1e1e2e) -$baseAlpha = 1e1e2e - -$mantle = rgb(181825) -$mantleAlpha = 181825 - -$crust = rgb(11111b) -$crustAlpha = 11111b - -# https://wiki.hyprland.org/Configuring/Variables/#general -general { - gaps_in = 5 - gaps_out = 20 - - border_size = 2 - - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = $mauve $teal 45deg - col.inactive_border = rgba(595959aa) - - # Set to true enable resizing windows by clicking and dragging on borders and gaps - resize_on_border = true - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false - - layout = dwindle -} - -# https://wiki.hyprland.org/Configuring/Variables/#decoration -decoration { - rounding = 10 - - # Change transparency of focused and unfocused windows - active_opacity = 1.0 - inactive_opacity = 1.0 - - shadow { - enabled = true - range = 4 - render_power = 3 - color = $base - } - - # https://wiki.hyprland.org/Configuring/Variables/#blur - blur { - enabled = true - size = 3 - passes = 1 - - vibrancy = 0.1696 - } -} - -# https://wiki.hyprland.org/Configuring/Variables/#animations -animations { - enabled = yes, please :) - - # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = easeOutQuint,0.23,1,0.32,1 - bezier = easeInOutCubic,0.65,0.05,0.36,1 - bezier = linear,0,0,1,1 - bezier = almostLinear,0.5,0.5,0.75,1.0 - bezier = quick,0.15,0,0.1,1 - - animation = global, 1, 10, default - animation = border, 1, 5.39, easeOutQuint - animation = windows, 1, 4.79, easeOutQuint - animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% - animation = windowsOut, 1, 1.49, linear, popin 87% - animation = fadeIn, 1, 1.73, almostLinear - animation = fadeOut, 1, 1.46, almostLinear - animation = fade, 1, 3.03, quick - animation = layers, 1, 3.81, easeOutQuint - animation = layersIn, 1, 4, easeOutQuint, fade - animation = layersOut, 1, 1.5, linear, fade - animation = fadeLayersIn, 1, 1.79, almostLinear - animation = fadeLayersOut, 1, 1.39, almostLinear - animation = workspaces, 1, 1.94, almostLinear, fade - animation = workspacesIn, 1, 1.21, almostLinear, fade - animation = workspacesOut, 1, 1.94, almostLinear, fade -} - -# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ -# "Smart gaps" / "No gaps when only" -# uncomment all if you wish to use that. -# workspace = w[tv1], gapsout:0, gapsin:0 -# workspace = f[1], gapsout:0, gapsin:0 -# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] -# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] -# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] -# windowrulev2 = rounding 0, floating:0, onworkspace:f[1] - -# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more -dwindle { - pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true # You probably want this -} - -# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more -master { - new_status = master -} - -# https://wiki.hyprland.org/Configuring/Variables/#misc -misc { - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( -} - -debug { - disable_logs = false -} - -############# -### INPUT ### -############# - -# https://wiki.hyprland.org/Configuring/Variables/#input -# Must match configs in nixos! -input { - kb_layout = gb,no - kb_variant = - kb_model = - kb_options = grp:alt_shift_toggle - kb_rules = - - follow_mouse = 1 - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - - touchpad { - natural_scroll = false - } -} - -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = false -} - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more -device { - name = logitech-g502-hero-gaming-mouse - sensitivity = -0.10 -} - - -################### -### KEYBINDINGS ### -################### - -# See https://wiki.hyprland.org/Configuring/Keywords/ -$mainMod = SUPER # Sets "Windows" key as main modifier -$shiftMod = $mainMod SHIFT - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, $terminal -bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, R, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, B, exec, $browser -bind = $mainMod, L, exec, hyprlock -bind = $mainMod, K, exec, [float] gnome-calculator - -# Screenshot a window -bind = $mainMod, PRINT, exec, hyprshot -m window -# Screenshot a monitor -bind = , PRINT, exec, hyprshot -m output -# Screenshot a region -bind = $shiftMod, PRINT, exec, hyprshot -m region - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Resize the focused window -binde = $shiftMod, right, resizeactive, 20 0 -binde = $shiftMod, left, resizeactive, -20 0 -binde = $shiftMod, up, resizeactive, 0 -20 -binde = $shiftMod, down, resizeactive, 0 20 - -# Switch workspaces with mainMod + [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 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $shiftMod, 1, movetoworkspace, 1 -bind = $shiftMod, 2, movetoworkspace, 2 -bind = $shiftMod, 3, movetoworkspace, 3 -bind = $shiftMod, 4, movetoworkspace, 4 -bind = $shiftMod, 5, movetoworkspace, 5 -bind = $shiftMod, 6, movetoworkspace, 6 -bind = $shiftMod, 7, movetoworkspace, 7 -bind = $shiftMod, 8, movetoworkspace, 8 -bind = $shiftMod, 9, movetoworkspace, 9 -bind = $shiftMod, 0, movetoworkspace, 10 - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $shiftMod, S, movetoworkspace, special:magic - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# Laptop multimedia keys for volume and LCD brightness -bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle -bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ -bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- - -# Requires playerctl -bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous - - -############################## -### WINDOWS AND WORKSPACES ### -############################## - -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ - -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ - -# Ignore maximize requests from apps. You'll probably like this. -windowrulev2 = suppressevent maximize, class:.* - -# Fix some dragging issues with XWayland -windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 - -# Avoid locking in fullscreen -windowrulev2 = idleinhibit fullscreen, class:^(*)$ -windowrulev2 = idleinhibit fullscreen, title:^(*)$ -windowrulev2 = idleinhibit fullscreen, fullscreen:1 diff --git a/home-manager/hyprland/settings.nix b/home-manager/hyprland/settings.nix new file mode 100644 index 0000000..3dd95a2 --- /dev/null +++ b/home-manager/hyprland/settings.nix @@ -0,0 +1,225 @@ +{ lib, ... }: + +{ + wayland.windowManager.hyprland.settings = { + monitor = [ + "DP-1, 1920x1080@144, 0x0, 1" + "DP-3, 2560x1440@59.95, 1920x0, 1" + ]; + + "$browser" = "io.github.zen_browser.zen"; + "$terminal" = "kitty"; + "$fileManager" = "nautilus"; + "$menu" = "rofi -show drun"; + + # Autostart + exec-once = [ + "$browser" + "nextcloud" + "$terminal" + "hypridle" + "systemctl --user start hyprpolkitagent" + "swaync" + "waybar" + "waypaper --restore" + ]; + + env = [ + "XCURSOR_SIZE,24" + "HYPRCURSOR_SIZE,24" + "HYPRCURSOR_THEME,rose-pine-hyprcursor" + "ELECTRON_OZONE_PLATFORM_HINT,auto" + "HYPRSHOT_DIR,$HOME/Pictures/screenshots" # Store screenshots here + ]; + + # TODO move to common file + "$rosewater" = "rgb(f5e0dc)"; + "$rosewaterAlpha" = "f5e0dc"; + + "$flamingo" = "rgb(f2cdcd)"; + "$flamingoAlpha" = "f2cdcd"; + + "$pink" = "rgb(f5c2e7)"; + "$pinkAlpha" = "f5c2e7"; + + "$mauve" = "rgb(cba6f7)"; + "$mauveAlpha" = "cba6f7"; + + "$red" = "rgb(f38ba8)"; + "$redAlpha" = "f38ba8"; + + "$maroon" = "rgb(eba0ac)"; + "$maroonAlpha" = "eba0ac"; + + "$peach" = "rgb(fab387)"; + "$peachAlpha" = "fab387"; + + "$yellow" = "rgb(f9e2af)"; + "$yellowAlpha" = "f9e2af"; + + "$green" = "rgb(a6e3a1)"; + "$greenAlpha" = "a6e3a1"; + + "$teal" = "rgb(94e2d5)"; + "$tealAlpha" = "94e2d5"; + + "$sky" = "rgb(89dceb)"; + "$skyAlpha" = "89dceb"; + + "$sapphire" = "rgb(74c7ec)"; + "$sapphireAlpha" = "74c7ec"; + + "$blue" = "rgb(89b4fa)"; + "$blueAlpha" = "89b4fa"; + + "$lavender" = "rgb(b4befe)"; + "$lavenderAlpha" = "b4befe"; + + "$text" = "rgb(cdd6f4)"; + "$textAlpha" = "cdd6f4"; + + "$subtext1" = "rgb(bac2de)"; + "$subtext1Alpha" = "bac2de"; + + "$subtext0" = "rgb(a6adc8)"; + "$subtext0Alpha" = "a6adc8"; + + "$overlay2" = "rgb(9399b2)"; + "$overlay2Alpha" = "9399b2"; + + "$overlay1" = "rgb(7f849c)"; + "$overlay1Alpha" = "7f849c"; + + "$overlay0" = "rgb(6c7086)"; + "$overlay0Alpha" = "6c7086"; + + "$surface2" = "rgb(585b70)"; + "$surface2Alpha" = "585b70"; + + "$surface1" = "rgb(45475a)"; + "$surface1Alpha" = "45475a"; + + "$surface0" = "rgb(313244)"; + "$surface0Alpha" = "313244"; + + "$base" = "rgb(1e1e2e)"; + "$baseAlpha" = "1e1e2e"; + + "$mantle" = "rgb(181825)"; + "$mantleAlpha" = "181825"; + + "$crust" = "rgb(11111b)"; + "$crustAlpha" = "11111b"; + + general = { + gaps_in = 5; + gaps_out = 20; + border_size = 2; + "col.active_border" = lib.mkDefault "$mauve $teal 45deg"; + "col.inactive_border" = lib.mkDefault "rgba(595959aa)"; + resize_on_border = true; + allow_tearing = false; + layout = "dwindle"; + }; + + decoration = { + rounding = 10; + + # Change transparency of focused and unfocused windows + active_opacity = 1.0; + inactive_opacity = 1.0; + + shadow = { + enabled = true; + range = 4; + render_power = 3; + color = lib.mkDefault "$base"; + }; + + blur = { + enabled = true; + size = 3; + passes = 1; + + vibrancy = 0.1696; + }; + }; + + animations = { + enabled = "yes, please :)"; + + bezier = [ + "easeOutQuint,0.23,1,0.32,1" + "easeInOutCubic,0.65,0.05,0.36,1" + "linear,0,0,1,1" + "almostLinear,0.5,0.5,0.75,1.0" + "quick,0.15,0,0.1,1" + ]; + + animation = [ + "global, 1, 10, default" + "border, 1, 5.39, easeOutQuint" + "windows, 1, 4.79, easeOutQuint" + "windowsIn, 1, 4.1, easeOutQuint, popin 87%" + "windowsOut, 1, 1.49, linear, popin 87%" + "fadeIn, 1, 1.73, almostLinear" + "fadeOut, 1, 1.46, almostLinear" + "fade, 1, 3.03, quick" + "layers, 1, 3.81, easeOutQuint" + "layersIn, 1, 4, easeOutQuint, fade" + "layersOut, 1, 1.5, linear, fade" + "fadeLayersIn, 1, 1.79, almostLinear" + "fadeLayersOut, 1, 1.39, almostLinear" + "workspaces, 1, 1.94, almostLinear, fade" + "workspacesIn, 1, 1.21, almostLinear, fade" + "workspacesOut, 1, 1.94, almostLinear, fade" + ]; + }; + + dwindle = { + pseudotile = true; # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true; # You probably want this + }; + + master = { + new_status = "master"; + }; + + misc = { + force_default_wallpaper = -1; # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false; # If true disables the random hyprland logo / anime girl background. :( + }; + + debug.disable_logs = false; + + # TODO fetch values from common file. Must match configs in nixos! + input = { + kb_layout = "gb,no"; + kb_options = "grp:alt_shift_toggle"; + + follow_mouse = 1; + + sensitivity = 0; # -1.0 - 1.0, 0 means no modification. + + touchpad.natural_scroll = false; + }; + + gestures.workspace_swipe = false; + + device = { + name = "logitech-g502-hero-gaming-mouse"; + sensitivity = -0.10; + }; + + windowrulev2 = [ + # Ignore maximize requests from apps + "suppressevent maximize, class:.*" + # Fix some dragging issues with XWayland + "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" + # Avoid locking in fullscreen + "idleinhibit fullscreen, class:^(*)$" + "idleinhibit fullscreen, title:^(*)$" + "idleinhibit fullscreen, fullscreen:1" + ]; + }; +} diff --git a/home-manager/hyprland/waybar/config/config.jsonc b/home-manager/hyprland/waybar/config/config.jsonc index a9a78cb..8c09f42 100644 --- a/home-manager/hyprland/waybar/config/config.jsonc +++ b/home-manager/hyprland/waybar/config/config.jsonc @@ -22,11 +22,14 @@ "sort-by-name": true, "format": " {id} " }, - "hyprland/window": {}, + "hyprland/window": { + "format": "{initialTitle}" + }, "tray": { "icon-size": 21, "spacing": 10 }, + // TODO better music module "custom/music": { "format": "󰓃 {}", "escape": true, @@ -86,14 +89,14 @@ "tooltip": false, "format": "{icon}", "format-icons": { - "notification": "", - "none": "", - "dnd-notification": "", - "dnd-none": "", - "inhibited-notification": "", - "inhibited-none": "", - "dnd-inhibited-notification": "", - "dnd-inhibited-none": "" + "notification": "", + "none": "", + "dnd-notification": "", + "dnd-none": "", + "inhibited-notification": "", + "inhibited-none": "", + "dnd-inhibited-notification": "", + "dnd-inhibited-none": "" }, "return-type": "json", "exec-if": "which swaync-client",