new waybar skeleton done, beginning work on CSS theme
This commit is contained in:
@@ -41,8 +41,8 @@
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
username = "pagedmov";
|
||||
wallpaper = "${self}/media/wallpapers/cabin-2.jpg";
|
||||
base16scheme = "chalk"; # can be easily changed with the chscheme script
|
||||
wallpaper = "${self}/media/wallpapers/nord-balloons.png";
|
||||
base16scheme = "nord"; # can be easily changed with the chscheme script
|
||||
|
||||
# Map colors from yaml to attribute set
|
||||
# Extracting colors into a set here allows them to be propagated across the entire config
|
||||
|
||||
BIN
media/wallpapers/nord-balloons.png
Normal file
BIN
media/wallpapers/nord-balloons.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 311 KiB |
@@ -1,136 +1,87 @@
|
||||
{...}:
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# Grocery list:
|
||||
# Clock
|
||||
# CPU/MEM meters
|
||||
# Home folder and Nix store storage tracking?
|
||||
# Workspaces (per monitor would be nice)
|
||||
# A separate bar for both monitors
|
||||
# secondary monitor will have a vertical bar on the left side
|
||||
# Can contain more info with two bars
|
||||
let
|
||||
workspaces = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"HDMI-A-1" = [ 1 2 3 ];
|
||||
"DP-1" = [ 4 5 6 ];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
programs.waybar.settings.mainBar = {
|
||||
layer = "top";
|
||||
position = "left";
|
||||
mod = "dock";
|
||||
margin-left = 4;
|
||||
margin-right = 0;
|
||||
margin-top = 4;
|
||||
margin-bottom = 4;
|
||||
exclusive = true;
|
||||
passthrough = false;
|
||||
"gtk-layer-shell" = true;
|
||||
reload_style_on_change = true;
|
||||
layer = "bottom";
|
||||
output = "DP-1";
|
||||
position = "top";
|
||||
name = "mainBar";
|
||||
mode = "dock";
|
||||
|
||||
modules-left = [
|
||||
"custom/spacer"
|
||||
"hyprland/workspaces"
|
||||
"custom/spacer"
|
||||
"cava"
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"group/expand"
|
||||
"group/expand-3"
|
||||
"network"
|
||||
modules-center = [
|
||||
"clock"
|
||||
"upower"
|
||||
"custom/notification"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/disk-icon"
|
||||
"memory"
|
||||
"cpu"
|
||||
"group/powerbtns"
|
||||
];
|
||||
|
||||
"custom/led" = {
|
||||
format = "<span color='#AFAFAF'></span><span color='#AFAFAF'> </span>";
|
||||
format-alt = "<span color='#83A1F6'> </span>";
|
||||
on-click = "~/mouse.sh";
|
||||
rotate = 90;
|
||||
tooltip = false;
|
||||
"hyprland/workspaces" = workspaces;
|
||||
|
||||
cava = {
|
||||
framerate = 30;
|
||||
autosens = 1;
|
||||
sensitivity = 1;
|
||||
bars = 14;
|
||||
lower_cutoff_freq = 50;
|
||||
higher_cutoff_freq = 10000;
|
||||
method = "pulse";
|
||||
source = "auto";
|
||||
stereo = true;
|
||||
reverse = true;
|
||||
bar_delimiter = 0;
|
||||
monstercat = false;
|
||||
waves = false;
|
||||
noise_reduction = 0.77;
|
||||
input_delay = 2;
|
||||
format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
|
||||
};
|
||||
|
||||
"group/expand-3" = {
|
||||
orientation = "vertical";
|
||||
drawer = {
|
||||
"transition-duration" = 600;
|
||||
"children-class" = "not-power";
|
||||
"transition-to-left" = false;
|
||||
"click-to-reveal" = false;
|
||||
};
|
||||
modules = [
|
||||
"pulseaudio"
|
||||
"pulseaudio/slider"
|
||||
];
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%I\n%M}";
|
||||
interval = 1;
|
||||
rotate = 0;
|
||||
on-click = "/usr/local/bin/ags -t ActivityCenter";
|
||||
tooltip-format = "<tt>{calendar}</tt>";
|
||||
|
||||
calendar = {
|
||||
mode = "month";
|
||||
"mode-mon-col" = 3;
|
||||
"on-scroll" = 1;
|
||||
"on-click-right" = "mode";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b>{}</b></span>";
|
||||
};
|
||||
};
|
||||
|
||||
actions = {
|
||||
"on-click-right" = "mode";
|
||||
"on-click-forward" = "tz_up";
|
||||
"on-click-backward" = "tz_down";
|
||||
"on-scroll-up" = "shift_up";
|
||||
"on-scroll-down" = "shift_down";
|
||||
};
|
||||
};
|
||||
|
||||
upower = {
|
||||
icon-size = 20;
|
||||
format = "";
|
||||
on-click = "/home/anik/battery.sh";
|
||||
tooltip = true;
|
||||
rotate = 0;
|
||||
tooltip-spacing = 20;
|
||||
on-click-right = "pkill waybar & hyprctl dispatch exec waybar";
|
||||
};
|
||||
|
||||
"upower#headset" = {
|
||||
format = " {percentage}";
|
||||
"native-path" = "/org/freedesktop/UPower/devices/headset_dev_A6_98_9A_0D_D3_49";
|
||||
"show-icon" = false;
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
"group/expand-4" = {
|
||||
orientation = "horizontal";
|
||||
drawer = {
|
||||
"transition-duration" = 600;
|
||||
"children-class" = "not-power";
|
||||
"transition-to-left" = true;
|
||||
"click-to-reveal" = true;
|
||||
};
|
||||
modules = ["upower" "upower/headset"];
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = ["" "" ""];
|
||||
rotate = 0;
|
||||
format-ethernet = " ";
|
||||
tooltip-format = ''
|
||||
Network: <big><b>{essid}</b></big>\n
|
||||
Signal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\n
|
||||
Frequency: <b>{frequency}MHz</b>\n
|
||||
Interface: <b>{ifname}</b>\n
|
||||
IP: <b>{ipaddr}/{cidr}</b>\n
|
||||
Gateway: <b>{gwaddr}</b>\n
|
||||
Netmask: <b>{netmask}</b>
|
||||
"custom/disk-icon" = {
|
||||
exec = ''
|
||||
df /dev/disk/by-partlabel/disk-main-home | awk '$6 == "/home" {printf "{\"class\": \"disk-icon\", \"tooltip\": \"/home: %.1fGB / %.1fTB\", \"percentage\": \"%.0f\"}\n", $3 / 1024 / 1024, $2 / 1024 / 1024 / 1024, $5}' | jq --unbuffered --compact-output
|
||||
'';
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = "";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
|
||||
"custom/smallspacer" = {
|
||||
format = " ";
|
||||
rotate = 0;
|
||||
interval = 300;
|
||||
return-type = "json";
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
"" "" "" "" "" "" "" "" ""
|
||||
];
|
||||
};
|
||||
|
||||
memory = {
|
||||
@@ -145,157 +96,97 @@
|
||||
|
||||
cpu = {
|
||||
interval = 1;
|
||||
format = "{icon}";
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
"" "" "" "" "" "" "" "" ""
|
||||
];
|
||||
};
|
||||
|
||||
"mpris" = {
|
||||
format = " {player_icon}";
|
||||
rotate = 90;
|
||||
"format-paused" = "<span color='#2d2d2e'> {status_icon}</span>";
|
||||
"max-length" = 6;
|
||||
"player-icons" = {
|
||||
default = "";
|
||||
mpv = "";
|
||||
};
|
||||
"status-icons" = {
|
||||
paused = "";
|
||||
};
|
||||
};
|
||||
|
||||
tray = {
|
||||
"icon-size" = 16;
|
||||
rotate = 0;
|
||||
spacing = 3;
|
||||
};
|
||||
|
||||
"group/expand" = {
|
||||
orientation = "vertical";
|
||||
drawer = {
|
||||
"transition-duration" = 600;
|
||||
"children-class" = "not-power";
|
||||
"transition-to-left" = true;
|
||||
};
|
||||
modules = ["custom/menu" "custom/spacer" "tray"];
|
||||
};
|
||||
|
||||
"custom/menu" = {
|
||||
format = "";
|
||||
rotate = 0;
|
||||
};
|
||||
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
rotate = 0;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
notification = "";
|
||||
none = "";
|
||||
"dnd-notification" = "";
|
||||
"dnd-none" = "";
|
||||
"inhibited-notification" = "";
|
||||
"inhibited-none" = "";
|
||||
"dnd-inhibited-notification" = "";
|
||||
"dnd-inhibited-none" = "";
|
||||
};
|
||||
"return-type" = "json";
|
||||
"exec-if" = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
"on-click-right" = "swaync-client -d -sw";
|
||||
"on-click" = "swaync-client -t -sw";
|
||||
escape = true;
|
||||
};
|
||||
|
||||
"hyprland/window" = {
|
||||
format = "<span weight='bold' >{class}</span>";
|
||||
"on-click-right" = "pkill waybar & hyprctl dispatch exec waybar";
|
||||
rotate = 90;
|
||||
"max-length" = 120;
|
||||
icon = false;
|
||||
"icon-size" = 13;
|
||||
};
|
||||
|
||||
"custom/power" = {
|
||||
format = "@{}";
|
||||
rotate = 0;
|
||||
"on-click" = "ags -t ControlPanel";
|
||||
"on-click-right" = "pkill ags";
|
||||
tooltip = true;
|
||||
on-click = "shutdown now";
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
};
|
||||
|
||||
"custom/spacer" = {
|
||||
format = "|";
|
||||
rotate = 90;
|
||||
"custom/logout" = {
|
||||
on-click = "hyprctl dispatch exit";
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
"format-icons" = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
"custom/reboot" = {
|
||||
on-click = "reboot";
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
};
|
||||
|
||||
"wlr/workspaces" = {
|
||||
"persistent-workspaces" = {
|
||||
"1" = ["HDMI-A-1"];
|
||||
"2" = ["HDMI-A-1"];
|
||||
"3" = ["HDMI-A-1"];
|
||||
"4" = ["DP-1"];
|
||||
"5" = ["DP-1"];
|
||||
"6" = ["DP-1"];
|
||||
"group/powerbtns" = {
|
||||
orientation = "horizontal";
|
||||
drawer = {
|
||||
transition-duration = 500;
|
||||
children-class = "power-drawer";
|
||||
transition-left-to-right = false;
|
||||
};
|
||||
modules = [
|
||||
"custom/power"
|
||||
"custom/logout"
|
||||
"custom/reboot"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
programs.waybar.settings.sideBar = {
|
||||
layer = "bottom";
|
||||
output = "HDMI-A-1";
|
||||
position = "right";
|
||||
name = "sideBar";
|
||||
mode = "dock";
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-center = [
|
||||
"tray"
|
||||
];
|
||||
modules-right = [
|
||||
"pulseaudio/slider"
|
||||
"pulseaudio"
|
||||
"network"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = workspaces;
|
||||
|
||||
"pulseaudio/slider" = {
|
||||
orientation = "vertical";
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
format = "{icon}";
|
||||
rotate = 0;
|
||||
format-muted = "婢";
|
||||
tooltip-format = "{icon} {desc} // {volume}%";
|
||||
scroll-step = 5;
|
||||
|
||||
format-muted = " ";
|
||||
format-icons = {
|
||||
headphone = " ";
|
||||
"hands-free" = " ";
|
||||
headset = " ";
|
||||
phone = " ";
|
||||
portable = " ";
|
||||
car = " ";
|
||||
default = ["" " " " "];
|
||||
default = [
|
||||
" "
|
||||
" "
|
||||
];
|
||||
};
|
||||
};
|
||||
"pulseaudio/slider" = {
|
||||
min = 5;
|
||||
max = 100;
|
||||
rotate = 0;
|
||||
device = "pulseaudio";
|
||||
scroll-step = 1;
|
||||
orientation = "vertical";
|
||||
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
on-click-right = "hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'";
|
||||
};
|
||||
|
||||
cava = {
|
||||
"cava_config" = "~/.config/cava/config";
|
||||
framerate = 60;
|
||||
autosens = 1;
|
||||
bars = 14;
|
||||
"lower_cutoff_freq" = 50;
|
||||
"higher_cutoff_freq" = 10000;
|
||||
method = "pulse";
|
||||
source = "auto";
|
||||
stereo = true;
|
||||
reverse = false;
|
||||
"bar_delimiter" = 0;
|
||||
monstercat = false;
|
||||
waves = false;
|
||||
"noise_reduction" = 0.77;
|
||||
"input_delay" = 2;
|
||||
"format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
|
||||
actions = {
|
||||
"on-click-right" = "mode";
|
||||
};
|
||||
network = {
|
||||
interval = 30;
|
||||
format-wifi = " ";
|
||||
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
||||
format-ethernet = " ";
|
||||
tooltip-format-ethernet = "{ifname}";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -29,181 +29,5 @@ let
|
||||
in
|
||||
{
|
||||
programs.waybar.style = ''
|
||||
* {
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 14;
|
||||
}
|
||||
|
||||
#battery {
|
||||
font-weight: normal;
|
||||
font-size: 22px;
|
||||
color: #a6d189;
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#tray menu * {
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
color: #FBF1C7;
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
box-shadow: none;
|
||||
font-size: 4px;
|
||||
border-radius: 9px;
|
||||
color: #A1BDCE;
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: #${bg.darkester};
|
||||
color: #${fg.lighter};
|
||||
font-size: 13px;
|
||||
border-radius: 7px;
|
||||
border: 2px solid #${bg.dark};
|
||||
background: #${bg.darkest};
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
opacity: 0.85;
|
||||
background: #${bg.darkester};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-weight: normal;
|
||||
color: transparent;
|
||||
margin-left: -5px;
|
||||
margin-top: 0px;
|
||||
border: 0px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#backlight-slider slider,
|
||||
#pulseaudio-slider slider {
|
||||
background: #${colors.color3};
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#backlight-slider trough,
|
||||
#pulseaudio-slider trough {
|
||||
min-width: 9px;
|
||||
min-height: 90px;
|
||||
border-radius: 8px;
|
||||
background: #343434;
|
||||
}
|
||||
|
||||
#backlight-slider highlight,
|
||||
#pulseaudio-slider highlight {
|
||||
border-radius: 8px;
|
||||
background-color: #2096C0;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
font-weight: normal;
|
||||
font-size: 18px;
|
||||
color: #${colors.color3};
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
margin: 4px;
|
||||
margin-bottom: 0px;
|
||||
border: 2px solid @unfocused_borders;
|
||||
border-bottom: 2px solid #151515;
|
||||
border-radius: 6px;
|
||||
border-bottom-left-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
}
|
||||
|
||||
#network {
|
||||
font-size: 19px;
|
||||
color: #${colors.color4};
|
||||
background: #${bg.darkest};
|
||||
margin: 4px;
|
||||
margin-top: 0;
|
||||
border: 2px solid @unfocused_borders;
|
||||
border-top: 2px solid #151515;
|
||||
border-radius: 6px;
|
||||
border-top-left-radius: 0px;
|
||||
border-top-right-radius: 0px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: #${colors.color6};
|
||||
font-size: 15px;
|
||||
font-weight: 900;
|
||||
font-family: "CaskaydiaCove Nerd Font Mono";
|
||||
background: #${bg.darkest};
|
||||
margin: 4px;
|
||||
border-radius: 6px;
|
||||
border: 2px solid @unfocused_borders;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
font-size: 21px;
|
||||
color: #${colors.color7};
|
||||
background: #${bg.darkest};
|
||||
margin: 4px;
|
||||
border: 2px solid @unfocused_borders;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
font-size: 15px;
|
||||
color: #FFFFFF;
|
||||
background: rgba(22, 19, 32, 0.9);
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
color: #${fg.lighter};
|
||||
font-weight: normal;
|
||||
font-size: 19px;
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#custom-spacer {
|
||||
opacity: 0.0;
|
||||
}
|
||||
|
||||
#tray menu separator {
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
|
||||
#cpu {
|
||||
font-weight: normal;
|
||||
font-size: 22px;
|
||||
color: #${fg.lighter};
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#memory {
|
||||
font-weight: normal;
|
||||
font-size: 22px;
|
||||
color: #${fg.lighter};
|
||||
background: #${bg.darkest};
|
||||
border: 2px solid #${bg.dark};
|
||||
border-radius: 6px;
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
desc = "Load previous session window settings for the opened file (folds, cursor pos, etc)";
|
||||
}
|
||||
{
|
||||
command = "setlocal textwidth = 135";
|
||||
command = "setlocal textwidth=135";
|
||||
event = ["BufWinEnter" "BufEnter"];
|
||||
pattern = ["*.md" "*.wiki" "*.txt"];
|
||||
desc = "Set automatic linebreaks in plain text file formats";
|
||||
|
||||
Reference in New Issue
Block a user