]> Skullheadx's Git Forge - nixos.git/commitdiff
make hyprland better
authorAndrew <admonty1@protonmail.com>
Wed, 29 Oct 2025 01:26:20 +0000 (21:26 -0400)
committerAndrew <admonty1@protonmail.com>
Wed, 29 Oct 2025 01:26:20 +0000 (21:26 -0400)
hyprland/binds.nix
hyprland/hyprland.nix

index 477cea927a4a95e508dfe037e3540d564696910a..25e159ff4c54766912bde8422d88208cca5e73a0 100644 (file)
@@ -66,15 +66,24 @@ in {
         "$mod CTRL, k, resizeactive, 0 -25"
         "$mod CTRL, l, resizeactive, 25 0"
 
-        "$mod, D, exec, app -- ghostty"
+        "$mod, a, togglespecialworkspace, term"
+        "$mod, m, togglespecialworkspace, music"
+        "$mod, p, togglespecialworkspace, password"
+        "$mod SHIFT, a, movetoworkspace, special:term"
+        "$mod SHIFT, m, movetoworkspace, special:music"
+        "$mod SHIFT, p, movetoworkspace, special:password"
+
+        "$mod, g, layoutmsg, swapwithmaster"
+
+        "$mod, return, exec, ghostty"
         "$mod, b, exec, librewolf"
         "$mod, space, exec, pkill rofi || rofi -show drun"
-        "$mod, p, exec, pkill hyprpicker || hyprpicker -ar"
+        "$mod, o, exec, pkill hyprpicker || hyprpicker -ar"
+
         "$mod SHIFT, s, exec, pkill slurp || grim -g \"$(slurp)\" - | wl-copy"
         ", PRINT, exec, grim - | wl-copy"
         "SHIFT, PRINT, exec, pkill slurp swappy || grim -g \"$(slurp)\" - | swappy -f -"
         ", XF86Explorer, exec, hyprlock"
-        ", F1, exec, hyprlock"
         ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
         ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
         ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
@@ -82,16 +91,14 @@ in {
         ", XF86AudioPrev, exec, playerctl previous && notify-send 'Previous Song'"
         ", XF86AudioPlay, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
         ", XF86AudioStop, exec, playerctl stop && notify-send 'Music Stopped'"
-        ", F11, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
-        ", F10, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
-        ", F9, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
-        ", F6, exec, playerctl next && notify-send 'Next Song'"
-        ", F5, exec, playerctl previous && notify-send 'Previous Song'"
-        ", F7, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
-        ", F8, exec, playerctl stop && notify-send 'Music Stopped'"
-
-        ", F4, workspace, 3"
-        ", XF86Tools, workspace, 3"
+        "$mod, F1, exec, hyprlock"
+        "$mod, F11, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
+        "$mod, F10, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
+        "$mod, F9, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
+        "$mod, F6, exec, playerctl next && notify-send 'Next Song'"
+        "$mod, F5, exec, playerctl previous && notify-send 'Previous Song'"
+        "$mod, F7, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
+        "$mod, F8, exec, playerctl stop && notify-send 'Music Stopped'"
       ]
       ++ workspaces;
   };
index 12ea0a84db97555406386585e07e80e72e74320f..20f72080735cf537e3ab589db962beb783396dab 100644 (file)
@@ -8,13 +8,55 @@
   ];
   wayland.windowManager.hyprland = {
     enable = true;
-    systemd.enable = false;
     settings = {
+      animations.enabled = true;
+      animation = [
+        "specialWorkspaceIn, 1, 10, default, slide top"
+        "specialWorkspaceOut, 1, 10, default, slide bottom"
+      ];
+      general = {
+        layout = "master";
+      };
+      master = {
+        new_on_top = true;
+      };
+      cursor = {
+        enable_hyprcursor = true;
+        default_monitor = "DP-3";
+      };
+      ecosystem = {
+        no_update_news = true;
+        no_donation_nag = true;
+      };
       env = [
         "EDITOR,nvim"
         "VISUAL,nvim"
-        "HYPRCURSOR_THEME,Bibata-Original-Classic"
+        # --- AMD GPU (critical) ---
+        "LIBVA_DRIVER_NAME,radeonsi" # VAAPI video accel
+        "XDG_SESSION_TYPE,wayland"
+        "GBM_BACKEND,wayland"
+        "WLR_BACKEND,wayland"
+        "WLR_RENDERER_ALLOW_SOFTWARE,1" # Fallback if needed
+        "WLR_NO_HARDWARE_CURSORS,1" # Fix cursor bugs on some AMD
+
+        #Performance & VRR ---
+        "WLR_DRM_NO_ATOMIC,1" # Fix blank screen on some drivers
+        "AMD_VULKAN_ICD,RADV" # Force RADV (Mesa Vulkan)
+        "__GLX_VENDOR_LIBRARY_NAME,mesa"
+
+        #Input & Scaling ---
         "HYPRCURSOR_SIZE,24"
+        "HYPRCURSOR_THEME,Bibata-Original-Classic"
+        "QT_QPA_PLATFORM,wayland"
+        "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
+        "GDK_BACKEND,wayland"
+        "SDL_VIDEODRIVER,wayland"
+        "CLUTTER_BACKEND,wayland"
+
+        # Polish ---
+        "WLR_DRM_DEVICES,/dev/dri/card0" # Multi-GPU: force primary
+        "MOZ_ENABLE_WAYLAND,1" # Firefox
+        "ELECTRON_OZONE_PLATFORM_HINT,auto" # Electron apps
       ];
       monitor = [
         "DP-3,2560x1440@180.00,0x0,1"
         "4, monitor:DP-2"
         "5, monitor:DP-3"
         "6, monitor:DP-2"
-        "7, monitor:DP-2"
+        "7, monitor:DP-3"
         "8, monitor:DP-2"
         "9, monitor:DP-3"
         "10, monitor:DP-2"
         "w[tv1], gapsout:0, gapsin:0"
         "f[1], gapsout:0, gapsin:0"
+        "special:term, monitor:DP-3, gapsout:0, gapsin:0, border:false"
+        "special:music, monitor:DP-3, gapsout:0, gapsin:0, border:false"
+        "special:password, monitor:DP-3, gapsout:0, gapsin:0, border:false"
       ];
       exec-once = [
         "gnome-keyring-daemon --replace --start --components=pkcs11,secrets,ssh"
         "xrandr --output DP-3 --primary"
-        "app -- waybar"
+        "waybar"
         "nm-applet --indicator"
         "/run/current-system/sw/libexec/polkit-gnome-authentication-agent-1"
-        "[workspace 1 silent] app -- ghostty -e tmux attach -t dev || tmux new -s dev -c ~/dev"
-        "[workspace 2 silent] app -- librewolf"
-        #"[workspace 3 silent] app -- ghostty -e fish -c rmpc"
-        "[workspace 3 silent] app -- discord"
-        "[workspace 4 silent] app -- keepassxc"
-        #"[workspace 8 silent] app -- steam"
-        #"[workspace 9 silent] app -- obsidian"
+        "[workspace 1 silent]  ghostty -e tmux attach -t dev || tmux new -s dev -c ~/dev"
+        "[workspace 2 silent] librewolf"
+        #"[workspace 3 silent] ghostty -e fish -c rmpc"
+        "[workspace 3 silent] discord"
+        "[workspace special:password silent] keepassxc"
+        "[workspace special:term silent] ghostty"
+        "[workspace special:music silent] ghostty -e rmpc"
+        #"[workspace 8 silent] steam"
+        #"[workspace 9 silent] obsidian"
       ];
       windowrule = [
         "workspace 3 silent, class:(discord)"
         "workspace 6 silent, class:(steam)"
-        "workspace 4 silent, class:(org.keepassxc.KeePassXC)"
 
         "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]"
+
+        "float,      onworkspace:special"
+        "center,     onworkspace:special"
+        "size 800 600, onworkspace:special"
+        "rounding 12, onworkspace:special"
+        "noborder,   onworkspace:special" # or "border 0"
+        #"animation slide top,   onworkspace:special"
+        #"animation fade,        onworkspace:special, 0.9"
       ];
+      misc = {
+        disable_hyprland_logo = true;
+        disable_splash_rendering = true;
+      };
     };
   };
 }