nixos/home/hyprland/waybar/default.nix
Evie Litherland-Smith 50fa154a90 Remove nyxt, set chromium to be default browser
Split chromium workspace into web (for main browser) and apps (for
PWAs)

Update waybar workspace icons, remove "urgent" icon since I've got an
updating theme anyway
2023-11-23 11:50:41 +00:00

165 lines
4.8 KiB
Nix

{ config, pkgs, ... }: {
home.packages = with pkgs; [ networkmanagerapplet bluez ];
systemd.user.targets.tray.Unit = {
Description = "Home Manager System Tray";
Requires = [ "graphical-session-pre.target" ];
};
programs.waybar = {
enable = true;
style = ./style.css;
systemd = {
enable = true;
target = "hyprland-session.target";
};
settings.main = {
layer = "top";
position = "top";
# Layout
"modules-left" = [
"hyprland/workspaces"
"custom/separator"
"hyprland/window"
"custom/separator"
"mpris"
];
"modules-center" = [ ];
"modules-right" =
[ "pulseaudio" "disk" "cpu" "memory" "clock" "battery" "tray" ];
# Module config
"custom/separator" = { format = "|"; };
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
"1" = "󰫃";
"2" = "󰫄";
"3" = "󰫅";
"4" = "󰫆";
"5" = "󰫇";
"6" = "󰫈";
"emacs" = "";
"web" = "";
"discord" = "󰙯";
"steam" = "󰓓";
"apps" = "󰜫";
"top" = "󰒋";
"remote" = "󰢹";
default = "󰋙";
special = "󰁡";
};
show-special = true;
sort-by = "id";
};
"hyprland/window" = {
rewrite = {
"(.*) - GNU Emacs(.*)" = " $1";
"btop" = " System Status";
"ncspot" = "󰓇 Spotify TUI";
"Nyxt - (.*)" = "󰀹 $1";
"(.*) - Discord" = "󰙯 $1";
"(.*) - Chromium" = " $1";
"Microsoft Teams - (.*)" = "󰊻 $1";
"Microsoft Teams classic" = "󰊻";
"Microsoft 365 - (.*)" = "󰏆 $1";
"NoMachine - (.*)" = "󰢹 $1";
};
separate-outputs = true;
};
mpris = {
"format" = "{player_icon} <b>{title}</b>";
"tooltip-format" = "{player_icon} ({player}) {dynamic}";
"interval" = 1;
"player-icons" = {
"default" = "󰲸";
"mpv" = "󰤽";
"ncspot" = "󰓇";
};
"status-icons" = {
"playing" = "󰐊";
"paused" = "󰏤";
"stopped" = "󰓛";
};
"ignored-players" = [ "firefox" "chromium" ];
};
pulseaudio = {
scroll-step = 5;
format = "{format_source}/{icon} {volume}%";
format-muted = "{format_source}/󰝟";
format-source = "󰍬";
format-source-muted = "󰍭";
format-icons = {
car = "󰄍";
default = [ "󰕿" "󰖀" "󰕾" ];
hands-free = "󰥰";
headset = "󰋎";
phone = "󰏲";
portable = "󰏳";
headphone = "󰋋";
};
on-click = "pavucontrol";
on-click-middle = "volumectl -m %";
on-click-right = "volumectl %";
on-scroll-up = "volumectl -u + 5";
on-scroll-down = "volumectl -u - 5";
};
disk = {
format = "󰋊 {percentage_used}%";
path = config.home.homeDirectory;
};
cpu = {
format = "󰻠 {usage}%";
tooltip = false;
};
memory = { format = "󰍛 {}%"; };
temperature = {
critical-threshold = 80;
format = "{icon} {temperatureC}°C";
format-icons = [ "󱃃" "󰔏" "󱃂" ];
};
clock = {
format = "{:󰃭 %Y-%m-%d 󰥔 %R}";
tooltip-format = "<tt><small>{calendar}</small></tt>";
calendar = {
mode = "month";
mode-mon-col = 3;
weeks-pos = "left";
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
days = "<span color='#ecc6d9'><b>{}</b></span>";
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
};
};
actions = {
on-click-right = "mode";
on-scroll-up = "shift_up";
on-scroll-down = "shift_down";
};
};
backlight = {
format = "{icon}";
tooltip-format = "{percent}%";
format-icons = [ "" "" "" "" "" "" "" "" "" ];
};
battery = {
states = {
warning = 30;
critical = 15;
};
format = "{icon}";
format-charging = "󰂄";
format-plugged = "󰚥";
tooltip-format = "{time} {capacity}%";
format-icons = [ "󱃍" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
};
tray = {
icon-size = 16;
show-passive-items = true;
spacing = 5;
};
};
};
}