From 729cc66bd1f8041eb70fd55acffd8ceae0b8565e Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Mon, 3 Mar 2025 17:52:38 +0100 Subject: [PATCH] try to use waybar --- README.md | 2 + .../hypr/hyprland-customization.nix | 74 +++++++------ modules/home-manager/hypr/waybar.nix | 103 ++++++++++++++++++ 3 files changed, 147 insertions(+), 32 deletions(-) create mode 100644 modules/home-manager/hypr/waybar.nix diff --git a/README.md b/README.md index 65cbdd6..48fc7b8 100644 --- a/README.md +++ b/README.md @@ -47,3 +47,5 @@ This will create an iso image in the result directory. - https://github.com/mwaldleben/nix-config - https://github.com/anotherhadi/nixy - https://github.com/Numb-0/nix-0 +- https://github.com/Frost-Phoenix/nixos-config +- https://github.com/elifouts/Dotfiles diff --git a/modules/home-manager/hypr/hyprland-customization.nix b/modules/home-manager/hypr/hyprland-customization.nix index 53ea4d1..4de80b1 100644 --- a/modules/home-manager/hypr/hyprland-customization.nix +++ b/modules/home-manager/hypr/hyprland-customization.nix @@ -6,6 +6,7 @@ pkgs.nautilus pkgs.gnome-control-center pkgs.brightnessctl + pkgs.swaync ]; @@ -14,16 +15,20 @@ systemd.enable = true; settings = { "$mod" = "SUPER"; + "$browser" = "firefox"; # Global bindings bind = [ - "$mod, return, exec, walker" - "$mod+Shift, return, exec, kitty" - "$mod, F, exec, firefox" + # Launch applications + "$mod, space, exec, walker" + "$mod, return, exec, kitty" + "$mod, b, exec, $browser" "$mod, s, exec, code" "$mod, e, exec, nautilus" + + "$mod+Shift, Q, killactive," # Close window - "$mod+Shift, T, togglefloating," # Toggle Floating + "$mod, f, togglefloating," # Toggle Floating # Move the focus "$mod, left, movefocus, l" @@ -46,6 +51,11 @@ "$mod+Shift, Print, exec, hyprshot -m window -o ~/Pictures/Screenshots" ]; + exec-once = [ + "${pkgs.hyprpaper}/bin/hyprpaper" + "${pkgs.waybar}/bin/waybar" + ]; + general = { resize_on_border = true; gaps_in = 5; @@ -111,37 +121,37 @@ ]; }; - imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ]; - # the overlay makes this available as a home manager module - programs.hyprpanel = { - enable = true; - # autostart after hyprland - hyprland.enable = true; - overwrite.enable = true; - overlay.enable = true; + # imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ]; + # # the overlay makes this available as a home manager module + # programs.hyprpanel = { + # enable = true; + # # autostart after hyprland + # hyprland.enable = true; + # overwrite.enable = true; + # overlay.enable = true; - theme = "monochrome"; + # theme = "monochrome"; - settings = { - bar = { - clock.format = "%H:%M"; - clock.showIcon = false; - launcher.icon = "🚀"; - launcher.autoDetectIcon = true; - workspaces.show_icons = true; - }; - }; + # settings = { + # bar = { + # clock.format = "%H:%M"; + # clock.showIcon = false; + # launcher.icon = "🚀"; + # launcher.autoDetectIcon = true; + # workspaces.show_icons = true; + # }; + # }; - layout = { - "bar.layouts" = { - "*" = { - left = ["workspaces"]; - middle = ["clock"]; - right = ["volume" "systray" "nm-applet" "notifications" ]; - }; - }; - }; - }; + # layout = { + # "bar.layouts" = { + # "*" = { + # left = ["workspaces"]; + # middle = ["clock"]; + # right = ["volume" "systray" "nm-applet" "notifications" ]; + # }; + # }; + # }; + # }; programs.walker = { diff --git a/modules/home-manager/hypr/waybar.nix b/modules/home-manager/hypr/waybar.nix new file mode 100644 index 0000000..8977fbe --- /dev/null +++ b/modules/home-manager/hypr/waybar.nix @@ -0,0 +1,103 @@ +{inputs, pkgs, ...}: +{ + # waybar requires font-awesome + home.packages = [ + pkgs.font-awesome + ]; + + # enable waybar + programs.waybar.enable = true; + programs.waybar.settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 30; + # output = [ + # "eDP-1" + # "HDMI-A-1" + # ]; + modules-left = [ + "hyprland/workspaces" + # "hyprland/mode" + # "wlr/taskbar" + ]; + modules-center = [ + "hyprland/window" + "clock" + # "custom/hello-from-waybar" + ]; + modules-right = [ + "mpd" + "tray" + "custom/notification" + # "temperature" + "group/expand" + "bluetooth" + "network" + "battery" + ]; + + # module specific settings + "hyprland/workspaces" = { + "format" = "{icon}"; + "format-icons" = { + "active" = ""; + "default" = ""; + "empty" = "" + }; + }; + "custom/notification" = { + "tooltip" = false; + "format" = ""; + "on-click" = "swaync-client -t -sw"; + "escape" = true; + }; + "clock": { + "format" = "{:%I:%M}"; + "interval" = 1; + "tooltip-format" = "{calendar}"; + "calendar" = { + "format" = { + "today" = "{}" + }; + }; + }; + + "network" = { + "format-wifi" = ""; + "format-ethernet" =""; + "format-disconnected" = ""; + "tooltip-format-disconnected" = "Error"; + "tooltip-format-wifi" = "{essid} ({signalStrength}%) "; + "tooltip-format-ethernet" = "{ifname} 🖧 "; + "on-click" = "kitty nmtui" + }; + "bluetooth" = { + "format-on" = "󰂯"; + "format-off" = "BT-off"; + "format-disabled" = "󰂲"; + "format-connected-battery" = "{device_battery_percentage}% 󰂯"; + "format-alt" = "{device_alias} 󰂯"; + "tooltip-format" = "{controller_alias}\t{controller_address}\n\n{num_connections} connected"; + "tooltip-format-connected" = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}"; + "tooltip-format-enumerate-connected" = "{device_alias}\n{device_address}"; + "tooltip-format-enumerate-connected-battery" = "{device_alias}\n{device_address}\n{device_battery_percentage}%"; + "on-click-right" = "blueman-manager"; + }; + "battery" = { + "interval" = 60; + "states" = { + "good" = 80; + "warning" = 30; + "critical" = 10 + }; + "format" = "{capacity}% {icon}"; + "format-charging" = "{capacity}% 󰂄"; + "format-plugged" = "{capacity}% 󰂄 "; + "format-alt" = "{time} {icon}"; + "format-icons" = [ "󰁻" "󰁼" "󰁾" "󰂀" "󰂂" "󰁹" ]; + }; + }; + } +}; + \ No newline at end of file