diff --git a/hmModules/waybar/config.json b/hmModules/waybar/config.json
new file mode 100644
index 0000000..05953f2
--- /dev/null
+++ b/hmModules/waybar/config.json
@@ -0,0 +1,95 @@
+[
+ {
+ "backlight": {
+ "device": "ddcci2",
+ "format": "{percent}% {icon}",
+ "format-icons": [" ", " "]
+ },
+ "battery": {
+ "format": "{capacity}% {icon}",
+ "format-alt": "{time} {icon}",
+ "format-charging": "{capacity}% ",
+ "format-icons": [" ", " ", " ", " ", " "],
+ "format-plugged": "{capacity}% ",
+ "states": {
+ "critical": 15,
+ "warning": 30
+ }
+ },
+ "clock": {
+ "format-alt": "{:%Y-%m-%d}",
+ "tooltip-format": "{:%Y-%m-%d | %H:%M}"
+ },
+ "cpu": {
+ "format": "{usage}% ",
+ "tooltip": false
+ },
+ "height": 30,
+ "hyprland/workspaces": {
+ "all-outputs": true,
+ "disable-scroll-wraparound": true,
+ "on-click": "activate"
+ },
+ "ipc": true,
+ "layer": "top",
+ "memory": {
+ "format": "{}% "
+ },
+ "modules-center": ["hyprland/window", "niri/window"],
+ "modules-left": ["wlr/mode", "hyprland/workspaces", "niri/workspaces"],
+ "modules-right": [
+ "network",
+ "tray",
+ "pulseaudio",
+ "cpu",
+ "memory",
+ "temperature",
+ "backlight",
+ "battery",
+ "clock"
+ ],
+ "network": {
+ "format-alt": "{ifname}: {ipaddr}/{cidr}",
+ "format-disconnected": "Disconnected ⚠",
+ "format-ethernet": "{ifname}: {ipaddr}/{cidr} up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}",
+ "format-linked": "{ifname} (No IP) ",
+ "format-wifi": "{essid} ({signalStrength}%) {ipaddr}/{cidr} up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}",
+ "interval": 1
+ },
+ "position": "top",
+ "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": "/nix/store/rya5a9r0ryh9x8yf03m3s420r4ay6ysg-pavucontrol-6.1/bin/pavucontrol"
+ },
+ "temperature": {
+ "critical-threshold": 80,
+ "format": "{temperatureC}°C {icon}",
+ "format-icons": ["", "", ""],
+ "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input"
+ },
+ "tray": {
+ "spacing": 10
+ },
+ "wlr/mode": {
+ "format": "{}",
+ "tooltip": false
+ },
+ "wlr/window": {
+ "max_length": 50
+ }
+ }
+]
diff --git a/hmModules/waybar/default.nix b/hmModules/waybar/default.nix
index 5bd7bb9..f8e5c85 100644
--- a/hmModules/waybar/default.nix
+++ b/hmModules/waybar/default.nix
@@ -7,144 +7,19 @@
programs.waybar = {
enable = true;
systemd.enable = true;
- style = builtins.readFile ./style.css;
- settings = {
- mainBar = {
- ipc = true;
- layer = "top";
- position = "top";
- height = 30;
-
- modules-left = [
- "wlr/mode"
- "hyprland/workspaces"
- "niri/workspaces"
- ];
- modules-center = [
- "hyprland/window"
- "niri/window"
- ];
- modules-right = [
- "network"
- "tray"
- "pulseaudio"
- "cpu"
- "memory"
- "temperature"
- "backlight"
- "battery"
- "clock"
- ];
-
- "hyprland/workspaces" = {
- all-outputs = true;
- disable-scroll-wraparound = true;
- # format = "{icon}";
- on-click = "activate";
- # format-icons = {
- # "1" = "";
- # "2" = "";
- # "3" = "";
- # "9" = "ﬧ";
- # urgent = "";
- # };
- # sort-by-number = true;
- };
-
- "wlr/mode" = {
- tooltip = false;
- };
-
- "wlr/window" = {
- max_length = 50;
- };
- tray = {
- spacing = 10;
- };
- battery = {
- format = "{capacity}% {icon}";
- format-alt = "{time} {icon}";
- format-charging = "{capacity}% ";
- format-icons = [
- " "
- " "
- " "
- " "
- " "
- ];
- format-plugged = "{capacity}% ";
- states = {
- critical = 15;
- warning = 30;
- };
- };
- clock = {
- format-alt = "{:%Y-%m-%d}";
- tooltip-format = "{:%Y-%m-%d | %H:%M}";
- };
- cpu = {
- format = "{usage}% ";
- tooltip = false;
- };
- memory = {
- format = "{}% ";
- };
- network = {
- interval = 1;
- format-alt = "{ifname}: {ipaddr}/{cidr}";
- format-disconnected = "Disconnected ⚠";
- format-ethernet = "{ifname}: {ipaddr}/{cidr} up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}";
- format-linked = "{ifname} (No IP) ";
- format-wifi = "{essid} ({signalStrength}%) {ipaddr}/{cidr} up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}";
- };
- 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 = "${pkgs.pavucontrol}/bin/pavucontrol";
- };
- "wlr/mode" = {
- format = ''{}'';
- };
- temperature = {
- critical-threshold = 80;
- format = "{temperatureC}°C {icon}";
- format-icons = [
- ""
- ""
- ""
- ];
- hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; # picard FIXME
- # hwmon-path = "/sys/class/thermal/thermal_zone4/temp"; # thinkpad
- };
- backlight = {
- device = "ddcci2";
- format = "{percent}% {icon}";
- format-icons = [
- " "
- " "
- ];
- };
- };
- };
};
+ catppuccin.waybar.enable = lib.mkForce false;
+
+ home.activation.linkWaybarConfig = lib.hm.dag.entryAnywhere ''
+ if [ ! -d "$HOME/.config/waybar" ]; then
+ $DRY_RUN_CMD mkdir -p "$HOME/.config/waybar"
+ $DRY_RUN_CMD ln -s "$HOME/projects/aciceri/nixfleet/hmModules/waybar/config.json" "$HOME/.config/waybar/config"
+ $DRY_RUN_CMD ln -s "$HOME/projects/aciceri/nixfleet/hmModules/waybar/style.css" "$HOME/.config/waybar/style.css"
+ fi
+ '';
+
# waybar needs the hyprctl binary in PATH when started in hyprland
+ # TODO still needed?
systemd.user.services.waybar.Service.Environment = "PATH=${lib.makeBinPath [ pkgs.hyprland ]}";
}