From b26c5c29bb5e5163c2b1880c777b500a7e7cd75f Mon Sep 17 00:00:00 2001 From: tomoron Date: Fri, 25 Oct 2024 21:45:30 +0200 Subject: [PATCH] Hyprland.conf declared in hyprland.nix --- home.nix | 4 +- homes/laptop/home.nix | 3 + hosts/laptop.nix | 2 +- modules/hyprland.nix | 161 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 3 deletions(-) diff --git a/home.nix b/home.nix index 3090181..0f8c5ce 100644 --- a/home.nix +++ b/home.nix @@ -6,7 +6,7 @@ # By: tomoron +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2024/10/17 18:15:38 by tomoron #+# #+# # -# Updated: 2024/10/24 16:41:05 by tomoron ### ########.fr # +# Updated: 2024/10/24 19:18:42 by tomoron ### ########.fr # # # # **************************************************************************** # @@ -51,7 +51,7 @@ home.file = { ".config/bspwm/bspwmrc".source = dotfiles/config/bspwm/bspwmrc; - ".config/hypr/hyprland.conf".source = dotfiles/config/hypr/hyprland.conf; +# ".config/hypr/hyprland.conf".source = dotfiles/config/hypr/hyprland.conf; ".config/hypr/hyprlock.conf".source = dotfiles/config/hypr/hyprlock.conf; # ".config/waybar/config".source = dotfiles/config/waybar/config; # ".config/waybar/style.css".source = dotfiles/config/waybar/style.css; diff --git a/homes/laptop/home.nix b/homes/laptop/home.nix index 88862df..33988e1 100644 --- a/homes/laptop/home.nix +++ b/homes/laptop/home.nix @@ -7,6 +7,9 @@ ]; # programs.alacritty.settings.font.size = 8; + home.packages = with pkgs; [ + stremio + ]; home.file = { ".config/bspwm/host.sh".source = ./bspwm/host.sh; diff --git a/hosts/laptop.nix b/hosts/laptop.nix index 05547c5..8a71356 100644 --- a/hosts/laptop.nix +++ b/hosts/laptop.nix @@ -25,5 +25,5 @@ services.libinput.touchpad.tapping = false; hardware.bluetooth.enable = true; - programs.hyprland.enable = true; + } diff --git a/modules/hyprland.nix b/modules/hyprland.nix index 34c4f2c..52efce4 100644 --- a/modules/hyprland.nix +++ b/modules/hyprland.nix @@ -1,5 +1,166 @@ { config, lib, pkgs, username,homeDir, ... }: { +# services.hypridle.enable = true; + wayland.windowManager.hyprland.enable = true; + wayland.windowManager.hyprland.settings = { + "$mainMod" = "SUPER"; + bind = [ + "$mainMod, Return, exec, alacritty" + "CTRL_ALT, Q, killactive," + "SUPER_ALT, Q, exit," + "$mainMod, S, togglefloating," + "$mainMod, D, exec, rofi -show drun -show-icons" + "$mainMod, M, fullscreen" + # Move focus + "$mainMod, h, movefocus, l" + "$mainMod, l, movefocus, r" + "$mainMod, k, movefocus, u" + "$mainMod, j, movefocus, d" + + #swap windows + "$mainMod SHIFT, h, swapwindow, l" + "$mainMod SHIFT, l, swapwindow, r" + "$mainMod SHIFT, k, swapwindow, u" + "$mainMod SHIFT, j, swapwindow, 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] + "$mainMod SHIFT, 1, movetoworkspace, 1" + "$mainMod SHIFT, 2, movetoworkspace, 2" + "$mainMod SHIFT, 3, movetoworkspace, 3" + "$mainMod SHIFT, 4, movetoworkspace, 4" + "$mainMod SHIFT, 5, movetoworkspace, 5" + "$mainMod SHIFT, 6, movetoworkspace, 6" + "$mainMod SHIFT, 7, movetoworkspace, 7" + "$mainMod SHIFT, 8, movetoworkspace, 8" + "$mainMod SHIFT, 9, movetoworkspace, 9" + "$mainMod SHIFT, 0, movetoworkspace, 10" + + # Scroll through existing workspaces with mainMod + scroll + "$mainMod, mouse_down, workspace, e+1" + "$mainMod, mouse_up, workspace, e-1" + + #lock + ", XF86Launch1, exec, hyprlock" + ]; + + bindm = [ + "$mainMod, mouse:272, movewindow" + "$mainMod, mouse:273, resizewindow" + ]; + + bindel = [ + " ,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%-" + ]; + + bindl = [ + " , XF86AudioNext, exec, playerctl next" + " , XF86AudioPause, exec, playerctl play-pause" + " , XF86AudioPlay, exec, playerctl play-pause" + " , XF86AudioPrev, exec, playerctl previous" + ]; + + windowrulev2 = [ + #ignore maximize requests + "suppressevent maximize, class:.*" + #fix dragging issues with xwayland + "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" + ]; + + input = { + kb_layout = "fr"; + kb_variant = "us"; + follow_mouse = 2; + touchpad.natural_scroll = false; + }; + + misc = { + force_default_wallpaper = 1; + disable_hyprland_logo = true; + }; + + dwindle = { + pseudotile = true; + preserve_split = true; + }; + + animations = { + enabled = true; + + bezier = [ + "easeInOut, 0.77, 0, 0.175, 1" + "easeOut, 0.24, 0.66, 0.04, 1" + ]; + + animation = [ + "windows, 1, 2, easeInOut" + "windowsIn, 1, 2, easeInOut, slide" + "windowsOut, 1, 2, easeInOut, slide" + "fade, 1, 2, easeInOut" + "workspaces, 1, 2, easeOut" + ]; + }; + + decoration = { + rounding = 10; + + drop_shadow = true; + shadow_range = 4; + shadow_render_power = 3; + "col.shadow" = "rgba(1a1a1aee)"; + + blur = { + enabled = true; + size = 3; + passes = 1; + vibrancy = 0.1696; + }; + }; + + general = { + gaps_in = 3; + gaps_out = 7; + border_size = 2; + "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + resize_on_border = false; + allow_tearing = false; + layout = "dwindle"; + }; + + env = [ + "HYPRCURSOR_SIZE,17" + "HYPRCURSOR_THEME,bibata-modern-classic" + ]; + + exec-once = [ + "swaybg -i ~/.config/nitrogen/wallpaper.png&" + "(sleep 2;activate-linux)&" + "waybar&" + "alacritty&" + ]; + + monitor= [ + "eDP-1, 1920x1080@120, 0x0, 1" + "HDMI-A-1, 1920x1080@60, auto, auto" + ]; + }; }