2024-04-07 22:16:33 -04:00
|
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
lib,
|
|
|
|
|
config,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
|
|
|
|
options = {guiApps.waybar.enable = lib.mkEnableOption "Enables waybar.";};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
|
|
|
|
|
config = lib.mkIf config.guiApps.waybar.enable {
|
|
|
|
|
# Packages that should be installed to the user profile.
|
2024-03-30 23:59:57 -04:00
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
blueberry
|
|
|
|
|
pavucontrol
|
2024-04-07 22:16:33 -04:00
|
|
|
|
(nerdfonts.override {fonts = ["Noto"];})
|
2024-03-30 23:59:57 -04:00
|
|
|
|
];
|
2024-03-28 19:52:15 -04:00
|
|
|
|
|
|
|
|
|
xdg.configFile."waybar/style.css".source = ./waybar.css;
|
|
|
|
|
|
|
|
|
|
programs.waybar.enable = true;
|
|
|
|
|
programs.waybar.settings = {
|
|
|
|
|
mainBar = {
|
|
|
|
|
height = 36;
|
|
|
|
|
layer = "top";
|
2024-04-07 22:16:33 -04:00
|
|
|
|
output = ["*"];
|
2024-03-28 19:52:15 -04:00
|
|
|
|
position = "top";
|
|
|
|
|
reload_style_on_change = true;
|
2024-04-13 16:44:22 -04:00
|
|
|
|
modules-left = ["hyprland/workspaces" "river/tags" "hyprland/submap"];
|
|
|
|
|
modules-center = ["hyprland/window" "river/window"];
|
2024-03-28 19:52:15 -04:00
|
|
|
|
modules-right = [
|
|
|
|
|
"tray"
|
|
|
|
|
"bluetooth"
|
2024-04-12 22:52:22 -04:00
|
|
|
|
# "network"
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"pulseaudio"
|
2024-04-09 20:30:09 -04:00
|
|
|
|
# "wireplumber"
|
2024-04-11 11:35:38 -04:00
|
|
|
|
"group/power"
|
2024-04-09 20:30:09 -04:00
|
|
|
|
"custom/logout"
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"clock"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
"hyprland/workspaces" = {
|
|
|
|
|
"all-outputs" = true;
|
2024-04-02 21:12:57 -04:00
|
|
|
|
"format" = "{icon}";
|
|
|
|
|
"format-icons" = {
|
|
|
|
|
"default" = "";
|
|
|
|
|
"active" = "";
|
|
|
|
|
};
|
2024-04-07 22:16:33 -04:00
|
|
|
|
"persistent-workspaces" = {"*" = 4;};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
};
|
2024-04-09 20:30:09 -04:00
|
|
|
|
"hyprland/window" = {
|
|
|
|
|
"max-length" = 100;
|
|
|
|
|
"separate-outputs" = true;
|
|
|
|
|
};
|
2024-04-13 21:13:37 -04:00
|
|
|
|
"river/window" = {
|
|
|
|
|
"max-length" = 100;
|
|
|
|
|
};
|
|
|
|
|
"river/tags" = {
|
|
|
|
|
"num-tags" = 4;
|
|
|
|
|
};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"clock" = {
|
2024-04-09 20:30:09 -04:00
|
|
|
|
# "tooltip-format" = "{:%Y-%m-%d | %H:%M}";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"interval" = 60;
|
|
|
|
|
"format" = "{:%I:%M%p}";
|
|
|
|
|
};
|
2024-04-11 11:35:38 -04:00
|
|
|
|
"group/power" = {
|
|
|
|
|
"orientation" = "inherit";
|
|
|
|
|
"drawer" = {
|
|
|
|
|
"transition-duration" = 500;
|
|
|
|
|
"children-class" = "not-power";
|
|
|
|
|
"transition-left-to-right" = false;
|
|
|
|
|
};
|
|
|
|
|
"modules" = [
|
|
|
|
|
"battery"
|
|
|
|
|
"power-profiles-daemon"
|
|
|
|
|
"inhibitor"
|
|
|
|
|
];
|
|
|
|
|
};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"battery" = {
|
2024-04-07 22:16:33 -04:00
|
|
|
|
"states" = {"critical" = 20;};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"format" = "{icon}";
|
2024-04-11 12:17:53 -04:00
|
|
|
|
"format-icons" = ["" "" "" "" "" "" "" "" "" ""];
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"tooltip-format" = ''
|
|
|
|
|
{capacity}%: {timeTo}.
|
|
|
|
|
Using {power} watts.'';
|
|
|
|
|
};
|
2024-04-09 20:30:09 -04:00
|
|
|
|
"inhibitor" = {
|
|
|
|
|
"what" = "sleep";
|
|
|
|
|
"format" = "{icon}";
|
|
|
|
|
"format-icons" = {
|
|
|
|
|
"activated" = "";
|
|
|
|
|
"deactivated" = "";
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"bluetooth" = {
|
2024-04-11 14:18:01 -04:00
|
|
|
|
"format" = "";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"format-disabled" = ""; # an empty format will hide the module
|
|
|
|
|
"format-connected" = " {num_connections} connected";
|
|
|
|
|
"tooltip-format" = "{controller_alias} {controller_address}";
|
|
|
|
|
"tooltip-format-connected" = ''
|
|
|
|
|
{controller_alias} {controller_address}
|
|
|
|
|
|
|
|
|
|
{device_enumerate}'';
|
2024-04-07 22:16:33 -04:00
|
|
|
|
"tooltip-format-enumerate-connected" = "{device_alias} {device_address}";
|
2024-03-30 23:59:57 -04:00
|
|
|
|
"on-click" = "${pkgs.blueberry}/bin/blueberry";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
};
|
|
|
|
|
"pulseaudio" = {
|
2024-04-11 11:58:41 -04:00
|
|
|
|
"format" = "{icon}";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"format-bluetooth" = "{volume}% {icon}";
|
2024-04-09 20:30:09 -04:00
|
|
|
|
"format-muted" = "";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"format-icons" = {
|
|
|
|
|
"headphones" = "";
|
|
|
|
|
"handsfree" = "";
|
|
|
|
|
"headset" = "";
|
2024-04-11 11:58:41 -04:00
|
|
|
|
"default" = [ "" "" "" ];
|
2024-03-28 19:52:15 -04:00
|
|
|
|
};
|
2024-04-11 11:58:41 -04:00
|
|
|
|
"scroll-step" = 5;
|
2024-04-07 22:16:33 -04:00
|
|
|
|
"ignored-sinks" = ["Easy Effects Sink"];
|
2024-03-30 23:59:57 -04:00
|
|
|
|
"on-click" = "${pkgs.pavucontrol}/bin/pavucontrol -t 3";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
};
|
|
|
|
|
"network" = {
|
2024-04-11 11:58:41 -04:00
|
|
|
|
"format-wifi" = "{icon}";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"format-ethernet" = "";
|
|
|
|
|
"format-disconnected" = "⚠";
|
2024-04-11 11:58:41 -04:00
|
|
|
|
"format-icons" = ["" "" "" "" ];
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"tooltip-format" = "{ifname} via {gwaddr} ";
|
2024-04-11 11:58:41 -04:00
|
|
|
|
"tooltip-format-wifi" = "{essid} ({signalStrength}%) {icon}";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"tooltip-format-ethernet" = "{ifname} ";
|
|
|
|
|
"tooltip-format-disconnected" = "Disconnected";
|
2024-04-07 22:16:33 -04:00
|
|
|
|
"on-click" = "${pkgs.alacritty}/bin/alacritty --class nmtui -e ${pkgs.networkmanager}/bin/nmtui";
|
2024-03-28 19:52:15 -04:00
|
|
|
|
};
|
2024-04-11 12:17:53 -04:00
|
|
|
|
"tray" = {"spacing" = 15;};
|
2024-04-09 20:30:09 -04:00
|
|
|
|
"custom/logout" = {
|
|
|
|
|
"on-click" = "${pkgs.wlogout}/bin/wlogout";
|
|
|
|
|
"format" = "";
|
|
|
|
|
};
|
2024-03-28 19:52:15 -04:00
|
|
|
|
"power-profiles-daemon" = {
|
|
|
|
|
"format" = "{icon}";
|
|
|
|
|
"tooltip-format" = ''
|
|
|
|
|
Profile: {profile}
|
|
|
|
|
Driver: {driver}'';
|
|
|
|
|
"tooltip" = true;
|
|
|
|
|
"format-icons" = {
|
|
|
|
|
"default" = "";
|
|
|
|
|
"performance" = "";
|
|
|
|
|
"balanced" = "";
|
|
|
|
|
"power-saver" = "";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|