From dc3c98586dbabe3bb4d408da388fbb00bc3fb27a Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Tue, 11 Mar 2025 17:59:58 +0100 Subject: [PATCH] some more tryouts for the wallpapers --- modules/home-manager/hypr/cursor.nix | 5 +- .../hypr/hyprland-customization.nix | 74 +++++++++++-------- modules/home-manager/hypr/hyprpaper.nix | 9 +-- 3 files changed, 50 insertions(+), 38 deletions(-) diff --git a/modules/home-manager/hypr/cursor.nix b/modules/home-manager/hypr/cursor.nix index 6fd7995..05ab959 100644 --- a/modules/home-manager/hypr/cursor.nix +++ b/modules/home-manager/hypr/cursor.nix @@ -1,6 +1,7 @@ -{inputs, pkgs, ...}: +{inputs, pkgs, ...}: { # Put a cursor theme to the location expected by the hyprland window manager # TODO -} \ No newline at end of file + +} diff --git a/modules/home-manager/hypr/hyprland-customization.nix b/modules/home-manager/hypr/hyprland-customization.nix index f8d3f5d..8a77910 100644 --- a/modules/home-manager/hypr/hyprland-customization.nix +++ b/modules/home-manager/hypr/hyprland-customization.nix @@ -7,6 +7,7 @@ pkgs.gnome-control-center pkgs.brightnessctl pkgs.cliphist + pkgs.wl-clipboard ]; @@ -27,8 +28,6 @@ "$mod, b, exec, $browser" "$mod, s, exec, $ide" "$mod, e, exec, nautilus" - # Overview - "$mod, , overview:toggle" # Lock screen "$mod+Shift, l, exec, hyprlock" @@ -37,14 +36,14 @@ "$mod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy" "$mod+Shift, Q, killactive," # Close window - "$mod, f, togglefloating," # Toggle Floating + # Toggle Floating and reduce size + "$mod, f, togglefloating," + "$mod, f, resizeactive, 50% 50%," + # Alt-tab alternative "$mod, Tab, cyclenext," "$mod, Tab, bringactivetotop," - # Reshape the window in focus - "$mod, left, resizeactive, -10 0" - "$mod, right, resizeactive, 10 0" # Move the window "$mod+Shift, left, movewindow, l" @@ -65,19 +64,35 @@ ]; + # repeatable bindings binde = [ # Fn keys - ", code:232, exec, brightnessctl set -5%" - ", code:231, exec, brightnessctl set +5%" + ", XF86MonBrightnessDown, exec, brightnessctl set -5%" + ", XF86MonBrightnessUp, exec, brightnessctl set +5%" ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + + # Reshape the window in focus + "$mod, left, resizeactive, -2% 0" + "$mod, right, resizeactive, 2% 0" + ]; # bindl = [ # ", switch:on:Lid Switch, exec, hyprctl dispatch dpms off" # ", switch:off:Lid Switch, exec, hyprctl dispatch dpms on" # ]; + bindr = [ + # Overview + "$mod, , overview:toggle" + ]; + + bindm = [ + # move the window + "$mod, mouse:272, movewindow" + ]; + exec-once = [ # "${pkgs.hyprpaper}/bin/hyprpaper" # hyprpaper is handled as its own service @@ -85,6 +100,7 @@ # listen to clipboard events and send them to cliphist "wl-paste --watch cliphist stores" "${pkgs.waybar}/bin/hypridle" + "hyprpaper" # # Fixes cursor themes in gnome apps under hyprland # "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'" # "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}" @@ -100,6 +116,8 @@ }; misc = { + # disable refreshs when nothing is going on + vfr = false; disable_hyprland_logo = true; }; @@ -129,20 +147,22 @@ inactive_opacity = 0.9; shadow = { - enabled = true; - range = 6; - render_power = 6; - # color = "#000000"; + enabled = false; }; # blur is set on a per-program basis - layerrule = [ - "blur, wofi" - "ignorezero, wofi" - "ignorealpha 0.5, wofi" - "blur, kitty" - "ignorezero, kitty" - "ignorealpha 0.5, kitty" + windowrulev2 = [ + # kitty should behave like a floating window + "animation popin, class:kitty" + "move cursor -50% -50%, class:kitty" + "float, class:kitty" + "size 50% 50%, class:kitty" + + # some more floating windows + "float, class:org.gnome.Settings" + "float, class:desktopclient.owncloud.com" + "float, class:org.keepassxc.KeePassXC" + ]; }; @@ -158,13 +178,13 @@ env = [ # force apps to use wayland - "NIXOS_OZONE_WL,1" - "ELECTRON_OZONE_PLATFORM_HINT,wayland" + "NIXOS_OZONE_WL, 1" + "ELECTRON_OZONE_PLATFORM_HINT, wayland" # set the scale factor for GDK apps - "GDK_SCALE,1.5" - "XCURSOR_SIZE,32" + "GDK_SCALE, 1.5" + "XCURSOR_SIZE, 32" # set the scale factor for QT apps - "QT_SCALE_FACTOR,1.5" + "QT_SCALE_FACTOR, 1.5" # set the scale factor for GTK apps ]; }; @@ -186,11 +206,5 @@ # }; }; - - - # services.network-manager-applet = { - # enable = true; - # }; - services.swaync.enable = true; } diff --git a/modules/home-manager/hypr/hyprpaper.nix b/modules/home-manager/hypr/hyprpaper.nix index 43c6ce7..552d3ea 100644 --- a/modules/home-manager/hypr/hyprpaper.nix +++ b/modules/home-manager/hypr/hyprpaper.nix @@ -6,13 +6,10 @@ with lib; let # load the wallpapers from the wallpapers directory - this gives a set with the folder content dirContent = builtins.readDir ../../../wallpapers; - # only keep regular (the true files) as a list - # loop over the set and keep the values where the key is "regular" - wallpapersIntermediate = attrsToList dirContent; - # remove the attr, keep the value - wallpapers = map (x: x.value) wallpapersIntermediate; - wallpaperString = lib.strings.concatMapStrings (x: " " + x) wallpapers; + # # load each wallpaper and keep its path (now in the nix store) as an array + # wallpapers = map (x: builtins.readDir "${../../../wallpapers}/${x.value}") dirContent; + # wallpaperString = lib.strings.concatMapStrings (x: " " + x) wallpapers; # script that picks a random wallpaper from the array and sets it as the desktop background monitor = ""; # leave empty to set the wallpaper on all monitors