From dafc4508fd4a5139df258655931cc59cf44f1695 Mon Sep 17 00:00:00 2001 From: iFargle Date: Wed, 16 Aug 2023 14:29:55 +0900 Subject: [PATCH] Update hyprland and README --- README.md | 11 +- desktops/hyprland.nix | 60 ++------ .../home-manager/hyprland-conf.nix | 136 +++++++----------- 3 files changed, 75 insertions(+), 132 deletions(-) diff --git a/README.md b/README.md index 3e72c24e..a47c7ce5 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Repo for nix configuration files * [ ] mako config / theming * [ ] waybar config / theming * [ ] hyprland config / theming - * Try `libinput-gestores` for gesture control of Hyprland - [Link](https://github.com/bulletmark/libinput-gestures) + * Try `libinput-gestures` for gesture control of Hyprland - [Link](https://github.com/bulletmark/libinput-gestures) * [x] powerline config / theming * [x] neofetch config / theming * [x] kitty config / theming @@ -27,7 +27,14 @@ Repo for nix configuration files * Staying with powerline-go, just editing the config in `home-manager/bash.nix` * [ ] Set up the fingerprint reader - [Link](https://www.makeuseof.com/set-up-fingerprint-scanner-with-pam-on-linux/) * [ ] sublime music config / theming / integration - [Link](https://docs.sublimemusic.app/) - +* [ ] hyprland + * [ ] Try hyprctl + * [ ] hyprwm plugins - [Link](https://github.com/hyprwm/hyprland-plugins/tree/main/hyprbars) + * [ ] hyprbars + * [ ] libinput-gestores? + * [ ] configure programs.light - keybinds in hyprland config + * [ ] authentication agent (like polkit-kde-agent) + --- # Information diff --git a/desktops/hyprland.nix b/desktops/hyprland.nix index 3e221bd4..436482c4 100644 --- a/desktops/hyprland.nix +++ b/desktops/hyprland.nix @@ -76,52 +76,20 @@ mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; }) ) - # Notofication daemon - libnotify - mako - # for x11 - # dunst - - # Wallpaper daemons - # hyprpaper - # swaybg - # wpaperd - # mpvpaper - swww - - # Terminal - # hyprlands default terminal - kitty - # alacritty - # wezterm - - # App launchers - rofi-wayland - # gtk version: - # wofi - - # suggestions - # bemenu - # fuzzel - # tofi - - # Other apps: - networkmanagerapplet - - # Screenshot utility: - grim - slurp - wl-clipboard - - # fonts - font-awesome - - # lock screen - swaylock-fancy - - # Icons for regreet - gruvbox-gtk-theme - papirus-icon-theme + libnotify # Notification libraries + mako # Notification daemon + swww # Wallpaper daemon + kitty # Terminal emulator + rofi-wayland # App Launcher + networkmanagerapplet # NetworkManager control applet + grim # Screenshots + slurp # Screenshots + wl-clipboard # Clipboard + font-awesome # Fonts + swaylock-fancy # Lock screen + gruvbox-gtk-theme # Gruvbox Theme + papirus-icon-theme # Papirus Icons + libinput-gestures # Gesture Control ]; # Enable sound with pipewire. diff --git a/hosts/nixos-laptop/home-manager/hyprland-conf.nix b/hosts/nixos-laptop/home-manager/hyprland-conf.nix index 520f8a7c..48f6b01d 100644 --- a/hosts/nixos-laptop/home-manager/hyprland-conf.nix +++ b/hosts/nixos-laptop/home-manager/hyprland-conf.nix @@ -2,84 +2,70 @@ home.file = { ".config/hypr/hyprland.conf" = { enable = true; - text = " - # This is an example Hyprland config file. - # - # Refer to the wiki for more information. + text = '' + # https://wiki.hyprland.org/Configuring/Variables/ + # env = XCURSOR_SIZE,24 + env = GDK_SCALE,1 + env = XCURSOR_SIZE,48 - # - # Please note not all available settings / options are set here. - # For a full list, see the wiki - # - - # See https://wiki.hyprland.org/Configuring/Monitors/ - # monitor=,preferred,auto,auto - - - # See https://wiki.hyprland.org/Configuring/Keywords/ for more - - # Execute your favorite apps at launch - # exec-once = waybar & hyprpaper & firefox - - # Source a file (multi-file configs) - # source = ~/.config/hypr/myColors.conf - - # Some default env vars. - env = XCURSOR_SIZE,24 - - # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ - input { - kb_layout = us - kb_variant = - kb_model = - kb_options = - kb_rules = - - follow_mouse = 1 - - touchpad { - natural_scroll = true - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - } + # nVidia Speficic Settings: + # https://wiki.hyprland.org/Nvidia/ + # env = LIBVA_DRIVER_NAME,nvidia + # env = XDG_SESSION_TYPE,wayland + # env = GBM_BACKEND,nvidia-drm + # env = __GLX_VENDOR_LIBRARY_NAME,nvidia + # env = WLR_NO_HARDWARE_CURSORS,1 general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 5 gaps_out = 20 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) - + border_size = 3 + # First six are color, last 2 are opacity? + col.active_border = rgba(d5c4a1bb) # Gruvbox fg2, opacity bb + col.inactive_border = rgba(504945dd) # Gruvbox bg2, opacity dd + resize_on_border = true + extend_border_grab_area = 15 layout = dwindle } - - decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - - blur { - enabled = true - size = 3 - passes = 1 + input { + kb_layout = us + follow_mouse = 1 + touchpad { + natural_scroll = true + disable_while_typing = true + tap-to-click = true + clickfinger_behavior = lrm + drag_lock = true } - + sensitivity = 0 + } + gestures { + # https://wiki.hyprland.org/0.24.1/Configuring/Keywords/#gestures + workspace_swipe = true + workspace_swipe_fingers = 4 + workspace_swipe_numbered = false + } + misc { + disable_hyprland_logo = true + } + decoration { + rounding = 6 + active_opacity = 0.8 + inactive_opacity = 0.7 + fullscreen_opacity = 0.95 + blur = true + blur_size = 8 + blur_passes = 3 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) + } - animations { + # https://wiki.hyprland.org/Configuring/Animations/ enabled = true - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default @@ -87,7 +73,6 @@ animation = fade, 1, 7, default animation = workspaces, 1, 6, default } - dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below @@ -99,24 +84,6 @@ new_is_master = true } - gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = false - } - - # Example per-device config - # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more - device:epic-mouse-v1 { - sensitivity = -0.5 - } - - # Example windowrule v1 - # windowrule = float, ^(kitty)$ - # Example windowrule v2 - # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - - # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER @@ -167,7 +134,6 @@ # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow - # Testing... Move without holding the mainMod button? ############################################################################# # Custom keybinds @@ -178,12 +144,14 @@ # Take a screenshot with the Print key bind =,Print,exec,grim # Move to the previous / next workspace with SUPER-LEFT and SUPER-RIGHT - bind = $mainMod, right workspace, e+1 + bind = $mainMod, right, workspace, e+1 bind = $mainMod, left, workspace, e-1 + bind = $mainMod SHIFT, right, movetoworkspace, e+1 + bind = $mainMod SHIFT, left, movetoworkspace, e-1 # Start the config: exec-once=bash ~/.config/hypr/start.sh - "; + ''; }; # Set the custom launcher script ".config/hypr/start.sh" = {