Use polybar override and added tailscale

This commit is contained in:
marc
2022-11-01 16:28:52 +01:00
parent 34d70b26c6
commit d8c04a227c
5 changed files with 232 additions and 5 deletions

View File

@@ -55,6 +55,8 @@ in {
focus.followMouse = false;
bars = [ ];
keybindings = {
"${mod}+q" = "kill";
@@ -96,6 +98,10 @@ in {
# focus the parent container
"${mod}+a" = "focus parent";
# Reload config + restart i3
"${mod}+Shift+c" = "reload";
"${mod}+Shift+r" = "restart";
# - Workspaces -------------------------
"${mod}+1" = "workspace 1";
"${mod}+2" = "workspace 2";
@@ -106,7 +112,7 @@ in {
"${mod}+7" = "workspace 7";
"${mod}+8" = "workspace 8";
"${mod}+9" = "workspace 9";
"${mod}+0" = "workspace 0";
"${mod}+0" = "workspace 10";
"${mod}+Shift+1" = "move container to workspace 1; workspace 1";
"${mod}+Shift+2" = "move container to workspace 2; workspace 2";
@@ -117,7 +123,7 @@ in {
"${mod}+Shift+7" = "move container to workspace 7; workspace 7";
"${mod}+Shift+8" = "move container to workspace 8; workspace 8";
"${mod}+Shift+9" = "move container to workspace 9; workspace 9";
"${mod}+Shift+0" = "move container to workspace 0; workspace 0";
"${mod}+Shift+0" = "move container to workspace 10; workspace 10";
}
// (if cfg.terminal.enable then {
@@ -127,7 +133,7 @@ in {
"${mod}+space" = "exec ${cfg.launcher.command}";
} else {})
// (if cfg.browser.enable then {
"Control+Alt+3" = "exec ${cfg.browser.command}";
"${mod}+Control+3" = "exec ${cfg.browser.command}";
} else {});
};
};

View File

@@ -10,12 +10,213 @@ in {
config = lib.mkIf cfg.enable {
# - Configuration ----------------------------
services.polybar = {
enable = true;
package = pkgs.polybar.override {
i3Support = true;
pulseSupport = true;
};
config = {
# - Colors -------------------------------
"colors" = {
"background" = "#222";
"background-alt" = "#444";
"foreground" = "#dfdfdf";
"foreground-alt" = "#555";
"primary" = "#ffb52a";
"secondary" = "#e60053";
"alert" = "#bd2c40";
};
# - Mainbar ------------------------------
"bar/mainbar-i3" = {
"monitor" = "\${env:MONITOR}";
"monitor-strict" = "false";
"bottom" = "false";
"fixed-center" = "true";
"width" = "100%";
"height" = "30";
"background" = "\${colors.background}";
"foreground" = "\${colors.foreground}";
"radius" = "0.0";
"line-size" = "2";
"line-color" = "#000000";
"border-color" = "#000000";
"padding-left" = "1";
"padding-right" = "1";
"module-margin-left" = "0";
"module-margin-right" = "0";
"font-0" = "\"Iosevka:style=Regular:size=15;2\"";
"font-1" = "\"Iosevka:size=16;3\"";
"font-2" = "\"Iosevka:style=Regular:pixelsize=10;1\"";
"font-3" = "\"Iosevka:style=Solid:pixelsize=10;1\"";
"font-4" = "\"Iosevka:pixelsize=10;1\"";
"modules-left" = "i3";
"modules-center" = "date";
"modules-right" = "wifi pulseaudio battery";
"separator" = "\" : \"";
"tray-position" = "left";
"tray-detached" = "false";
"tray-maxsize" = "20";
"tray-background" = "\${colors.background}";
"tray-offset-x" = "0";
"tray-offset-y" = "0";
"tray-padding" = "4";
"tray-scale" = "1.0";
"enable-ipc" = "true";
"click-left" = "";
"click-middle" = "";
"click-right" = "";
"scroll-up" = "i3wm-wsnext";
"scroll-down" = "i3wm-wsprev";
"double-click-left" = "";
"double-click-middle" = "";
"double-click-right" = "";
"cursor-click" = "";
"cursor-scroll" = "";
};
# - Module: i3 ---------------------------
"module/i3" = {
"type" = "internal/i3";
"format" = "<label-state> <label-mode>";
"index-sort" = "true";
"wrapping-scroll" = "false";
"label-mode-padding" = "2";
"label-mode-foreground" = "#000";
"label-mode-background" = "\${colors.primary}";
"label-focused" = "%index%";
"label-focused-background" = "\${colors.background-alt}";
"label-focused-underline" = "\${colors.secondary}";
"label-focused-padding" = "2";
"label-unfocused" = "%index%";
"label-unfocused-padding" = "2";
"label-visible" = "%index%";
"label-visible-background" = "\${self.label-focused-background}";
"label-visible-underline" = "\${colors.primary}";
"label-visible-padding" = "\${self.label-focused-padding}";
"label-urgent" = "%index%";
"label-urgent-background" = "\${colors.alert}";
"label-urgent-padding" = "2";
};
# - Module: date -------------------------
"module/date" = {
"type" = "internal/date";
"interval" = "1";
"date" = "%A, %d %B %Y";
"time" = "%H:%M:%S";
"time-alt" = "%H:%M:%S %Z (%z)";
"date-alt" = "%Y-%m-%d";
"format-prefix" = "";
"format-prefix-foreground" = "\${colors.foreground-alt}";
"format-underline" = "";
"label" = "%date% · %time%";
};
# - Module: pulseaudio -------------------
"module/pulseaudio" = {
"type" = "internal/pulseaudio";
"format-volume" = "<label-volume> <bar-volume>";
"label-volume" = "VOL %percentage%%";
"label-volume-foreground" = "\${colors.foreground-alt}";
"label-muted" = "muted";
"label-muted-foreground" = "#666";
"bar-volume-width" = "10";
"bar-volume-foreground-0" = "#55aa55";
"bar-volume-foreground-1" = "#55aa55";
"bar-volume-foreground-2" = "#55aa55";
"bar-volume-foreground-3" = "#55aa55";
"bar-volume-foreground-4" = "#55aa55";
"bar-volume-foreground-5" = "#f5a70a";
"bar-volume-foreground-6" = "#ff5555";
"bar-volume-gradient" = "false";
"bar-volume-indicator" = "|";
"bar-volume-indicator-font" = "0";
"bar-volume-fill" = "-";
"bar-volume-fill-font" = "0";
"bar-volume-empty" = "-";
"bar-volume-empty-font" = "0";
"bar-volume-empty-foreground" = "\${colors.foreground-alt}";
};
# - Module: battery ----------------------
"module/battery" = {
"type" = "internal/battery";
"battery" = "BAT0";
"adapter" = "AC";
"full-at" = "98";
"format-charging-prefix" = "\"\"";
"format-charging" = "<label-charging>";
"format-charging-foreground" = "#55aa55";
"format-charging-underline" = "";
"format-discharging-prefix" = "\"\"";
"format-discharging" = "<label-discharging>";
"format-discharging-foreground" = "#f5a70a";
"format-discharging-underline" = "";
"format-full" = "FULL BATTERY";
"format-full-foreground" = "#55aa55";
"format-full-underline" = "\${self.format-charging-underline}";
"ramp-capacity-0" = "";
"ramp-capacity-1" = "";
"ramp-capacity-2" = "";
"ramp-capacity-foreground" = "\${colors.foreground-alt}";
};
};
script = ''
#!/usr/bin/env bash
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
for m in $(polybar --list-monitors | cut -d":" -f1); do
WIRELESS=$(ls /sys/class/net/ | grep ^wl | awk 'NR==1{print $1}') MONITOR=$m polybar --reload mainbar-i3 &
done
echo "Bars launched..."
'';
};
};
}