198 lines
5.5 KiB
Nix
198 lines
5.5 KiB
Nix
![]() |
{ config, lib, pkgs, ... }:
|
|||
|
|
|||
|
with lib;
|
|||
|
let
|
|||
|
username = config.modules.other.system.username;
|
|||
|
in
|
|||
|
{
|
|||
|
environment.systemPackages = with pkgs; [ waybar ];
|
|||
|
home-manager.users.${username} = {
|
|||
|
programs.waybar = {
|
|||
|
systemd.enable = true;
|
|||
|
settings = {
|
|||
|
main = {
|
|||
|
layer = "top";
|
|||
|
position = "top";
|
|||
|
modules-left = [
|
|||
|
"custom/os-icon"
|
|||
|
"hyprland/workspaces"
|
|||
|
];
|
|||
|
modules-center = [
|
|||
|
"backlight"
|
|||
|
"clock#time"
|
|||
|
"wireplumber"
|
|||
|
];
|
|||
|
modules-right = [
|
|||
|
"tray"
|
|||
|
"network"
|
|||
|
"battery"
|
|||
|
];
|
|||
|
# Modules
|
|||
|
"custom/os-icon" = {
|
|||
|
format = "\uf313"; #NixOS logo
|
|||
|
};
|
|||
|
battery = {
|
|||
|
interval = 10;
|
|||
|
states = {
|
|||
|
warning = 30;
|
|||
|
critical = 15;
|
|||
|
};
|
|||
|
format-time = "{H}:{M:02}";
|
|||
|
format = "{icon} {capacity}%";
|
|||
|
format-charging = " {capacity}%";
|
|||
|
format-charging-full = " {capacity}%";
|
|||
|
format-full = "{icon} {capacity}%";
|
|||
|
format-icons = [
|
|||
|
""
|
|||
|
""
|
|||
|
""
|
|||
|
""
|
|||
|
""
|
|||
|
];
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
"clock#time" = {
|
|||
|
interval = 10;
|
|||
|
format = "{:%H:%M}";
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
"clock#date" = {
|
|||
|
interval = 20;
|
|||
|
format = "{:%d.%m.%Y}";
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
memory = {
|
|||
|
interval = 5;
|
|||
|
format = " {used:0.1f}G/{total:0.1f}G";
|
|||
|
states = {
|
|||
|
warning = 70;
|
|||
|
critical = 90;
|
|||
|
};
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
network = {
|
|||
|
interval = 5;
|
|||
|
format-wifi = "{icon} {essid}";
|
|||
|
format-ethernet = "\udb80\ude01 {ifname}";
|
|||
|
format-disconnected = "\uf0202 Offline";
|
|||
|
format-alt = "\udb80\uddda {bandwidthDownBytes} \udb81\udd52 {bandwidthUpBytes} \udb82\ude5f {ipaddr}/{cidr}";
|
|||
|
format-icons = [
|
|||
|
"\udb82\udd28 "
|
|||
|
"\udb82\udd25 "
|
|||
|
"\udb82\udd22 "
|
|||
|
"\udb82\udd1f "
|
|||
|
"\udb82\udd2f "
|
|||
|
];
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
"hyprland/mode" = {
|
|||
|
format = "test{}";
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
"hyprland/window" = {
|
|||
|
format = "{}";
|
|||
|
max-length = 30;
|
|||
|
tooltip = false;
|
|||
|
rewrite = {
|
|||
|
"([Aa]lacritty|kitty)" = "\ue795 $1";
|
|||
|
"(.*) .{15} Mozilla Firefox" = "\ue745 $1";
|
|||
|
"(^Spotify.*)" = "\uf1bc $1";
|
|||
|
};
|
|||
|
};
|
|||
|
"hyprland/workspaces" = {
|
|||
|
disable-scroll-wraparound = true;
|
|||
|
smooth-scrolling-threshold = 4;
|
|||
|
enable-bar-scroll = true;
|
|||
|
format = "{icon}";
|
|||
|
format-icons = {
|
|||
|
"1" = "Ⅰ";
|
|||
|
"2" = "Ⅱ";
|
|||
|
"3" = "Ⅲ";
|
|||
|
"4" = "Ⅳ";
|
|||
|
"5" = "Ⅴ";
|
|||
|
"6" = "Ⅵ";
|
|||
|
"7" = "Ⅶ";
|
|||
|
"8" = "Ⅷ";
|
|||
|
"9" = "Ⅸ";
|
|||
|
"10" = "Ⅹ";
|
|||
|
"11" = "Ⅺ";
|
|||
|
"12" = "Ⅻ";
|
|||
|
};
|
|||
|
};
|
|||
|
"pulseaudio/slider" = {
|
|||
|
min = 0;
|
|||
|
max = 100;
|
|||
|
orientation = "horizontal";
|
|||
|
};
|
|||
|
pulseaudio = {
|
|||
|
format = "{icon} {volume}%";
|
|||
|
format-bluetooth = "{icon} {volume}%";
|
|||
|
format-muted = "";
|
|||
|
format-icons = {
|
|||
|
headphone = "";
|
|||
|
hands-free = "";
|
|||
|
headset = "";
|
|||
|
phone = "";
|
|||
|
portable = "";
|
|||
|
car = "";
|
|||
|
default = [
|
|||
|
""
|
|||
|
""
|
|||
|
];
|
|||
|
};
|
|||
|
scroll-step = 1;
|
|||
|
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
user = {};
|
|||
|
temperature = {
|
|||
|
critical-threshold = 90;
|
|||
|
interval = 5;
|
|||
|
format = " {icon} {temperatureC}°";
|
|||
|
format-icons = [
|
|||
|
""
|
|||
|
""
|
|||
|
""
|
|||
|
""
|
|||
|
""
|
|||
|
];
|
|||
|
tooltip = false;
|
|||
|
};
|
|||
|
backlight = {
|
|||
|
format = "{percent}% {icon} ";
|
|||
|
format-icons = [
|
|||
|
"\udb80\udf36"
|
|||
|
"\udb86\ude4e"
|
|||
|
"\udb86\ude4f"
|
|||
|
"\udb86\ude50"
|
|||
|
"\udb86\ude51"
|
|||
|
"\udb86\ude52"
|
|||
|
"\udb86\ude53"
|
|||
|
"\udb86\ude54"
|
|||
|
"\udb86\ude55"
|
|||
|
"\udb86\ude56"
|
|||
|
"\udb81\udee8"
|
|||
|
];
|
|||
|
};
|
|||
|
wireplumber = {
|
|||
|
format = "{icon} {volume}%";
|
|||
|
format-muted = "\udb81\udd81";
|
|||
|
format-icons = [
|
|||
|
"\uf026"
|
|||
|
"\uf027"
|
|||
|
"\udb81\udd7e"
|
|||
|
];
|
|||
|
};
|
|||
|
tray = {
|
|||
|
icon-size = 18;
|
|||
|
};
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
|
|||
|
};
|
|||
|
}
|