diff --git a/home/jonas@comfy-station.nix b/home/jonas@comfy-station.nix
index 96ac3cc..97c9016 100644
--- a/home/jonas@comfy-station.nix
+++ b/home/jonas@comfy-station.nix
@@ -6,7 +6,6 @@
../modules/home/ssh.nix
../modules/home/themes/gtk
../modules/home/themes/qt
- ../modules/home/waybar
../modules/home/wlogout
../modules/home/wofi
../modules/home/yubikey.nix
@@ -28,6 +27,7 @@
hive.nextcloud.enable = true;
hive.ranger.enable = true;
hive.swaync.enable = true;
+ hive.waybar.enable = true;
hive.nix-scripts.enable = true;
hive.doom.enable = true;
hive.doom.enableCopilot = true;
diff --git a/modules/default.nix b/modules/default.nix
index 9809fa1..bd7f784 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -34,5 +34,6 @@
./home/nextcloud
./home/ranger
./home/swaync
+ ./home/waybar
];
}
diff --git a/modules/home/waybar/config.nix b/modules/home/waybar/config.nix
deleted file mode 100644
index f4900e6..0000000
--- a/modules/home/waybar/config.nix
+++ /dev/null
@@ -1,240 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}: let
- for_hyprland = config.programs.waybar.enable && config.wayland.windowManager.hyprland.enable;
-in {
- programs.waybar = lib.mkIf for_hyprland {
- settings.mainBar = {
- position = "top";
- layer = "top";
- height = 5;
- margin-top = 0;
- margin-bottom = 0;
- margin-left = 0;
- margin-right = 0;
- modules-left = [
- "custom/launcher"
- "hyprland/workspaces"
- ];
- modules-center = [
- "hyprland/window"
- ];
- modules-right = [
- "clock"
- "cpu"
- "memory"
- "disk"
- "battery"
- "network"
- "tray"
- ];
- clock = {
- calendar = {
- format = {today = "{}";};
- };
- format = " {:%H:%M}";
- tooltip = "true";
- tooltip-format = "{:%Y %B}\n{calendar}";
- format-alt = " {:%d/%m}";
- };
- "hyprland/workspaces" = {
- active-only = false;
- disable-scroll = true;
- format = "{icon}";
- on-click = "activate";
- format-icons = {
- "1" = "1";
- "2" = "2";
- "3" = "3";
- "4" = "4";
- "5" = "5";
- "6" = "6";
- "7" = "7";
- "8" = "8";
- urgent = "";
- default = "";
- sort-by-number = true;
- };
- persistent-workspaces = {
- "1" = [];
- "2" = [];
- "3" = [];
- "4" = [];
- "5" = [];
- "6" = [];
- "7" = [];
- "8" = [];
- };
- };
- memory = {
- format = " {}%";
- format-alt = " {used} GiB"; #
- interval = 2;
- };
- cpu = {
- format = " {usage}%";
- format-alt = " {avg_frequency} GHz";
- interval = 2;
- };
- disk = {
- # path = "/";
- format = " {percentage_used}%";
- interval = 60;
- };
- network = {
- format-wifi = " {signalStrength}%";
- format-ethernet = " ";
- tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
- format-linked = "{ifname} (No IP)";
- format-disconnected = " ";
- };
- tray = {
- icon-size = 20;
- spacing = 8;
- };
- pulseaudio = {
- format = "{icon} {volume}%";
- format-muted = " {volume}%";
- format-icons = {
- default = [" "];
- };
- scroll-step = 5;
- on-click = "pamixer -t";
- };
- battery = {
- format = "{icon} {capacity}%";
- format-icons = [" " " " " " " " " "];
- format-charging = " {capacity}%";
- format-full = " {capacity}%";
- format-warning = " {capacity}%";
- interval = 5;
- states = {
- warning = 20;
- };
- format-time = "{H}h{M}m";
- tooltip = true;
- tooltip-format = "{time}";
- };
- "custom/launcher" = {
- format = "";
- on-click = "${pkgs.wofi}/bin/wofi --show drun";
- tooltip = "false";
- };
- };
- style = ''
- * {
- border: none;
- font-family: Font Awesome, Roboto, Arial, sans-serif;
- font-size: 13px;
- color: #ffffff;
- border-radius: 15px;
- }
-
- window {
- /*font-weight: bold;*/
- }
- window#waybar {
- border-style: none;
- border-width: 1px;
- border-color: #33ccff;
- background: rgba(0, 0, 0, 0);
- }
- /*-----module groups----*/
- .modules-right {
- background-color: rgba(0,43,51,0.85);
- margin: 2px 10px 2px 0;
- }
- .modules-left {
- margin: 2px 0 2px 5px;
- background-color: rgba(0,119,179,0.6);
- }
- /*-----modules indv----*/
- #workspaces button {
- padding: 1px 5px;
- background-color: transparent;
- }
- #workspaces button:hover {
- box-shadow: inherit;
- background-color: rgba(0,153,153,1);
- }
- #workspaces button.empty {
- color: rgba(0 ,40, 40, 40);
- }
- #workspaces button.active {
- background-color: rgba(0,43,51,0.85);
- }
- #window {
- border-style: solid;
- background-color: rgba(0,43,51,0.5);
- margin: 2px 5px;
- padding: 2px 5px;
- border-width: 1px;
- border-color: #33ccff;
- }
- #window.empty {
- border-style: none;
- background-color: transparent;
- }
- #custom-launcher {
- background-color: rgba(0,119,179,0.6);
- border-radius: 100px;
- margin: 5px 5px;
- }
-
- #clock,
- #battery,
- #cpu,
- #memory,
- #temperature,
- #network,
- #pulseaudio,
- #custom-media,
- #tray,
- #mode,
- #custom-power,
- #custom-menu,
- #idle_inhibitor {
- padding: 0 10px;
- }
- #mode {
- color: #cc3436;
- font-weight: bold;
- }
- #custom-power {
- background-color: rgba(0,119,179,0.6);
- border-radius: 100px;
- margin: 5px 5px;
- padding: 1px 1px 1px 6px;
- }
- /*-----Indicators----*/
- #idle_inhibitor.activated {
- color: #2dcc36;
- }
- #pulseaudio.muted {
- color: #cc3436;
- }
- #battery.charging {
- color: #2dcc36;
- }
- #battery.warning:not(.charging) {
- color: #e6e600;
- }
- #battery.critical:not(.charging) {
- color: #cc3436;
- }
- #temperature.critical {
- color: #cc3436;
- }
- /*-----Colors----*/
- /*
- *rgba(0,85,102,1),#005566 --> Indigo(dye)
- *rgba(0,43,51,1),#002B33 --> Dark Green
- *RGBA(0,153,153,1),#009999 --> PERSIAN GREEN
- *
- */
- '';
- };
-}
diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix
index 664dd7a..2cfa1e1 100644
--- a/modules/home/waybar/default.nix
+++ b/modules/home/waybar/default.nix
@@ -1,6 +1,266 @@
-{...}: {
- imports = [
- ./waybar.nix
- ./config.nix
- ];
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.hive.waybar;
+in {
+ options.hive.waybar = {
+ enable = lib.mkEnableOption "Enable Waybar";
+ };
+ config = lib.mkIf cfg.enable {
+ programs.waybar.enable = true;
+ programs.waybar.systemd.enable = true;
+
+ services.blueman-applet.enable = true;
+ services.network-manager-applet.enable = true;
+ services.pasystray.enable = true;
+
+ # is already fixed on latest home-manager rev
+ systemd.user.services = {
+ blueman-applet.Unit.After = lib.mkForce ["graphical-session.target"];
+ network-manager-applet.Unit.After = lib.mkForce ["graphical-session.target"];
+ pasystray.Unit.After = lib.mkForce ["graphical-session.target"];
+ waybar.Unit.After = lib.mkForce ["graphical-session.target"];
+ };
+
+ home.packages = with pkgs; [
+ pulsemixer
+ pavucontrol
+ networkmanagerapplet
+ ];
+
+ programs.waybar = {
+ settings.mainBar = {
+ position = "top";
+ layer = "top";
+ height = 5;
+ margin-top = 0;
+ margin-bottom = 0;
+ margin-left = 0;
+ margin-right = 0;
+ modules-left = [
+ "custom/launcher"
+ "hyprland/workspaces"
+ ];
+ modules-center = [
+ "hyprland/window"
+ ];
+ modules-right = [
+ "clock"
+ "cpu"
+ "memory"
+ "disk"
+ "battery"
+ "network"
+ "tray"
+ ];
+ clock = {
+ calendar = {
+ format = {today = "{}";};
+ };
+ format = " {:%H:%M}";
+ tooltip = "true";
+ tooltip-format = "{:%Y %B}\n{calendar}";
+ format-alt = " {:%d/%m}";
+ };
+ "hyprland/workspaces" = {
+ active-only = false;
+ disable-scroll = true;
+ format = "{icon}";
+ on-click = "activate";
+ format-icons = {
+ "1" = "1";
+ "2" = "2";
+ "3" = "3";
+ "4" = "4";
+ "5" = "5";
+ "6" = "6";
+ "7" = "7";
+ "8" = "8";
+ urgent = "";
+ default = "";
+ sort-by-number = true;
+ };
+ persistent-workspaces = {
+ "1" = [];
+ "2" = [];
+ "3" = [];
+ "4" = [];
+ "5" = [];
+ "6" = [];
+ "7" = [];
+ "8" = [];
+ };
+ };
+ memory = {
+ format = " {}%";
+ format-alt = " {used} GiB"; #
+ interval = 2;
+ };
+ cpu = {
+ format = " {usage}%";
+ format-alt = " {avg_frequency} GHz";
+ interval = 2;
+ };
+ disk = {
+ # path = "/";
+ format = " {percentage_used}%";
+ interval = 60;
+ };
+ network = {
+ format-wifi = " {signalStrength}%";
+ format-ethernet = " ";
+ tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
+ format-linked = "{ifname} (No IP)";
+ format-disconnected = " ";
+ };
+ tray = {
+ icon-size = 20;
+ spacing = 8;
+ };
+ pulseaudio = {
+ format = "{icon} {volume}%";
+ format-muted = " {volume}%";
+ format-icons = {
+ default = [" "];
+ };
+ scroll-step = 5;
+ on-click = "pamixer -t";
+ };
+ battery = {
+ format = "{icon} {capacity}%";
+ format-icons = [" " " " " " " " " "];
+ format-charging = " {capacity}%";
+ format-full = " {capacity}%";
+ format-warning = " {capacity}%";
+ interval = 5;
+ states = {
+ warning = 20;
+ };
+ format-time = "{H}h{M}m";
+ tooltip = true;
+ tooltip-format = "{time}";
+ };
+ "custom/launcher" = {
+ format = "";
+ on-click = "${pkgs.wofi}/bin/wofi --show drun";
+ tooltip = "false";
+ };
+ };
+ style = ''
+ * {
+ border: none;
+ font-family: Font Awesome, Roboto, Arial, sans-serif;
+ font-size: 13px;
+ color: #ffffff;
+ border-radius: 15px;
+ }
+
+ window {
+ /*font-weight: bold;*/
+ }
+ window#waybar {
+ border-style: none;
+ border-width: 1px;
+ border-color: #33ccff;
+ background: rgba(0, 0, 0, 0);
+ }
+ /*-----module groups----*/
+ .modules-right {
+ background-color: rgba(0,43,51,0.85);
+ margin: 2px 10px 2px 0;
+ }
+ .modules-left {
+ margin: 2px 0 2px 5px;
+ background-color: rgba(0,119,179,0.6);
+ }
+ /*-----modules indv----*/
+ #workspaces button {
+ padding: 1px 5px;
+ background-color: transparent;
+ }
+ #workspaces button:hover {
+ box-shadow: inherit;
+ background-color: rgba(0,153,153,1);
+ }
+ #workspaces button.empty {
+ color: rgba(0 ,40, 40, 40);
+ }
+ #workspaces button.active {
+ background-color: rgba(0,43,51,0.85);
+ }
+ #window {
+ border-style: solid;
+ background-color: rgba(0,43,51,0.5);
+ margin: 2px 5px;
+ padding: 2px 5px;
+ border-width: 1px;
+ border-color: #33ccff;
+ }
+ #window.empty {
+ border-style: none;
+ background-color: transparent;
+ }
+ #custom-launcher {
+ background-color: rgba(0,119,179,0.6);
+ border-radius: 100px;
+ margin: 5px 5px;
+ }
+
+ #clock,
+ #battery,
+ #cpu,
+ #memory,
+ #temperature,
+ #network,
+ #pulseaudio,
+ #custom-media,
+ #tray,
+ #mode,
+ #custom-power,
+ #custom-menu,
+ #idle_inhibitor {
+ padding: 0 10px;
+ }
+ #mode {
+ color: #cc3436;
+ font-weight: bold;
+ }
+ #custom-power {
+ background-color: rgba(0,119,179,0.6);
+ border-radius: 100px;
+ margin: 5px 5px;
+ padding: 1px 1px 1px 6px;
+ }
+ /*-----Indicators----*/
+ #idle_inhibitor.activated {
+ color: #2dcc36;
+ }
+ #pulseaudio.muted {
+ color: #cc3436;
+ }
+ #battery.charging {
+ color: #2dcc36;
+ }
+ #battery.warning:not(.charging) {
+ color: #e6e600;
+ }
+ #battery.critical:not(.charging) {
+ color: #cc3436;
+ }
+ #temperature.critical {
+ color: #cc3436;
+ }
+ /*-----Colors----*/
+ /*
+ *rgba(0,85,102,1),#005566 --> Indigo(dye)
+ *rgba(0,43,51,1),#002B33 --> Dark Green
+ *RGBA(0,153,153,1),#009999 --> PERSIAN GREEN
+ *
+ */
+ '';
+ };
+ };
}
diff --git a/modules/home/waybar/waybar.nix b/modules/home/waybar/waybar.nix
deleted file mode 100644
index 59087b8..0000000
--- a/modules/home/waybar/waybar.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.waybar.enable = true;
- programs.waybar.systemd.enable = true;
-
- services.blueman-applet.enable = true;
- services.network-manager-applet.enable = true;
- services.pasystray.enable = true;
-
- # is already fixed on latest home-manager rev
- systemd.user.services = {
- blueman-applet.Unit.After = lib.mkForce ["graphical-session.target"];
- network-manager-applet.Unit.After = lib.mkForce ["graphical-session.target"];
- pasystray.Unit.After = lib.mkForce ["graphical-session.target"];
- waybar.Unit.After = lib.mkForce ["graphical-session.target"];
- };
-
- home.packages = with pkgs; [
- pulsemixer
- pavucontrol
- networkmanagerapplet
- ];
-}