diff --git a/home/waybar/default.nix b/home/waybar/default.nix
index bf45204f..933c49dc 100644
--- a/home/waybar/default.nix
+++ b/home/waybar/default.nix
@@ -16,229 +16,239 @@
enable = true;
target = "sway-session.target";
};
- settings.main = {
- layer = "top";
- position = "top";
- # Layout
- "modules-left" = ["mpris"];
- "modules-center" = ["sway/workspaces"];
- "modules-right" = [
- "custom/notification"
- "pulseaudio"
- "network"
- "bluetooth"
- "clock#calendar"
- "clock"
- "backlight"
- "battery"
- "custom/weather"
- "tray"
- ];
- # Module config
- "sway/workspaces" = {
- format = "{icon}";
- format-icons = {
- "1" = " ";
- "2" = " ";
- "3" = " ";
- "4" = " ";
- "5" = " ";
- "6" = " ";
- default = " ";
- urgent = " ";
- };
- # show-special = false;
- # sort-by-number = true;
- all-outputs = false;
- persistent-workspaces = {
- "1" = [];
- "2" = [];
- "3" = [];
- "4" = [];
- "5" = [];
- "6" = [];
- };
- };
- "sway/window" = {
- "format" = "{title}";
- "max-length" = 50;
- "rewrite" = {
- "(.*) - GNU Emacs at (.*)" = " $1 [$2]";
- "(Alacritty.*)" = " $1";
- "(.*) - mpv" = " $1";
- "swayimg: (.*)" = " $1";
- "(btm)" = " Resource Usage [$1]";
- "(cava)" = " Music Visualiser [$1]";
- "(.*) - Thunar" = " $1";
- "Mozilla Firefox" = " $1";
- "(.*) — Mozilla Firefox" = " $1";
- "Nyxt - (.*)" = " $1";
- "(.*) - Chromium" = " $1";
- "((?:.*)WebCord.*)" = " $1";
- "(Signal.*)" = " $1";
- "([Ss]team)" = " $1";
- "(Prism Launcher.*)" = " Minecraft ($1)";
- "(X2Go Client)" = " $1";
- "(NoMachine|Nxplayer.bin) (.*)" = " $1 $2";
- };
- };
- mpris = {
- "format" = "{status_icon} {player_icon} {artist} - {title}";
- "tooltip-format" = "{player_icon} ({player}) {dynamic}";
- "title-len" = 64;
- "interval" = 1;
- "dynamic-order" = [
- "album"
- "artist"
- "title"
- "position"
- "length"
+ settings = rec {
+ main = {
+ name = "main";
+ layer = "top";
+ position = "top";
+ # Layout
+ "modules-left" = ["mpris"];
+ "modules-center" = ["sway/workspaces"];
+ "modules-right" = [
+ "custom/notification"
+ "pulseaudio"
+ "network"
+ "bluetooth"
+ "clock#calendar"
+ "clock"
+ "backlight"
+ "battery"
+ "custom/weather"
+ "tray"
];
- "player-icons" = {
- "default" = " ";
- "emms" = " ";
- "firefox" = " ";
- "mpv" = " ";
- };
- "status-icons" = {
- "playing" = "";
- "paused" = "";
- "stopped" = "";
- };
- "ignored-players" = [];
- };
- pulseaudio = {
- scroll-step = 5;
- format = "{format_source}{icon}{volume}%";
- format-muted = "{format_source} ";
- format-source = " ";
- format-source-muted = " ";
- format-icons = {
- car = " ";
- default = [" " " " " "];
- hands-free = " ";
- headset = " ";
- phone = " ";
- portable = " ";
- headphone = " ";
- };
- on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
- on-click-right = "${pkgs.pamixer}/bin/pamixer -t";
- on-scroll-up = "${pkgs.pamixer}/bin/pamixer -i 5";
- on-scroll-down = "${pkgs.pamixer}/bin/pamixer -d 5";
- };
- disk = {
- format = " {percentage_used}%";
- path = config.home.homeDirectory;
- };
- cpu = {
- format = " {usage}%";
- tooltip = false;
- };
- memory = {format = " {}%";};
- temperature = {
- critical-threshold = 80;
- format = "{icon} {temperatureC}°C";
- format-icons = ["" "" ""];
- };
- network = {
- format-icons = [" " " " " " " "];
- format-wifi = "{icon}";
- format-ethernet = " ";
- tooltip-format = "{essid} ({signalStrength}%)";
- format-linked = " ";
- format-disconnected = " ";
- };
- bluetooth = {
- format = "";
- format-disabled = "";
- format-off = "";
- format-on = "";
- format-connected = "";
- tooltip-format = "{status} | {device_alias}";
- on-click = "${pkgs.bluez}/bin/bluetoothctl power on";
- on-click-right = "${pkgs.bluez}/bin/bluetoothctl power off";
- };
- "clock#calendar" = {
- # format = "{: %Y-%m-%d}";
- format = "{:%Y-%m-%d}"; # TEMP, see https://github.com/Alexays/Waybar/issues/3021
- tooltip-format = "{calendar}";
- calendar = {
- mode = "month";
- mode-mon-col = 3;
- weeks-pos = "left";
- on-scroll = 1;
- on-click-right = "mode";
- format = {
- months = "{}";
- days = "{}";
- weeks = "W{}";
- weekdays = "{}";
- today = "{}";
+ # Module config
+ "sway/workspaces" = {
+ format = "{icon}";
+ format-icons = {
+ "1" = " ";
+ "2" = " ";
+ "3" = " ";
+ "4" = " ";
+ "5" = " ";
+ "6" = " ";
+ default = " ";
+ urgent = " ";
+ };
+ # show-special = false;
+ # sort-by-number = true;
+ all-outputs = false;
+ persistent-workspaces = {
+ "1" = [];
+ "2" = [];
+ "3" = [];
+ "4" = [];
+ "5" = [];
+ "6" = [];
};
};
- actions = {
- on-click-right = "mode";
- on-scroll-up = "shift_up";
- on-scroll-down = "shift_down";
+ "sway/window" = {
+ "format" = "{title}";
+ "max-length" = 50;
+ "rewrite" = {
+ "(.*) - GNU Emacs at (.*)" = " $1 [$2]";
+ "(Alacritty.*)" = " $1";
+ "(.*) - mpv" = " $1";
+ "swayimg: (.*)" = " $1";
+ "(btm)" = " Resource Usage [$1]";
+ "(cava)" = " Music Visualiser [$1]";
+ "(.*) - Thunar" = " $1";
+ "Mozilla Firefox" = " $1";
+ "(.*) — Mozilla Firefox" = " $1";
+ "Nyxt - (.*)" = " $1";
+ "(.*) - Chromium" = " $1";
+ "((?:.*)WebCord.*)" = " $1";
+ "(Signal.*)" = " $1";
+ "([Ss]team)" = " $1";
+ "(Prism Launcher.*)" = " Minecraft ($1)";
+ "(X2Go Client)" = " $1";
+ "(NoMachine|Nxplayer.bin) (.*)" = " $1 $2";
+ };
+ };
+ mpris = {
+ "format" = "{status_icon} {player_icon} {artist} - {title}";
+ "tooltip-format" = "{player_icon} ({player}) {dynamic}";
+ "title-len" = 64;
+ "interval" = 1;
+ "dynamic-order" = [
+ "album"
+ "artist"
+ "title"
+ "position"
+ "length"
+ ];
+ "player-icons" = {
+ "default" = " ";
+ "emms" = " ";
+ "firefox" = " ";
+ "mpv" = " ";
+ };
+ "status-icons" = {
+ "playing" = "";
+ "paused" = "";
+ "stopped" = "";
+ };
+ "ignored-players" = [];
+ };
+ pulseaudio = {
+ scroll-step = 5;
+ format = "{format_source}{icon}{volume}%";
+ format-muted = "{format_source} ";
+ format-source = " ";
+ format-source-muted = " ";
+ format-icons = {
+ car = " ";
+ default = [" " " " " "];
+ hands-free = " ";
+ headset = " ";
+ phone = " ";
+ portable = " ";
+ headphone = " ";
+ };
+ on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
+ on-click-right = "${pkgs.pamixer}/bin/pamixer -t";
+ on-scroll-up = "${pkgs.pamixer}/bin/pamixer -i 5";
+ on-scroll-down = "${pkgs.pamixer}/bin/pamixer -d 5";
+ };
+ disk = {
+ format = " {percentage_used}%";
+ path = config.home.homeDirectory;
+ };
+ cpu = {
+ format = " {usage}%";
+ tooltip = false;
+ };
+ memory = {format = " {}%";};
+ temperature = {
+ critical-threshold = 80;
+ format = "{icon} {temperatureC}°C";
+ format-icons = ["" "" ""];
+ };
+ network = {
+ format-icons = [" " " " " " " "];
+ format-wifi = "{icon}";
+ format-ethernet = " ";
+ tooltip-format = "{essid} ({signalStrength}%)";
+ format-linked = " ";
+ format-disconnected = " ";
+ };
+ bluetooth = {
+ format = "";
+ format-disabled = "";
+ format-off = "";
+ format-on = "";
+ format-connected = "";
+ tooltip-format = "{status} | {device_alias}";
+ on-click = "${pkgs.bluez}/bin/bluetoothctl power on";
+ on-click-right = "${pkgs.bluez}/bin/bluetoothctl power off";
+ };
+ "clock#calendar" = {
+ # format = "{: %Y-%m-%d}";
+ format = "{:%Y-%m-%d}"; # TEMP, see https://github.com/Alexays/Waybar/issues/3021
+ tooltip-format = "{calendar}";
+ calendar = {
+ mode = "month";
+ mode-mon-col = 3;
+ weeks-pos = "left";
+ on-scroll = 1;
+ on-click-right = "mode";
+ format = {
+ months = "{}";
+ days = "{}";
+ weeks = "W{}";
+ weekdays = "{}";
+ today = "{}";
+ };
+ };
+ actions = {
+ on-click-right = "mode";
+ on-scroll-up = "shift_up";
+ on-scroll-down = "shift_down";
+ };
+ };
+ clock = {
+ # format = "{: %R}";
+ format = "{:%R}"; # TEMP, see https://github.com/Alexays/Waybar/issues/3021
+ };
+ backlight = {
+ format = "{icon}";
+ tooltip-format = "{percent}%";
+ format-icons = [" " " " " " " " " " " " " " " " " "];
+ };
+ battery = {
+ states = {
+ warning = 30;
+ critical = 20;
+ };
+ format = "{icon}";
+ format-charging = " ";
+ format-plugged = " ";
+ tooltip-format = "{capacity}% {time}";
+ format-icons = [" " " " " " " " " " " " " " " " " " " " " "];
+ };
+ "custom/notification" = let
+ swaync = pkgs.swaynotificationcenter;
+ in {
+ "tooltip" = false;
+ "format" = "{icon}{}";
+ "format-icons" = {
+ "notification" = " ";
+ "none" = " ";
+ "dnd-notification" = " ";
+ "dnd-none" = " ";
+ "inhibited-notification" = " ";
+ "inhibited-none" = " ";
+ "dnd-inhibited-notification" = " ";
+ "dnd-inhibited-none" = " ";
+ };
+ "return-type" = "json";
+ "exec-if" = "which ${swaync}/bin/swaync-client";
+ "exec" = "${swaync}/bin/swaync-client -swb";
+ "on-click" = "${swaync}/bin/swaync-client -t -sw";
+ "on-click-right" = "${swaync}/bin/swaync-client -d -sw";
+ "escape" = true;
+ };
+ "custom/weather" = let
+ date-format = "%Y-%m-%d";
+ custom-indicator = "{ICON}{temp_C}({FeelsLikeC})";
+ in {
+ "format" = "{}°";
+ "tooltip" = true;
+ "interval" = 900; # Every 15 minutes
+ "exec" = ''${pkgs.wttrbar}/bin/wttrbar --location Didcot --date-format "${date-format}" --custom-indicator "${custom-indicator}"'';
+ "return-type" = "json";
+ };
+ tray = {
+ icon-size = builtins.floor fonts.sizes.popups;
+ show-passive-items = true;
+ spacing = 5;
};
};
- clock = {
- # format = "{: %R}";
- format = "{:%R}"; # TEMP, see https://github.com/Alexays/Waybar/issues/3021
- };
- backlight = {
- format = "{icon}";
- tooltip-format = "{percent}%";
- format-icons = [" " " " " " " " " " " " " " " " " "];
- };
- battery = {
- states = {
- warning = 30;
- critical = 20;
- };
- format = "{icon}";
- format-charging = " ";
- format-plugged = " ";
- tooltip-format = "{capacity}% {time}";
- format-icons = [" " " " " " " " " " " " " " " " " " " " " "];
- };
- "custom/notification" = let
- swaync = pkgs.swaynotificationcenter;
- in {
- "tooltip" = false;
- "format" = "{icon}{}";
- "format-icons" = {
- "notification" = " ";
- "none" = " ";
- "dnd-notification" = " ";
- "dnd-none" = " ";
- "inhibited-notification" = " ";
- "inhibited-none" = " ";
- "dnd-inhibited-notification" = " ";
- "dnd-inhibited-none" = " ";
- };
- "return-type" = "json";
- "exec-if" = "which ${swaync}/bin/swaync-client";
- "exec" = "${swaync}/bin/swaync-client -swb";
- "on-click" = "${swaync}/bin/swaync-client -t -sw";
- "on-click-right" = "${swaync}/bin/swaync-client -d -sw";
- "escape" = true;
- };
- "custom/weather" = let
- date-format = "%Y-%m-%d";
- custom-indicator = "{ICON}{temp_C}({FeelsLikeC})";
- in {
- "format" = "{}°";
- "tooltip" = true;
- "interval" = 900; # Every 15 minutes
- "exec" = ''${pkgs.wttrbar}/bin/wttrbar --location Didcot --date-format "${date-format}" --custom-indicator "${custom-indicator}"'';
- "return-type" = "json";
- };
- tray = {
- icon-size = builtins.floor fonts.sizes.popups;
- show-passive-items = true;
- spacing = 5;
+ alt = {
+ inherit (main) layer position "sway/workspaces";
+ name = "alt";
+ "modules-left" = [];
+ "modules-center" = ["sway/workspaces"];
+ "modules-right" = [];
};
};
style = with scheme.withHashtag; let
diff --git a/hosts/Vanguard/home.nix b/hosts/Vanguard/home.nix
index df0bbeae..42f26863 100644
--- a/hosts/Vanguard/home.nix
+++ b/hosts/Vanguard/home.nix
@@ -12,5 +12,8 @@
};
};
};
- programs.waybar.settings.main.output = ["DP-2"];
+ programs.waybar.settings = {
+ main.output = ["DP-2"];
+ alt.output = ["HDMI-A-1"];
+ };
}