nix/home-manager/hosts/nixos-laptop/desktops/hyprland/gruvbox/waybar/waybar-conf2.nix

241 lines
7 KiB
Nix
Raw Normal View History

2023-08-28 05:08:58 +02:00
{ hostname, ...}: {
2023-08-28 12:43:02 +02:00
imports = [ ./scripts/waybar-scripts.nix ];
2023-08-28 12:35:59 +02:00
2023-08-28 05:08:58 +02:00
home.file = {
# https://yewtu.be/watch?v=tWQB1NDDA9c
# https://github.com/DN-debug/waybar-examples
2023-08-28 08:32:21 +02:00
2023-08-28 05:34:37 +02:00
# Inspiration:
# https://github.com/Pipshag/dotfiles_gruvbox
# Font Search:
# https://www.nerdfonts.com/cheat-sheet
2023-08-28 08:32:21 +02:00
# Online CSS testing
# https://www.w3schools.com/css/tryit.asp?filename=trycss_border_round
2023-08-28 05:08:58 +02:00
# Waybar configuration
".config/waybar/config.jsonc" = {
enable = true;
executable = false;
text = ''
{
"layer": "top",
"position": "top",
"modules-left": [
"wlr/workspaces",
],
"modules-center": [
2023-08-28 12:01:49 +02:00
2023-08-28 05:08:58 +02:00
],
"modules-right": [
"mpris",
2023-08-28 12:11:13 +02:00
"idle_inhibitor",
2023-08-28 05:08:58 +02:00
"pulseaudio",
2023-08-28 12:35:59 +02:00
"custom/tailscale",
2023-08-28 05:08:58 +02:00
"network",
"battery",
2023-08-28 08:32:21 +02:00
"clock"
2023-08-28 05:08:58 +02:00
],
2023-08-28 12:35:59 +02:00
"custom/tailscale": {
2023-08-28 13:45:33 +02:00
"format": "{icon} {}",
2023-08-28 13:35:07 +02:00
"exec": "$HOME/.config/waybar/scripts/tailscale.sh",
"exec-if": "pgrep tailscaled",
2023-08-28 12:35:59 +02:00
"return-type": "json",
2023-08-28 13:47:01 +02:00
"interval": 5,
2023-08-28 13:46:24 +02:00
"format-icons": {
2023-08-28 13:44:27 +02:00
"Running" = "󰌆",
2023-08-28 13:45:33 +02:00
"Stopped" = "󰌊"
2023-08-28 13:44:27 +02:00
}
2023-08-28 12:45:10 +02:00
},
2023-08-28 12:35:59 +02:00
2023-08-28 11:33:35 +02:00
"idle_inhibitor": {
2023-08-28 12:12:01 +02:00
"format": "{icon}",
2023-08-28 11:33:35 +02:00
"format-icons": {
"activated": "",
"deactivated": ""
}
2023-08-28 11:35:46 +02:00
},
2023-08-28 11:33:35 +02:00
2023-08-28 05:08:58 +02:00
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
2023-08-28 05:34:37 +02:00
"player-icons": { "default": "" },
2023-08-28 10:25:52 +02:00
"status-icons": { "paused": "" },
2023-08-28 05:08:58 +02:00
},
"wlr/workspaces": {
"on-click": "activate"
},
"clock": {
"format": "󰥔 {:%H:%M}",
"format-alt": "󰃭 {:%A, %d %b, %Y}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "month",
"mode-mon-col" : 3,
"weeks-pos" : "left",
"on-scroll" : 1,
"format": {
"months": "<span color='#e2cca9'><b>{}</b></span>",
"days": "<span color='#e2cca9'><b>{}</b></span>",
"weeks": "<span color='#b0b846'><b>W{}</b></span>",
"weekdays": "<span color='#e9b143'><b>{}</b></span>",
"today": "<span color='#f28534'><b><u>{}</u></b></span>"
}
},
"actions": {
2023-08-28 12:03:16 +02:00
"on-click-right": "kitty -e calcurse",
2023-08-28 05:08:58 +02:00
"on-click-middle": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"pulseaudio": {
"scroll-step": 1,
2023-08-28 11:13:36 +02:00
"format": "{icon} {format_source}",
2023-08-28 11:33:35 +02:00
"format-bluetooth": "<span foreground='#f2594b'>{volume}% {icon} {format_source}</span>",
"format-bluetooth-muted": " ",
"format-muted": "󰝟 {format_source}",
"format-source": " <span foreground='#f2594b'></span>",
"format-source-muted": " ",
2023-08-28 05:08:58 +02:00
"format-icons": {
"headphone": "",
"headset": "",
"default": ["󰕿", "󰖀", "󰕾"]
},
"tooltip": false,
2023-08-28 12:03:16 +02:00
"on-click": "kitty -e pulsemixer",
2023-08-28 05:08:58 +02:00
},
"network": {
2023-08-28 11:06:40 +02:00
"format": "{ifname}",
2023-08-28 12:05:03 +02:00
"format-wifi": " {essid}",
"format-ethernet": " {ipaddr}",
"format-disconnected": "", // An empty format will hide the module.
2023-08-28 11:06:40 +02:00
"tooltip-format": "{ifname} via {gwaddr} ",
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
"tooltip-format-ethernet": "{ifname} ",
"tooltip-format-disconnected": "Disconnected",
2023-08-28 11:07:53 +02:00
"max-length": 50,
2023-08-28 05:08:58 +02:00
"on-click": "kitty --class=nmtui -e nmtui"
},
"battery": {
"tooltip": true,
"tooltip-format": "{time}",
"states": {
"warning": 35,
"critical": 20
},
2023-08-28 11:15:42 +02:00
"format": "{icon} {capacity}%",
"format-charging": "󰂄 {capacity}%",
2023-08-28 11:13:36 +02:00
"format-plugged": " {capacity}%",
2023-08-28 05:08:58 +02:00
"format-icons": ["", "", "", "", ""]
},
}
'';
};
# Waybar theming
".config/waybar/style.css" = {
enable = true;
executable = false;
text = ''
* {
border: none;
border-radius: 0;
2023-08-28 12:57:24 +02:00
/*font-family: my-queue;*/
font-family: JetbrainsMono-Regular;
2023-08-28 05:08:58 +02:00
}
#waybar {
background-color: rgba(50, 48, 47, 0.8);
padding: 5px;
}
2023-08-28 12:57:24 +02:00
#workspaces button.visible
2023-08-28 05:08:58 +02:00
#workspaces button {
color: #e2cca9;
2023-08-28 10:56:57 +02:00
font-size: 16px;
2023-08-28 05:08:58 +02:00
}
#workspaces button:hover,
#workspaces button.focused:hover,
#workspaces button.visible:hover {
color: #32302f;
background-color: #e9b143;
}
#workspaces button.active {
box-shadow: inset 0 -3px #f28534;
}
#workspaces button.urgent {
color: #32302f;
background-color: #f2594b;
}
/*
* General background
*/
#network,
#mpris,
#memory,
#backlight,
#cpu,
#pulseaudio,
#temperature,
#battery,
#tray,
#submap,
2023-08-28 10:56:57 +02:00
#clock,
2023-08-28 12:11:13 +02:00
#idle_inhibitor,
2023-08-28 12:52:09 +02:00
#custom-tailscale,
2023-08-28 05:08:58 +02:00
#window {
2023-08-28 10:25:52 +02:00
font-size: 16px;
2023-08-28 11:10:37 +02:00
padding: 0px 10px;
2023-08-28 10:25:52 +02:00
margin: 5px;
2023-08-28 05:34:37 +02:00
/* new stuff */
2023-08-28 11:10:53 +02:00
border-radius: 5px;
2023-08-28 05:34:37 +02:00
color: rgba(50, 48, 47, 0.8);
2023-08-28 13:35:07 +02:00
background-color: #d5c4a1;
2023-08-28 05:34:37 +02:00
font-weight: bold;
2023-08-28 05:08:58 +02:00
}
/*
* Warning plugins state
*/
#battery.warning {
2023-08-28 05:34:37 +02:00
background-color: #e9b143;
2023-08-28 05:08:58 +02:00
}
/*
* Critical plugins state
*/
2023-08-28 12:35:59 +02:00
#idle_inhibitor.activated,
2023-08-28 05:08:58 +02:00
#battery.critical,
2023-08-28 13:38:40 +02:00
#custom-tailscale.Stopped,
2023-08-28 05:08:58 +02:00
#network.disconnected {
2023-08-28 13:44:27 +02:00
background-color: #f2594b;
2023-08-28 05:08:58 +02:00
}
#battery.charging {
2023-08-28 12:08:06 +02:00
color: #98971a;
2023-08-28 05:08:58 +02:00
}
#battery.plugged {
2023-08-28 12:08:06 +02:00
color: #458588;
2023-08-28 05:08:58 +02:00
}
#pulseaudio.bluetooth {
2023-08-28 12:08:06 +02:00
color: #458588;
2023-08-28 05:08:58 +02:00
}
tooltip {
color: #e2cca9;
font-size: 14px;
}
'';
};
};
}