257 lines
7.5 KiB
Nix
257 lines
7.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
environment.systemPackages = with pkgs; [waybar];
|
|
|
|
nixpkgs.overlays = [
|
|
# Waybar needs to be compiled with the experimental flag for wlr/workspaces to work
|
|
(self: super: {
|
|
waybar = super.waybar.overrideAttrs (oldAttrs: {
|
|
mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
|
|
});
|
|
})
|
|
];
|
|
|
|
home-manager.users.tom = {
|
|
# Home-manager waybar config
|
|
programs.waybar = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
style = ''
|
|
/*
|
|
*
|
|
* Catppuccin Mocha palette
|
|
* Maintainer: rubyowo
|
|
*
|
|
*/
|
|
@define-color base #1e1e2e;
|
|
@define-color mantle #181825;
|
|
@define-color crust #11111b;
|
|
|
|
@define-color text #cdd6f4;
|
|
@define-color subtext0 #a6adc8;
|
|
@define-color subtext1 #bac2de;
|
|
|
|
@define-color surface0 #313244;
|
|
@define-color surface1 #45475a;
|
|
@define-color surface2 #585b70;
|
|
|
|
@define-color overlay0 #6c7086;
|
|
@define-color overlay1 #7f849c;
|
|
@define-color overlay2 #9399b2;
|
|
|
|
@define-color blue #89b4fa;
|
|
@define-color lavender #b4befe;
|
|
@define-color sapphire #74c7ec;
|
|
@define-color sky #89dceb;
|
|
@define-color teal #94e2d5;
|
|
@define-color green #a6e3a1;
|
|
@define-color yellow #f9e2af;
|
|
@define-color peach #fab387;
|
|
@define-color maroon #eba0ac;
|
|
@define-color red #f38ba8;
|
|
@define-color mauve #cba6f7;
|
|
@define-color pink #f5c2e7;
|
|
@define-color flamingo #f2cdcd;
|
|
@define-color rosewater #f5e0dc;
|
|
|
|
* {
|
|
border: none;
|
|
font-family: JetBrainsMono Nerd Font;
|
|
}
|
|
|
|
window#waybar {
|
|
background-color: rgba(48, 52, 70, 0.0);
|
|
transition-property: background-color;
|
|
transition-duration: .5s;
|
|
border-bottom: none;
|
|
}
|
|
|
|
window#waybar.hidden {
|
|
opacity: 0.2;
|
|
}
|
|
|
|
#workspace,
|
|
#mode,
|
|
#clock,
|
|
.binary-clock,
|
|
#pulseaudio,
|
|
#network,
|
|
#mpd,
|
|
#memory,
|
|
#network,
|
|
#window,
|
|
#cpu,
|
|
#disk,
|
|
#battery,
|
|
#tray {
|
|
background-color: @mantle;
|
|
padding: 0 12px;
|
|
margin: 4px 4px 4px 4px;
|
|
border-radius: 90px;
|
|
background-clip: padding-box;
|
|
}
|
|
#workspaces button {
|
|
padding: 0 5px;
|
|
color: @surface2;
|
|
min-width: 20px;
|
|
}
|
|
#workspaces button:hover {
|
|
background-color: rgba(0, 0, 0, 0.2);
|
|
}
|
|
#workspaces button.focused, #workspaces button.active {
|
|
color: @mauve;
|
|
}
|
|
#workspaces button.urgent {
|
|
color: @red;
|
|
}
|
|
#mode {
|
|
color: @red;
|
|
}
|
|
#disk {
|
|
color: @teal;
|
|
}
|
|
#cpu {
|
|
color: @peach;
|
|
}
|
|
#memory {
|
|
color: @mauve;
|
|
}
|
|
#clock {
|
|
color: @surface2;
|
|
}
|
|
#window {
|
|
color: @green;
|
|
}
|
|
#battery {
|
|
color: @surface2;
|
|
}
|
|
#battery.warning {
|
|
color: @peach;
|
|
}
|
|
#battery.critical {
|
|
color: @red;
|
|
}
|
|
#battery.charging {
|
|
color: @surface2;
|
|
}
|
|
#network {
|
|
color: @mauve;
|
|
}
|
|
#pulseaudio {
|
|
color: @surface2;
|
|
}
|
|
#pulseaudio.muted {
|
|
color: @surface2;
|
|
background-color: #252734;
|
|
}
|
|
'';
|
|
settings = [
|
|
{
|
|
bar_id = "bar-0";
|
|
ipc = true;
|
|
layer = "top";
|
|
position = "top";
|
|
height = 30;
|
|
tray = {
|
|
icon-size = 14;
|
|
spacing = 10;
|
|
show-passive-items = true;
|
|
};
|
|
modules-left = ["wlr/workspaces"];
|
|
modules-center = [];
|
|
modules-right = ["battery" "battery#bat1" "pulseaudio" "clock" "tray"];
|
|
"wlr/workspaces" = {
|
|
format = "<span font='14'>{icon}</span>";
|
|
format-icons = {
|
|
"1" = "";
|
|
"2" = "";
|
|
"3" = "";
|
|
};
|
|
all-outputs = true;
|
|
persistent_workspaces = {};
|
|
};
|
|
clock = {
|
|
format = "{:%b %d %H:%M} <span font='14'></span>";
|
|
tooltip-format = ''
|
|
<big>{:%Y %B}</big>
|
|
<tt><small>{calendar}</small></tt>'';
|
|
format-alt = "{:%A, %B %d, %Y} ";
|
|
};
|
|
cpu = {
|
|
format = "{usage}% <span font='14'></span>";
|
|
tooltip = false;
|
|
interval = 1;
|
|
};
|
|
disk = {
|
|
format = "{percentage_used}% <span font='14'></span>";
|
|
path = "/";
|
|
interval = 30;
|
|
};
|
|
memory = {
|
|
format = "{}% <span font='14'></span>";
|
|
interval = 1;
|
|
};
|
|
battery = {
|
|
bat = "BAT0";
|
|
interval = 60;
|
|
states = {
|
|
warning = 30;
|
|
critical = 15;
|
|
};
|
|
format = "{capacity}% <span font='14'>{icon}</span>";
|
|
format-charging = "{capacity}% <span font='14'></span>";
|
|
format-icons = ["" "" "" "" ""];
|
|
max-length = 25;
|
|
};
|
|
"battery#bat1" = {
|
|
bat = "BAT1";
|
|
interval = 60;
|
|
states = {
|
|
warning = 30;
|
|
critical = 15;
|
|
};
|
|
format = "{capacity}% <span font='16'>{icon}</span>";
|
|
format-charging = "{capacity}% <span font='14'></span>";
|
|
format-icons = ["" "" "" "" ""];
|
|
max-length = 25;
|
|
};
|
|
network = {
|
|
format-wifi = "<span font='14'></span>";
|
|
format-ethernet = "<span font='14'></span> {ifname}: {ipaddr}/{cidr}";
|
|
format-linked = "<span font='14'>睊</span> {ifname} (No IP)";
|
|
format-disconnected = "<span font='14'>睊</span> Not connected";
|
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
|
tooltip-format = "{essid} {signalStrength}%";
|
|
on-click-right = "${pkgs.alacritty}/bin/alacritty -e nmtui";
|
|
};
|
|
pulseaudio = {
|
|
format = "<span font='14'>{icon}</span> {volume}% {format_source}";
|
|
format-bluetooth = "<span font='14'>{icon}</span> {volume}% {format_source}";
|
|
format-bluetooth-muted = "<span font='14'></span> {volume}% {format_source}";
|
|
format-muted = "<span font='13'></span> {format_source}";
|
|
format-source = "{volume}% <span font='11'></span>";
|
|
format-source-muted = "<span font='11'></span>";
|
|
format-icons = {
|
|
default = ["" "" ""];
|
|
headphone = "";
|
|
hands-free = "";
|
|
headset = "";
|
|
phone = "";
|
|
portable = "";
|
|
car = "";
|
|
};
|
|
tooltip-format = "{desc}, {volume}%";
|
|
on-click = "${pkgs.pamixer}/bin/pamixer -t";
|
|
on-click-right = "${pkgs.pamixer}/bin/pamixer --default-source -t";
|
|
on-click-middle = "${pkgs.pavucontrol}/bin/pavucontrol";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|