aboutsummaryrefslogtreecommitdiff
path: root/modules/waybar.nix
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-04-29 20:41:52 +0200
committerschererleander <leander@schererleander.de>2025-04-29 20:41:52 +0200
commit5db06024d727b2ca11f03d3ea6153a7946d8f720 (patch)
treebe1106562808a4197a1f489d073f7085c46f5078 /modules/waybar.nix
parentec0137a61d11c12cdef8e1dbd515315077be9c72 (diff)
move modules
Diffstat (limited to 'modules/waybar.nix')
-rw-r--r--modules/waybar.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/modules/waybar.nix b/modules/waybar.nix
new file mode 100644
index 0000000..6a54d0d
--- /dev/null
+++ b/modules/waybar.nix
@@ -0,0 +1,72 @@
+{ config, lib, pkgs, ... }:
+
+let
+ cfg = config.waybar;
+in {
+ options.waybar.enable = lib.mkEnableOption "Enable and configure Waybar";
+
+ config = lib.mkIf cfg.enable {
+ programs.waybar = {
+ enable = true;
+ settings = {
+ mainBar = {
+ height = 20;
+ layer = "top";
+ position = "bottom";
+ tray = { spacing = 10; };
+ modules-center = [ "sway/window" ];
+ modules-left = [ "sway/workspaces" "sway/mode" ];
+ modules-right = [
+ "pulseaudio"
+ "clock"
+ "tray"
+ ];
+ clock = {
+ format-alt = "{:%Y-%m-%d}";
+ tooltip-format = "{:%Y-%m-%d | %H:%M}";
+ };
+ pulseaudio = {
+ format = "{volume}% {icon} {format_source}";
+ format-bluetooth = "{volume}% {icon} {format_source}";
+ format-bluetooth-muted = " {icon} {format_source}";
+ format-icons = {
+ car = "";
+ default = [ "" "" "" ];
+ handsfree = "";
+ headphones = "";
+ headset = "";
+ phone = "";
+ portable = "";
+ };
+ format-muted = " {format_source}";
+ format-source = "{volume}% ";
+ format-source-muted = "";
+ on-click = "pavucontrol";
+ };
+ };
+ };
+ style = ''
+ * {
+ border: none;
+ border-radius: 0;
+ font-family: monospace;
+ font-size: 12px;
+ }
+
+ window#waybar {
+ background: #000000;
+ }
+
+ #workspaces button {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+
+ #clock, #pulseaudio, #tray {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ '';
+ };
+ };
+}