diff --git a/.gitignore b/.gitignore
index 239a214..9775716 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
# Zed Backup Config
config/.config/zed/settings_backup.json
+
+# Neovim Lazy Lock
+config/.config/nvim/lazy-lock.json
diff --git a/ansible/playbooks/packages/desktop.txt b/ansible/playbooks/packages/desktop.txt
index e74424a..3b0af79 100644
--- a/ansible/playbooks/packages/desktop.txt
+++ b/ansible/playbooks/packages/desktop.txt
@@ -162,3 +162,4 @@ fd
keychain
stow
atuin
+hyprpaper
diff --git a/config/.config/hypr/hyprland.conf b/config/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..6366e5d
--- /dev/null
+++ b/config/.config/hypr/hyprland.conf
@@ -0,0 +1,301 @@
+
+# #######################################################################################
+# AUTOGENERATED HYPRLAND CONFIG.
+# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
+# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
+# #######################################################################################
+
+# This is an example Hyprland config file.
+# Refer to the wiki for more information.
+# https://wiki.hyprland.org/Configuring/
+
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki
+
+# You can split this configuration into multiple files
+# Create your files separately and then link them to this file like this:
+# source = ~/.config/hypr/myColors.conf
+
+
+################
+### MONITORS ###
+################
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=,preferred,auto,1.0
+
+
+###################
+### MY PROGRAMS ###
+###################
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+
+# Set programs that you use
+$terminal = alacritty
+$fileManager = nautilus
+$menu = wofi --show drun
+
+
+#################
+### AUTOSTART ###
+#################
+
+# Autostart necessary processes (like notifications daemons, status bars, etc.)
+# Or execute your favorite apps at launch like this:
+
+# exec-once = $terminal
+# exec-once = nm-applet &
+# exec-once = waybar & hyprpaper & firefox
+exec-once = waybar & hyprpaper & slack
+
+#############################
+### ENVIRONMENT VARIABLES ###
+#############################
+
+# See https://wiki.hyprland.org/Configuring/Environment-variables/
+
+env = XCURSOR_SIZE,24
+env = HYPRCURSOR_SIZE,24
+
+
+#####################
+### LOOK AND FEEL ###
+#####################
+
+# Refer to https://wiki.hyprland.org/Configuring/Variables/
+
+# https://wiki.hyprland.org/Configuring/Variables/#general
+general {
+ gaps_in = 5
+ gaps_out = 20
+
+ border_size = 2
+
+ # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
+ col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+ col.inactive_border = rgba(595959aa)
+
+ # Set to true enable resizing windows by clicking and dragging on borders and gaps
+ resize_on_border = false
+
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+
+ layout = dwindle
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#decoration
+decoration {
+ rounding = 10
+ rounding_power = 2
+
+ # Change transparency of focused and unfocused windows
+ active_opacity = 1.0
+ inactive_opacity = 1.0
+
+ shadow {
+ enabled = true
+ range = 4
+ render_power = 3
+ color = rgba(1a1a1aee)
+ }
+
+ # https://wiki.hyprland.org/Configuring/Variables/#blur
+ blur {
+ enabled = true
+ size = 3
+ passes = 1
+
+ vibrancy = 0.1696
+ }
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#animations
+animations {
+ enabled = yes, please :)
+
+ # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+
+ bezier = easeOutQuint,0.23,1,0.32,1
+ bezier = easeInOutCubic,0.65,0.05,0.36,1
+ bezier = linear,0,0,1,1
+ bezier = almostLinear,0.5,0.5,0.75,1.0
+ bezier = quick,0.15,0,0.1,1
+
+ animation = global, 1, 10, default
+ animation = border, 1, 5.39, easeOutQuint
+ animation = windows, 1, 4.79, easeOutQuint
+ animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
+ animation = windowsOut, 1, 1.49, linear, popin 87%
+ animation = fadeIn, 1, 1.73, almostLinear
+ animation = fadeOut, 1, 1.46, almostLinear
+ animation = fade, 1, 3.03, quick
+ animation = layers, 1, 3.81, easeOutQuint
+ animation = layersIn, 1, 4, easeOutQuint, fade
+ animation = layersOut, 1, 1.5, linear, fade
+ animation = fadeLayersIn, 1, 1.79, almostLinear
+ animation = fadeLayersOut, 1, 1.39, almostLinear
+ animation = workspaces, 1, 1.94, almostLinear, fade
+ animation = workspacesIn, 1, 1.21, almostLinear, fade
+ animation = workspacesOut, 1, 1.94, almostLinear, fade
+}
+
+# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
+# "Smart gaps" / "No gaps when only"
+# uncomment all if you wish to use that.
+# workspace = w[tv1], gapsout:0, gapsin:0
+# workspace = f[1], gapsout:0, gapsin:0
+# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
+# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
+# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
+# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
+
+# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+dwindle {
+ pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # You probably want this
+}
+
+# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+master {
+ new_status = master
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#misc
+misc {
+ force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
+}
+
+
+#############
+### INPUT ###
+#############
+
+# https://wiki.hyprland.org/Configuring/Variables/#input
+input {
+ kb_layout = us
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+
+ touchpad {
+ natural_scroll = false
+ }
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#gestures
+gestures {
+ workspace_swipe = false
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
+device {
+ name = epic-mouse-v1
+ sensitivity = -0.5
+}
+
+###################
+### KEYBINDINGS ###
+###################
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+$mainMod = SUPER # Sets "Windows" key as main modifier
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod, Q, exec, $terminal
+bind = $mainMod, C, killactive,
+bind = $mainMod, M, exit,
+bind = $mainMod, E, exec, $fileManager
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, R, exec, $menu
+bind = $mainMod, P, pseudo, # dwindle
+bind = $mainMod, J, togglesplit, # dwindle
+
+bind = $mainMod, O, exec, XDG_CURRENT_DESKTOP=sway flameshot gui
+
+bind = ,XF86MonBrightnessUp, exec, brightnessctl set 10%+
+bind = ,XF86MonBrightnessDown, exec, brightnessctl set 10%-
+bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Example special workspace (scratchpad)
+bind = $mainMod, S, togglespecialworkspace, magic
+bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# Laptop multimedia keys for volume and LCD brightness
+bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
+bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
+bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
+bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
+
+# Requires playerctl
+bindl = , XF86AudioNext, exec, playerctl next
+bindl = , XF86AudioPause, exec, playerctl play-pause
+bindl = , XF86AudioPlay, exec, playerctl play-pause
+bindl = , XF86AudioPrev, exec, playerctl previous
+
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+
+# Ignore maximize requests from apps. You'll probably like this.
+windowrulev2 = suppressevent maximize, class:.*
+
+# Fix some dragging issues with XWayland
+windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
diff --git a/config/.config/hypr/hyprpaper.conf b/config/.config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..92fde72
--- /dev/null
+++ b/config/.config/hypr/hyprpaper.conf
@@ -0,0 +1,3 @@
+preload = ~/.config/hypr/wallpaper.jpg
+wallpaper = ,contain:~/.config/hypr/wallpaper.jpg
+ipc = off
diff --git a/config/.config/hypr/wallpaper.jpg b/config/.config/hypr/wallpaper.jpg
new file mode 100644
index 0000000..465291d
Binary files /dev/null and b/config/.config/hypr/wallpaper.jpg differ
diff --git a/config/.config/hypr/wallpaper.png b/config/.config/hypr/wallpaper.png
new file mode 100644
index 0000000..9d60f39
Binary files /dev/null and b/config/.config/hypr/wallpaper.png differ
diff --git a/config/.config/nvim/lazy-lock.json b/config/.config/nvim/lazy-lock.json
index 264eeed..1141dda 100644
--- a/config/.config/nvim/lazy-lock.json
+++ b/config/.config/nvim/lazy-lock.json
@@ -5,7 +5,7 @@
"blink.compat": { "branch": "main", "commit": "b0c87b64f9c669d3bcfaea8a80396fbc16e0fcb5" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0" },
- "cmake-tools.nvim": { "branch": "master", "commit": "680a50111f6ebbbc0f126d07ad701bdbd4d1c599" },
+ "cmake-tools.nvim": { "branch": "master", "commit": "fccf6ce5f8ad2fde01e9e70797d78a6abbef7146" },
"conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" },
"crates.nvim": { "branch": "main", "commit": "1803c8b5516610ba7cdb759a4472a78414ee6cd4" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
@@ -26,7 +26,7 @@
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" },
- "nvim-lspconfig": { "branch": "master", "commit": "7c8cb61b21727a473663054edec4b83633d9e442" },
+ "nvim-lspconfig": { "branch": "master", "commit": "6b63bdf2399b9bedf93297d98419550523a9ad68" },
"nvim-treesitter": { "branch": "master", "commit": "5774e7d3da4f681296a87fcd85d17779ad362a4f" },
"nvim-treesitter-context": { "branch": "master", "commit": "198720b4016af04c9590f375d714d5bf8afecc1a" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
@@ -51,5 +51,5 @@
"vim-dadbod-ui": { "branch": "master", "commit": "f4d37b7312ae6489e5c04bee654ca521baac188a" },
"vim-helm": { "branch": "master", "commit": "ae1ebc160d2b9b90108477ab10df7a4fc501e358" },
"vim-wakatime": { "branch": "master", "commit": "e46d7c4f98ee0f40782008dd60cb2a79c377fb1d" },
- "which-key.nvim": { "branch": "main", "commit": "5bf7a73fe851896d5ac26d313db849bf00f45b78" }
+ "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}
diff --git a/config/.config/waybar/config.jsonc b/config/.config/waybar/config.jsonc
new file mode 100644
index 0000000..5ff2f00
--- /dev/null
+++ b/config/.config/waybar/config.jsonc
@@ -0,0 +1,187 @@
+{
+ "layer": "top", // Waybar at top layer
+ "position": "top", // Waybar position (top|bottom|left|right)
+ "height": 20, // Waybar height (to be removed for auto height)
+ "spacing": 8, // Gaps between modules (4px)
+ "reload_style_on_change": true,
+ "modules-left": ["custom/arch", "custom/notification", "hyprland/workspaces"],
+ "modules-center": ["clock", "cpu", "memory", "disk"],
+ "modules-right": [
+ "group/expand",
+ "pulseaudio",
+ "bluetooth",
+ "network",
+ "battery",
+ "custom/power",
+ ],
+ "custom/arch": {
+ "format": "",
+ "tooltip": true,
+ "tooltip-format": "btw",
+ },
+ "custom/notification": {
+ "tooltip": false,
+ "format": "🔔",
+ "on-click": "swaync-client -t -sw",
+ "escape": true,
+ },
+ "hyprland/workspaces": {
+ "format": "{name}: {icon}",
+ "format-icons": {
+ "active": "🟢",
+ "default": "",
+ "empty": "",
+ },
+ "persistent-workspaces": {
+ "*": [1, 2, 3, 4, 5],
+ },
+ "disable-scroll": true,
+ "all-outputs": true,
+ "warp-on-scroll": false,
+ },
+
+ "clock": {
+ "timezone": "Africa/Nairobi",
+ "format": "{:%a %d.%m.%y %I:%M:%S} ",
+ "interval": 1,
+ "tooltip-format": "{calendar}",
+ "calendar": {
+ "format": {
+ "today": "{}",
+ },
+ },
+ "actions": {
+ "on-click-right": "shift_down",
+ "on-click": "shift_up",
+ },
+ },
+ "cpu": {
+ "interval": 5,
+ "format": "{usage}% ",
+ "tooltip": true,
+ },
+ "memory": {
+ "interval": 5,
+ "format": "{percentage}% ",
+ "tooltip": true,
+ },
+ "disk": {
+ "interval": 30,
+ "format": "{percentage_used}% 🖴",
+ "tooltip": true,
+ },
+ "group/expand": {
+ "orientation": "horizontal",
+ "drawer": {
+ "transition-duration": 600,
+ "transition-to-left": true,
+ "click-to-reveal": true,
+ },
+ "modules": [
+ "custom/expand",
+ "idle_inhibitor",
+ "power-profiles-daemon",
+ "keyboard-state",
+ "temperature",
+ "custom/endpoint",
+ ],
+ },
+ "custom/expand": {
+ "format": "",
+ "tooltip": false,
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": "",
+ },
+ },
+ "power-profiles-daemon": {
+ "format": "{icon}",
+ "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
+ // "tooltip": true,
+ "format-icons": {
+ "default": "",
+ "performance": "",
+ "balanced": "",
+ "power-saver": "",
+ },
+ },
+ "keyboard-state": {
+ "numlock": true,
+ "capslock": true,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "locked": "",
+ "unlocked": "",
+ },
+ },
+ "temperature": {
+ "critical-threshold": 80,
+ "format": "{temperatureC}°C {icon}",
+ "format-icons": ["", "", ""],
+ },
+ "custom/endpoint": {
+ "format": "|",
+ "tooltip": false,
+ },
+ "pulseaudio": {
+ "format": "{volume}% {icon} {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""],
+ },
+ "on-click": "pavucontrol",
+ },
+ "bluetooth": {
+ "format-on": "",
+ "format-off": "BT-off",
+ "format-disabled": "",
+ "format-connected-battery": "{device_battery_percentage}% ",
+ "format-alt": "{device_alias} ",
+ "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
+ "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
+ "tooltip-format-enumerate-connected": "{device_alias}\n{device_address}",
+ "tooltip-format-enumerate-connected-battery": "{device_alias}\n{device_address}\n{device_battery_percentage}%",
+ "on-click-right": "blueman-manager",
+ },
+ "network": {
+ "format-wifi": "{essid} ",
+ "format-ethernet": "",
+ "format-disconnected": "Disconnected ⚠",
+ "format-alt": "{ifname}: {ipaddr}/{cidr}",
+ "tooltip-format-disconnected": "Error",
+ "tooltip-format-wifi": "{essid} ({signalStrength}%) {ipaddr}/{cidr} ",
+ "tooltip-format-ethernet": "{ifname} 🖧 ",
+ "on-click": "alacritty -e nmtui",
+ },
+ "battery": {
+ "interval": 10,
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 20,
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% ",
+ "format-plugged": "{capacity}% ",
+ "format-alt": "{time} {icon}",
+ "format-icons": ["", "", "", "", "", ""],
+ },
+ "custom/power": {
+ "format": "⏻ ",
+ "tooltip": false,
+ "on-click": "wlogout",
+ },
+}
diff --git a/config/.config/waybar/scripts/refresh.sh b/config/.config/waybar/scripts/refresh.sh
new file mode 100755
index 0000000..27ec7d9
--- /dev/null
+++ b/config/.config/waybar/scripts/refresh.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Check if waybar is running
+if pgrep -x "waybar" >/dev/null; then
+ # If running, kill the waybar process
+ pkill -x "waybar"
+else
+ # If not running, start waybar
+ waybar &
+fi
diff --git a/config/.config/waybar/scripts/start.sh b/config/.config/waybar/scripts/start.sh
new file mode 100644
index 0000000..5086640
--- /dev/null
+++ b/config/.config/waybar/scripts/start.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Start waybar
+
+#!/bin/bash
+
+# start waybar if not started
+if ! pgrep -x "waybar" >/dev/null; then
+ waybar &
+fi
+
+# current checksums
+current_checksum_config=$(md5sum ~/.config/waybar/config)
+current_checksum_style=$(md5sum ~/.config/waybar/style.css)
+
+# loop forever
+while true; do
+ # new checksums
+ new_checksum_config=$(md5sum ~/.config/waybar/config.jsonc)
+ new_checksum_style=$(md5sum ~/.config/waybar/style.css)
+
+ # if checksums are different
+ if [ "$current_checksum_config" != "$new_checksum_config" ] || [ "$current_checksum_style" != "$new_checksum_style" ]; then
+ # kill waybar
+ killall waybar
+
+ # start waybar
+ waybar &
+
+ # update checksums
+ current_checksum_config=$new_checksum_config
+ current_checksum_style=$new_checksum_style
+ fi
+done
diff --git a/config/.config/waybar/style.css b/config/.config/waybar/style.css
new file mode 100644
index 0000000..d1c0002
--- /dev/null
+++ b/config/.config/waybar/style.css
@@ -0,0 +1,153 @@
+@import url("../../.cache/wal/colors-waybar.css");
+
+* {
+ border: none;
+ border-radius: 0;
+ font-size: 14px;
+ font-family: "CodeNewRoman Nerd Font Propo";
+ font-weight: 700;
+ min-height: 0;
+}
+
+window#waybar {
+ all: unset;
+}
+
+.modules-left {
+ padding: 7px;
+ margin: 10 0 5 10;
+ border-radius: 10px;
+ background: alpha(@background, 0.6);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
+}
+.modules-center {
+ padding: 7px;
+ margin: 10 0 5 0;
+ border-radius: 10px;
+ background: alpha(@background, 0.6);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
+}
+.modules-right {
+ padding: 7px;
+ margin: 10 10 5 0;
+ border-radius: 10px;
+ background: alpha(@background, 0.6);
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
+}
+tooltip {
+ background: @background;
+ color: @color7;
+}
+#clock:hover,
+#custom-notification:hover,
+#bluetooth:hover,
+#network:hover,
+#battery:hover,
+#cpu:hover,
+#memory:hover,
+#temperature:hover {
+ transition: all 0.3s ease;
+ color: @color8;
+}
+#custom-notification {
+ padding: 0px 5px;
+ transition: all 0.3s ease;
+ color: @color7;
+}
+#clock {
+ padding: 0px 5px;
+ color: @color7;
+ transition: all 0.3s ease;
+}
+#workspaces {
+ padding: 0px 5px;
+}
+#workspaces button {
+ all: unset;
+ padding: 0px 5px;
+ color: alpha(@color9, 0.4);
+ transition: all 0.2s ease;
+}
+#workspaces button:hover {
+ color: rgba(0, 0, 0, 0);
+ border: none;
+ text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 0.5);
+ transition: all 1s ease;
+}
+#workspaces button.active {
+ color: @color9;
+ border: none;
+ text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
+}
+#workspaces button.empty {
+ color: rgba(0, 0, 0, 0);
+ border: none;
+ text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 0.2);
+}
+#workspaces button.empty:hover {
+ color: rgba(0, 0, 0, 0);
+ border: none;
+ text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 0.5);
+ transition: all 1s ease;
+}
+#workspaces button.empty.active {
+ color: @color9;
+ border: none;
+ text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
+}
+#bluetooth {
+ padding: 0px 5px;
+ transition: all 0.3s ease;
+ color: @color7;
+}
+#network {
+ padding: 0px 5px;
+ transition: all 0.3s ease;
+ color: greenyellow;
+}
+#battery {
+ padding: 0px 5px;
+ transition: all 0.3s ease;
+ color: @color7;
+}
+#battery.charging {
+ color: #26a65b;
+}
+
+#battery.warning:not(.charging) {
+ color: #ffbe61;
+}
+
+#battery.critical:not(.charging) {
+ color: #f53c3c;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+#group-expand {
+ padding: 0px 5px;
+ transition: all 0.3s ease;
+}
+#custom-expand {
+ padding: 0px 5px;
+ color: alpha(@foreground, 0.2);
+ text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.7);
+ transition: all 0.3s ease;
+}
+#custom-expand:hover {
+ color: rgba(255, 255, 255, 0.2);
+ text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.5);
+}
+#cpu,
+#memory,
+#temperature {
+ padding: 0px 5px;
+ transition: all 0.3s ease;
+ color: @color7;
+}
+#custom-endpoint {
+ color: transparent;
+ text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 1);
+}
diff --git a/config/.config/zed/settings.json b/config/.config/zed/settings.json
index 9cfe9f4..af2f1fc 100644
--- a/config/.config/zed/settings.json
+++ b/config/.config/zed/settings.json
@@ -20,6 +20,7 @@
]
}
],
+ "vim_mode": false,
"autosave": {
"after_delay": {
"milliseconds": 1000
@@ -59,7 +60,7 @@
},
"theme": "Gruvbox Dark",
"telemetry": {
- "diagnostics": false,
+ "diagnostics": true,
"metrics": false
},
"format_on_save": "on",