From 17228c7e7368cb445d5ea9099b5f62cf7d91ba78 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Sun, 18 Jun 2023 10:40:57 +0100 Subject: [PATCH] Restore hyprland config, move separate files into nix expression, trim duplicate lines --- home/desktop/config/hypr/common.conf | 55 ----- home/desktop/config/hypr/keybinds.conf | 85 -------- home/desktop/config/hypr/macchiato.conf | 61 ------ home/desktop/config/hypr/window-rules.conf | 14 -- home/desktop/hyprland.nix | 233 ++++++++++++++++++++- home/desktop/waybar.nix | 5 +- machines/J0162/elitherl.nix | 18 ++ machines/Vanguard/xenia.nix | 17 ++ 8 files changed, 267 insertions(+), 221 deletions(-) delete mode 100644 home/desktop/config/hypr/common.conf delete mode 100644 home/desktop/config/hypr/keybinds.conf delete mode 100644 home/desktop/config/hypr/macchiato.conf delete mode 100644 home/desktop/config/hypr/window-rules.conf diff --git a/home/desktop/config/hypr/common.conf b/home/desktop/config/hypr/common.conf deleted file mode 100644 index 51350924..00000000 --- a/home/desktop/config/hypr/common.conf +++ /dev/null @@ -1,55 +0,0 @@ -monitor=,preferred,auto,auto -exec-once = waybar & hyprpaper & dunst & eww daemon - -source = ./macchiato.conf -source = ./keybinds.conf -source = ./window-rules.conf - -env = XCURSOR_SIZE,24 - -input { - kb_layout = gb - follow_mouse = 1 - touchpad { - natural_scroll = no - } -} - -general { - gaps_in = 5 - gaps_out = 20 - border_size = 2 - col.active_border = $mauve - col.group_border_active = $mauve - col.inactive_border = $surface2 - col.group_border = $surface2 - layout = master -} - -decoration { - rounding = 10 - blur = yes - blur_size = 5 - blur_passes = 3 - blur_new_optimizations = on - blur_xray = off - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = $base -} - -animations { - enabled = yes - 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 -} - -master { - new_is_master = false -} diff --git a/home/desktop/config/hypr/keybinds.conf b/home/desktop/config/hypr/keybinds.conf deleted file mode 100644 index 0715b02d..00000000 --- a/home/desktop/config/hypr/keybinds.conf +++ /dev/null @@ -1,85 +0,0 @@ -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -# bind = SUPER, Return, exec, wezterm -bind = SUPER, Return, exec, kitty -bind = SUPER, Q, killactive, -bind = SUPER, E, exec, power-profiles -bind = SUPER, P, exec, powermenu -bind = SUPER, V, togglefloating, -bind = SUPER, Space, exec, rofi -show drun -bind = SUPER, S, exec, grim -g "$(slurp)" -bind = SUPER, F1, exec, swaylock -bind = SUPER, W, exec, chromium -bind = SUPER, F, exec, thunar -bind = SUPER, M, fullscreen, 1 -bind = SUPER, A, bringactivetotop - -bind = , XF86AudioMute, exec, pamixer -t -bind = , XF86AudioRaiseVolume, exec, pamixer -i 2 -bind = , XF86AudioLowerVolume, exec, pamixer -d 2 - -# Move focus with mainMod + arrow keys -bind = SUPER, left, movefocus, l -bind = SUPER, H, movefocus, l -bind = SUPER, right, movefocus, r -bind = SUPER, L, movefocus, r -bind = SUPER, up, movefocus, u -bind = SUPER, K, movefocus, u -bind = SUPER, down, movefocus, d -bind = SUPER, J, movefocus, d - -bind = SUPER SHIFT, left, movewindow, l -bind = SUPER SHIFT, H, movewindow, l -bind = SUPER SHIFT, right, movewindow, r -bind = SUPER SHIFT, L, movewindow, r -bind = SUPER SHIFT, up, movewindow, u -bind = SUPER SHIFT, K, movewindow, u -bind = SUPER SHIFT, down, movewindow, d -bind = SUPER SHIFT, J, movewindow, d - -# Switch workspaces with mainMod + [0-9] -bind = SUPER, 1, workspace, 1 -bind = SUPER, 2, workspace, 2 -bind = SUPER, 3, workspace, 3 -bind = SUPER, 4, workspace, 4 -bind = SUPER, 5, workspace, 5 -bind = SUPER, 6, workspace, 6 -bind = SUPER, 7, workspace, 7 -bind = SUPER, 8, workspace, 8 -bind = SUPER, 9, workspace, 9 -bind = SUPER, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = SUPER SHIFT, 1, movetoworkspace, 1 -bind = SUPER SHIFT, 2, movetoworkspace, 2 -bind = SUPER SHIFT, 3, movetoworkspace, 3 -bind = SUPER SHIFT, 4, movetoworkspace, 4 -bind = SUPER SHIFT, 5, movetoworkspace, 5 -bind = SUPER SHIFT, 6, movetoworkspace, 6 -bind = SUPER SHIFT, 7, movetoworkspace, 7 -bind = SUPER SHIFT, 8, movetoworkspace, 8 -bind = SUPER SHIFT, 9, movetoworkspace, 9 - -bind = SUPER, period, workspace, m+1 -bind = SUPER, comma, workspace, m-1 - -bind = SUPER SHIFT, period, movetoworkspace, m+1 -bind = SUPER SHIFT, comma, movetoworkspace, m-1 - -bind = SUPER, bracketright, focusmonitor, +1 -bind = SUPER, bracketleft, focusmonitor, +1 - -bind = SUPER SHIFT, bracketright, movecurrentworkspacetomonitor, +1 -bind = SUPER SHIFT, bracketleft, movecurrentworkspacetomonitor, +1 - -bind = SUPER, N, workspace, empty -bind = SUPER SHIFT, N, movetoworkspace, empty - -bind = SUPER, C, togglespecialworkspace -bind = SUPER SHIFT, C, movetoworkspace, special - -bind = SUPER, tab, workspace, previous -bind = SUPER SHIFT, tab, movetoworkspace, previous - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = SUPER, mouse:272, movewindow -bindm = SUPER, mouse:273, resizewindow diff --git a/home/desktop/config/hypr/macchiato.conf b/home/desktop/config/hypr/macchiato.conf deleted file mode 100644 index 91a88a15..00000000 --- a/home/desktop/config/hypr/macchiato.conf +++ /dev/null @@ -1,61 +0,0 @@ -$rosewaterAlpha = f4dbd6 -$flamingoAlpha = f0c6c6 -$pinkAlpha = f5bde6 -$mauveAlpha = c6a0f6 -$redAlpha = ed8796 -$maroonAlpha = ee99a0 -$peachAlpha = f5a97f -$yellowAlpha = eed49f -$greenAlpha = a6da95 -$tealAlpha = 8bd5ca -$skyAlpha = 91d7e3 -$sapphireAlpha = 7dc4e4 -$blueAlpha = 8aadf4 -$lavenderAlpha = b7bdf8 - -$textAlpha = cad3f5 -$subtext1Alpha = b8c0e0 -$subtext0Alpha = a5adcb - -$overlay2Alpha = 939ab7 -$overlay1Alpha = 8087a2 -$overlay0Alpha = 6e738d - -$surface2Alpha = 5b6078 -$surface1Alpha = 494d64 -$surface0Alpha = 363a4f - -$baseAlpha = 24273a -$mantleAlpha = 1e2030 -$crustAlpha = 181926 - -$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/home/desktop/config/hypr/window-rules.conf b/home/desktop/config/hypr/window-rules.conf deleted file mode 100644 index 108acd2e..00000000 --- a/home/desktop/config/hypr/window-rules.conf +++ /dev/null @@ -1,14 +0,0 @@ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrule = float, ^(foot)$ -windowrule = float, ^(pavucontrol)$ -windowrule = float, ^(.blueman-manager-wrapped)$ -windowrule = float, ^(otpclient)$ - -windowrule = center, ^(foot)$ -windowrule = center, ^(pavucontrol)$ -windowrule = center, ^(.blueman-manager-wrapped)$ -windowrule = move 2% 6%, ^(otpclient)$ - -windowrule = workspace 2, ^(chromium-browser)$ -windowrule = workspace 3, ^(thunar|libreoffice).*$ -windowrule = workspace 4 silent, ^(Element|Signal|discord)$ diff --git a/home/desktop/hyprland.nix b/home/desktop/hyprland.nix index 4e02ae88..5d940a3d 100644 --- a/home/desktop/hyprland.nix +++ b/home/desktop/hyprland.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: let +{ + pkgs, + lib, + ... +}: let flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; hyprland = @@ -24,15 +28,234 @@ in { hyprpaper ]; programs.rofi.package = pkgs.rofi-wayland; - xdg.configFile."hypr" = { - source = ./config/hypr; - recursive = true; - }; wayland.windowManager.hyprland = { enable = true; xwayland = { enable = true; hidpi = true; }; + extraConfig = lib.mkDefault ''source=./common.conf ''; }; + xdg.configFile."hypr/common.conf".text = '' + monitor=,preferred,auto,auto + exec-once = waybar & hyprpaper & dunst & eww daemon + source = ./macchiato.conf + + env = XCURSOR_SIZE,24 + + input { + kb_layout = gb + follow_mouse = 1 + touchpad { + natural_scroll = no + } + } + + general { + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = $mauve + col.group_border_active = $mauve + col.inactive_border = $surface2 + col.group_border = $surface2 + layout = master + } + + decoration { + rounding = 10 + blur = yes + blur_size = 5 + blur_passes = 3 + blur_new_optimizations = on + blur_xray = off + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = $base + } + + animations { + enabled = yes + 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 + } + + master { + new_is_master = false + } + + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + # bind = SUPER, Return, exec, wezterm + bind = SUPER, Return, exec, kitty + bind = SUPER, Q, killactive, + bind = SUPER, E, exec, power-profiles + bind = SUPER, P, exec, powermenu + bind = SUPER, V, togglefloating, + bind = SUPER, Space, exec, rofi -show drun + bind = SUPER, S, exec, grim -g "$(slurp)" + bind = SUPER, F1, exec, swaylock + bind = SUPER, W, exec, chromium + bind = SUPER, F, exec, thunar + bind = SUPER, M, fullscreen, 1 + bind = SUPER, A, bringactivetotop + + bind = , XF86AudioMute, exec, pamixer -t + bind = , XF86AudioRaiseVolume, exec, pamixer -i 2 + bind = , XF86AudioLowerVolume, exec, pamixer -d 2 + + # Move focus with mainMod + arrow keys + bind = SUPER, left, movefocus, l + bind = SUPER, H, movefocus, l + bind = SUPER, right, movefocus, r + bind = SUPER, L, movefocus, r + bind = SUPER, up, movefocus, u + bind = SUPER, K, movefocus, u + bind = SUPER, down, movefocus, d + bind = SUPER, J, movefocus, d + + bind = SUPER SHIFT, left, movewindow, l + bind = SUPER SHIFT, H, movewindow, l + bind = SUPER SHIFT, right, movewindow, r + bind = SUPER SHIFT, L, movewindow, r + bind = SUPER SHIFT, up, movewindow, u + bind = SUPER SHIFT, K, movewindow, u + bind = SUPER SHIFT, down, movewindow, d + bind = SUPER SHIFT, J, movewindow, d + + # Switch workspaces with mainMod + [0-9] + bind = SUPER, 1, workspace, 1 + bind = SUPER, 2, workspace, 2 + bind = SUPER, 3, workspace, 3 + bind = SUPER, 4, workspace, 4 + bind = SUPER, 5, workspace, 5 + bind = SUPER, 6, workspace, 6 + bind = SUPER, 7, workspace, 7 + bind = SUPER, 8, workspace, 8 + bind = SUPER, 9, workspace, 9 + bind = SUPER, 0, workspace, 10 + + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = SUPER SHIFT, 1, movetoworkspace, 1 + bind = SUPER SHIFT, 2, movetoworkspace, 2 + bind = SUPER SHIFT, 3, movetoworkspace, 3 + bind = SUPER SHIFT, 4, movetoworkspace, 4 + bind = SUPER SHIFT, 5, movetoworkspace, 5 + bind = SUPER SHIFT, 6, movetoworkspace, 6 + bind = SUPER SHIFT, 7, movetoworkspace, 7 + bind = SUPER SHIFT, 8, movetoworkspace, 8 + bind = SUPER SHIFT, 9, movetoworkspace, 9 + + bind = SUPER, period, workspace, m+1 + bind = SUPER, comma, workspace, m-1 + + bind = SUPER SHIFT, period, movetoworkspace, m+1 + bind = SUPER SHIFT, comma, movetoworkspace, m-1 + + bind = SUPER, bracketright, focusmonitor, +1 + bind = SUPER, bracketleft, focusmonitor, +1 + + bind = SUPER SHIFT, bracketright, movecurrentworkspacetomonitor, +1 + bind = SUPER SHIFT, bracketleft, movecurrentworkspacetomonitor, +1 + + bind = SUPER, N, workspace, empty + bind = SUPER SHIFT, N, movetoworkspace, empty + + bind = SUPER, C, togglespecialworkspace + bind = SUPER SHIFT, C, movetoworkspace, special + + bind = SUPER, tab, workspace, previous + bind = SUPER SHIFT, tab, movetoworkspace, previous + + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = SUPER, mouse:272, movewindow + bindm = SUPER, mouse:273, resizewindow + + # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + windowrule = float, ^(foot)$ + windowrule = float, ^(pavucontrol)$ + windowrule = float, ^(.blueman-manager-wrapped)$ + windowrule = float, ^(otpclient)$ + + windowrule = center, ^(foot)$ + windowrule = center, ^(pavucontrol)$ + windowrule = center, ^(.blueman-manager-wrapped)$ + windowrule = move 2% 6%, ^(otpclient)$ + + windowrule = workspace 2, ^(chromium-browser)$ + windowrule = workspace 3, ^(thunar|libreoffice).*$ + windowrule = workspace 4 silent, ^(Element|Signal|discord)$ + ''; + xdg.configFile."hypr/macchiato.conf".text = '' + $rosewaterAlpha = f4dbd6 + $flamingoAlpha = f0c6c6 + $pinkAlpha = f5bde6 + $mauveAlpha = c6a0f6 + $redAlpha = ed8796 + $maroonAlpha = ee99a0 + $peachAlpha = f5a97f + $yellowAlpha = eed49f + $greenAlpha = a6da95 + $tealAlpha = 8bd5ca + $skyAlpha = 91d7e3 + $sapphireAlpha = 7dc4e4 + $blueAlpha = 8aadf4 + $lavenderAlpha = b7bdf8 + + $textAlpha = cad3f5 + $subtext1Alpha = b8c0e0 + $subtext0Alpha = a5adcb + + $overlay2Alpha = 939ab7 + $overlay1Alpha = 8087a2 + $overlay0Alpha = 6e738d + + $surface2Alpha = 5b6078 + $surface1Alpha = 494d64 + $surface0Alpha = 363a4f + + $baseAlpha = 24273a + $mantleAlpha = 1e2030 + $crustAlpha = 181926 + + $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 + ''; + xdg.configFile."hypr/hyprpaper.conf".text = lib.mkDefault '' + preload = ~/nixos/wallpaper.jpg + wallpaper = ,~/nixos/wallpaper.jpg + ''; } diff --git a/home/desktop/waybar.nix b/home/desktop/waybar.nix index 735d8ba6..8abe4395 100644 --- a/home/desktop/waybar.nix +++ b/home/desktop/waybar.nix @@ -7,5 +7,8 @@ source = ./config/waybar; recursive = true; }; - programs.waybar.enable = true; + programs.waybar = { + enable = true; + settings.main = {"include" = ["~/.config/waybar/modules.json" "~/.config/waybar/layout.json"];}; + }; } diff --git a/machines/J0162/elitherl.nix b/machines/J0162/elitherl.nix index 1bf8901d..4235922c 100644 --- a/machines/J0162/elitherl.nix +++ b/machines/J0162/elitherl.nix @@ -10,4 +10,22 @@ teams-for-linux zoom-us ]; + + wayland.windowManager.hyprland.extraConfig = ''source=./common.conf ''; + programs.waybar.settings.main = { + "modules-left" = ["wlr/workspaces"]; + "modules-center" = ["clock"]; + "modules-right" = [ + "cpu" + "memory" + "temperature" + "pulseaudio" + "network" + "bluetooth" + "backlight" + "battery" + "battery#bat2" + "tray" + ]; + }; } diff --git a/machines/Vanguard/xenia.nix b/machines/Vanguard/xenia.nix index 2d18b6f7..c9cae6c4 100644 --- a/machines/Vanguard/xenia.nix +++ b/machines/Vanguard/xenia.nix @@ -3,4 +3,21 @@ home.username = "xenia"; home.homeDirectory = "/home/xenia"; home.stateVersion = "22.11"; + + programs.waybar.settings.main = { + "modules-left" = ["wlr/workspaces"]; + "modules-center" = ["clock"]; + "modules-right" = [ + "cpu" + "memory" + "temperature" + "pulseaudio" + "bluetooth" + "network" + "backlight" + "battery" + "battery#bat2" + "tray" + ]; + }; }