new waybar

This commit is contained in:
notgne2 2021-09-27 12:27:14 -07:00
parent 4c6082972e
commit 25ce5a7780
No known key found for this signature in database
GPG Key ID: BB661E172B42A7F8
3 changed files with 196 additions and 254 deletions

View File

@ -1,117 +0,0 @@
name: base16:
''
window#waybar {
background-color: #${base16."base00"};
border-bottom: 3px solid #${base16."base01"};
color: #${base16."base0B"};
}
#workspaces button {
background-color: #${base16."base00"};
color: #${base16."base0B"};
border-bottom: 3px solid #${base16."base01"};
}
#workspaces button:hover {
background: #${base16."base00"};
border-bottom: 3px solid #${base16."base01"};
}
#workspaces button.focused {
background-color: #${base16."base02"};
border-bottom: 3px solid #${base16."base01"};
}
#clock {
background-color: #${base16."base01"};
color: #${base16."base0B"};
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#battery.charging {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
}
#cpu {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#memory {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#backlight {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#network {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#network.disconnected {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#pulseaudio {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#pulseaudio.muted {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#temperature {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#temperature.critical {
background-color: #${base16."base0D"};
color: #${base16."base00"};
}
#mpd {
background-color: #${base16."base0E"};
color: #${base16."base00"};
}
#mpd.disconnected {
background-color: #${base16."base08"};
color: #${base16."base00"};
}
#mpd.stopped {
background-color: #${base16."base00"};
color: #${base16."base0B"};
}
#mpd.paused {
background-color: #${base16."base09"};
color: #${base16."base00"};
}
''

View File

@ -1,111 +0,0 @@
{
layer = "top";
height = 30;
modules-left = [ "sway/workspaces" "sway/mode" "custom/media" ];
modules-center = [ "sway/window" ];
modules-right = [
"mpd"
"idle_inhibitor"
"pulseaudio"
"network"
"cpu"
"memory"
"temperature"
"backlight"
"battery"
"battery#bat2"
"clock"
"tray"
];
"sway/mode" = { format = ''<span style="italic">{}</span>''; };
mpd = {
format =
"{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ";
format-disconnected = "Disconnected ";
format-stopped =
"{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
unknown-tag = "N/A";
interval = 2;
consume-icons = { on = " "; };
random-icons = {
off = ''<span color="#f53c3c"></span> '';
on = " ";
};
repeat-icons = { on = " "; };
single-icons = { on = "1 "; };
state-icons = {
paused = "";
playing = "";
};
tooltip-format = "MPD (connected)";
tooltip-format-disconnected = "MPD (disconnected)";
};
tray = { spacing = 10; };
clock = {
tooltip-format = "{:%Y-%m-%d | %H:%M}";
format-alt = "{:%Y-%m-%d}";
};
cpu = {
format = "{usage}% ";
tooltip = false;
};
memory = { format = "{}% "; };
temperature = {
critical-threshold = 80;
format = "{temperatureC}°C {icon}";
format-icons = [ "" "" "" ];
};
backlight = {
format = "{percent}% {icon}";
format-icons = [ "" "" ];
};
battery = {
states = {
warning = 30;
critical = 15;
};
format = "{capacity}% {icon}";
format-charging = "{capacity}% ";
format-plugged = "{capacity}% ";
format-alt = "{time} {icon}";
format-icons = [ "" "" "" "" "" ];
};
"battery#bat2" = { bat = "BAT2"; };
network = {
format-wifi = "{essid} ({signalStrength}%) ";
format-ethernet = "{ifname}: {ipaddr}/{cidr} ";
format-linked = "{ifname} (No IP) ";
format-disconnected = "Disconnected ";
format-alt = "{ifname}: {ipaddr}/{cidr}";
};
pulseaudio = {
format = "{volume}% {icon} {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = "{volume}% ";
format-source-muted = "";
format-icons = {
headphones = "";
handsfree = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [ "" "" "" ];
};
on-click = "pavucontrol";
};
"custom/media" = {
format = "{icon} {}";
return-type = "json";
max-length = 40;
format-icons = {
spotify = "";
default = "🎜";
};
escape = true;
exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null";
};
}

View File

@ -507,40 +507,203 @@ let
settings = [
({
modules-left = [ "sway/workspaces" "sway/mode" ];
modules-center = [ "clock" "mpd" ];
modules-right = (lib.optional cfg.battery "battery")
++ [ "pulseaudio" "network" "memory" "cpu" "temperature" "tray" ];
position = "left";
width = 50;
height = null;
modules.network.format-wifi = "{signalStrength}% ";
modules.network.format-alt = "{ipaddr}";
modules.pulseaudio.format = "{volume}% ";
modules.memory.format = "{}% ";
modules.mpd.rotate = 90;
modules.temperature = {
format = "{temperatureC}°C {icon}";
format-icons = [ "" "" "" ];
modules-left = [ "sway/workspaces" "custom/right-arrow-dark" "custom/right-arrow-light" "custom/weather-temp" "custom/weather-precip" "custom/weather-wind" "custom/right-arrow-dark" ];
modules-center = [ "custom/left-arrow-dark" "clock#1" "clock#2" "custom/left-arrow-light" "custom/left-arrow-dark" "mpd" "custom/right-arrow-dark" "custom/right-arrow-light" "clock#3" "custom/right-arrow-dark" ];
modules-right = [ "custom/left-arrow-dark" "pulseaudio" "custom/left-arrow-light" "custom/left-arrow-dark" "memory" "custom/left-arrow-light" "custom/left-arrow-dark" "cpu" "custom/left-arrow-light" "custom/left-arrow-dark" ] ++ lib.optionals cfg.battery [ "battery" "custom/left-arrow-light" "custom/left-arrow-dark" ] ++ [ "tray" ];
modules = {
"custom/left-arrow-dark" = {
format = "";
tooltip = false;
rotate = 270;
};
"custom/left-arrow-light" = {
format = "";
tooltip = false;
rotate = 270;
};
"custom/right-arrow-dark" = {
format = "";
tooltip = false;
rotate = 270;
};
"custom/right-arrow-light" = {
format = "";
tooltip = false;
rotate = 270;
};
"custom/weather-temp" = {
exec = "${pkgs.curl}/bin/curl 'wttr.in/${cfg.location}?format=%c+%t'";
on-click = "${pkgs.xdg-utils}/bin/xdg-open 'https://weather.com/weather/today/l/85625'";
on-click-right = "${pkgs.xdg-utils}/bin/xdg-open 'https://wttr.in/${cfg.location}'";
interval = 3600;
};
"custom/weather-precip" = {
exec = "${pkgs.curl}/bin/curl 'wttr.in/${cfg.location}?format=🌧+%p'";
on-click = "${pkgs.xdg-utils}/bin/xdg-open 'https://www.lightningmaps.org/'";
on-click-right = "${pkgs.xdg-utils}/bin/xdg-open 'https://wttr.in/${cfg.location}'";
interval = 3600;
};
"custom/weather-wind" = {
exec = "${pkgs.curl}/bin/curl 'wttr.in/${cfg.location}?format=🌬+%w'";
on-click = "${pkgs.xdg-utils}/bin/xdg-open 'https://www.ventusky.com/";
on-click-right = "${pkgs.xdg-utils}/bin/xdg-open 'https://wttr.in/${cfg.location}'";
interval = 3600;
};
mpd = {
rotate = 90;
max-length = 40;
format = "{stateIcon} {artist} - {title}";
format-stopped = " STOPPED";
state-icons = {
paused = "";
playing = "";
};
};
"sway/workspaces" = {
disable-scroll = true;
};
"clock#1" = {
tooltip = false;
format = "{:%a}";
};
"clock#2" = {
tooltip = false;
format = "{:%m-%d}";
};
"clock#3" = {
tooltip = false;
format = "{:%H:%M}";
};
pulseaudio = {
format = "{icon} {volume}%";
format-bluetooth = "{icon} {volume}%";
format-muted = "MUTE";
format-icons = {
headphone = "";
default = "";
};
on-click = "${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol";
};
memory = {
interval = 10;
format = " {}%";
};
cpu = {
interval = 10;
format = " {usage}%";
};
battery = {
states = {
good = 90;
warning = 25;
critical = 10;
};
format = "{icon} {capacity}%";
format-icons = [ "" "" "" "" "" ];
};
tray = {
icon-size = 18;
spacing = 5;
};
};
} // cfg.waybarConfig)
];
style =
(
builtins.readFile "${pkgs.waybar}/etc/xdg/waybar/style.css" + "\n" + config.colors.waybarCss + "\n" + ''
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #tray, #mode, #temperature, #clock, #mpd {
margin: 3px 0;
padding: 5px 2px;
}
style = ''
window#waybar {
background: #${config.colors.base16.base01};
color: #${config.colors.base16.base06};
}
* {
font-family: "${config.fonts.favFont.name}";
font-size: ${toString config.fonts.favFont.size}px;
}
''
);
#custom-right-arrow-dark,
#custom-left-arrow-dark {
color: #${config.colors.base16.base00};
font-size: 15px;
}
#custom-right-arrow-light,
#custom-left-arrow-light {
color: #${config.colors.base16.base01};
background: #${config.colors.base16.base00};
font-size: 15px;
}
#workspaces,
#clock.1,
#clock.2,
#clock.3,
#pulseaudio,
#memory,
#cpu,
#battery,
#disk,
#tray,
#mode,
#custom-weather-temp,
#custom-weather-precip,
#custom-weather-wind,
#mpd {
background: #${config.colors.base16.base00};
padding: 5px 0;
}
#clock.1 { padding: 5px 0 0 0; }
#clock.2 { padding: 0 0 5px 0; }
#custom-weather-temp { padding: 5px 0 0 0; }
#custom-weather-precip { padding: 5px 0; }
#custom-weather-wind { padding: 0 0 5px 0; }
#mpd.playing {
color: #${config.colors.base16.base0A};
}
#workspaces button {
padding: 0 2px;
}
#workspaces button.focused {
color: #${config.colors.base16.base0A};
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
}
#workspaces button:hover {
background: #${config.colors.base16.base02};
}
#pulseaudio {
color: #${config.colors.base16.base0B};
}
#memory {
color: #${config.colors.base16.base0C};
}
#cpu {
color: #${config.colors.base16.base0D};
}
#battery {
color: #${config.colors.base16.base0E};
}
* {
font-family: "${config.fonts.favFont.name}";
font-size: ${toString (config.fonts.favFont.size + 1)}px;
}
'';
};
programs.mako.enable = true;
@ -888,6 +1051,13 @@ in
default = false;
description = "If this PC has a battery";
};
location = mkOption {
description = "Your location (used for weather)";
example = "US-12345";
default = "";
type = types.str;
};
};
config = mkIf cfg.enable (