diff --git a/nixos/home-manager/env/config/hyprland/hyprland.conf b/nixos/home-manager/env/config/hyprland/hyprland.conf new file mode 100644 index 00000000..e6b5ce6d --- /dev/null +++ b/nixos/home-manager/env/config/hyprland/hyprland.conf @@ -0,0 +1,165 @@ + +######################################################################################## +AUTOGENERATED HYPR CONFIG. +PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +######################################################################################## + +# +# 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 = gb + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +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) + + layout = dwindle +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # 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 + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing 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 + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, kitty +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, wofi --show drun +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# 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 + +# 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 = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# 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 diff --git a/nixos/home-manager/env/config/hyprland/macchiato.conf b/nixos/home-manager/env/config/hyprland/macchiato.conf new file mode 100644 index 00000000..e07e4d38 --- /dev/null +++ b/nixos/home-manager/env/config/hyprland/macchiato.conf @@ -0,0 +1,61 @@ +$rosewaterAlpha = fff5e0dc +$flamingoAlpha = fff2cdcd +$pinkAlpha = fff5c2e7 +$mauveAlpha = ffcba6f7 +$redAlpha = fff38ba8 +$maroonAlpha = ffeba0ac +$peachAlpha = fffab387 +$yellowAlpha = fff9e2af +$greenAlpha = ffa6e3a1 +$tealAlpha = ff94e2d5 +$skyAlpha = ff89dceb +$sapphireAlpha = ff74c7ec +$blueAlpha = ff89b4fa +$lavenderAlpha = ffb4befe + +$textAlpha = ffcdd6f4 +$subtext1Alpha = ffbac2de +$subtext0Alpha = ffa6adc8 + +$overlay2Alpha = ff9399b2 +$overlay1Alpha = ff7f849c +$overlay0Alpha = ff6c7086 + +$surface2Alpha = ff585b70 +$surface1Alpha = ff45475a +$surface0Alpha = ff313244 + +$baseAlpha = ff1e1e2e +$mantleAlpha = ff181825 +$crustAlpha = ff11111b + +$rosewater = 0xfff5e0dc +$flamingo = 0xfff2cdcd +$pink = 0xfff5c2e7 +$mauve = 0xffcba6f7 +$red = 0xfff38ba8 +$maroon = 0xffeba0ac +$peach = 0xfffab387 +$yellow = 0xfff9e2af +$green = 0xffa6e3a1 +$teal = 0xff94e2d5 +$sky = 0xff89dceb +$sapphire = 0xff74c7ec +$blue = 0xff89b4fa +$lavender = 0xffb4befe + +$text = 0xffcdd6f4 +$subtext1 = 0xffbac2de +$subtext0 = 0xffa6adc8 + +$overlay2 = 0xff9399b2 +$overlay1 = 0xff7f849c +$overlay0 = 0xff6c7086 + +$surface2 = 0xff585b70 +$surface1 = 0xff45475a +$surface0 = 0xff313244 + +$base = 0xff1e1e2e +$mantle = 0xff181825 +$crust = 0xff11111b diff --git a/nixos/home-manager/env/hyprland.nix b/nixos/home-manager/env/hyprland.nix new file mode 100644 index 00000000..b95cd80b --- /dev/null +++ b/nixos/home-manager/env/hyprland.nix @@ -0,0 +1,24 @@ +{ ... }: +let + flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; + + hyprland = (import flake-compat { + src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz"; + }).defaultNix; +in +{ + imports = [ + hyprland.homeManagerModules.default + ]; + + wayland.windowManager.hyprland = { + enable = true; + xwayland = { + enable = true; + hidpi = true; + }; + extraConfig = builtins.readFile (./config/hyprland/macchiato.conf) + + "\n" + + builtins.readFile (./config/hyprland/hyprland.conf); + }; +}