Evie Litherland-Smith
50fa154a90
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
165 lines
4.8 KiB
Nix
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;
|
|
};
|
|
};
|
|
};
|
|
}
|