diff --git a/.chezmoiignore b/.chezmoiignore
new file mode 100644
index 0000000..e0af012
--- /dev/null
+++ b/.chezmoiignore
@@ -0,0 +1,3 @@
+.oh-my-zsh/cache
+.oh-my-zsh/log
+*.swp
diff --git a/private_dot_config/waybar/config.jsonc b/private_dot_config/waybar/config.jsonc
new file mode 100644
index 0000000..7a65838
--- /dev/null
+++ b/private_dot_config/waybar/config.jsonc
@@ -0,0 +1,117 @@
+{
+ "layer": "top",
+ "position": "bottom",
+ "height": 26,
+ // Choose the order of the modules
+ "modules-left": [
+ "sway/workspaces",
+ "sway/mode",
+ "custom/mic",
+ "custom/yubikey",
+ "sway/window",
+ ],
+ "modules-center": [],
+ "modules-right": [
+ "custom/khal",
+ "custom/wireguard",
+ "custom/iwd",
+ "bluetooth",
+ "pulseaudio",
+ "custom/inbox",
+ // "tray",
+ "battery",
+ "clock",
+ ],
+ // Modules configuration
+ "sway/workspaces": {
+ "disable-scroll": false,
+ "disable-scroll-wraparound": true,
+ "enable-bar-scroll": true,
+ "all-outputs": true,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "focused": "",
+ "default": "",
+ },
+ },
+ "custom/mic": {
+ "exec": "$HOME/.local/lib/waybar-mic",
+ "return-type": "json",
+ "on-click": "pactl set-source-mute @DEFAULT_SOURCE@ toggle",
+ },
+ "custom/yubikey": {
+ "exec": "$HOME/.local/lib/waybar-yubikey",
+ "return-type": "json",
+ },
+ "sway/mode": {
+ "format": "{}",
+ },
+ "sway/window": {
+ "icon": false,
+ "tooltip": false,
+ },
+ "custom/khal": {
+ "exec": "$HOME/.local/lib/waybar-khal",
+ "return-type": "json",
+ "on-click": "pause khal list now 24h",
+ },
+ "custom/inbox": {
+ "exec": "$HOME/.local/lib/waybar-inbox",
+ },
+ "clock": {
+ "interval": 1,
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format": " {:%a %Y-%m-%d %X}",
+ },
+ "battery": {
+ "states": {
+ // Results in "format-full" being used.
+ "full": 100,
+ // Applies a CSS animation/alert.
+ "critical": 15,
+ },
+ "format": "{icon} {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{icon} {power}W {time}", // Toggled on click.
+ "format-icons": ["", "", "", "", "", "", "", "", "", ""],
+ // More icons in this range: ->
+ // More icons in this range: ->
+ // More icons in this range: ->
+ },
+ "bluetooth": {
+ "format-connected": " {num_connections}",
+ // TODO: show icons representing each device (e.g.: mouse, headphones, speaker, etc)
+ "tooltip-format": "{device_enumerate}",
+ "tooltip-format-enumerate-connected-battery": "{device_alias}, {device_battery_percentage}%",
+ "on-click": "foot -e bluetuith",
+ },
+ "custom/iwd": {
+ "exec": "$HOME/.local/lib/waybar-iwd",
+ "interval": 1, // FIXME: pointless wake-ups every 1000ms.
+ },
+ "custom/wireguard": {
+ "exec": "$HOME/.local/lib/waybar-wireguard",
+ "interval": 1, // FIXME: pointless wake-ups every 1000ms.
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{icon} {volume}%",
+ "format-bluetooth": "{icon} {volume}% ",
+ "format-bluetooth-muted": " ",
+ "format-muted": "",
+ "format-icons": {
+ "speaker": "",
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""],
+ },
+ "on-click": "pavucontrol",
+ "on-click-right": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
+ "reverse-mouse-scrolling": 1,
+ },
+}