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",