diff --git a/home/home.nix b/home/home.nix index 671506a..dd21cfd 100644 --- a/home/home.nix +++ b/home/home.nix @@ -252,6 +252,319 @@ }; }; + programs.waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + output = ["DP-1" "eDP-1"]; + position = "bottom"; + height = 35; + width = 1400; + # Choose the order of the modules "custom/wintitle", + modules-left = ["wlr/workspaces" "workspaces" "hyprland/window"]; + modules-center = ["clock"]; + modules-right = ["pulseaudio" "backlight" "temperature" "memory" "cpu" "battery" "tray"]; + margin-top = -5; + margin-bottom = 8; + margin-left = 6; + margin-right = 6; + "hyprland/window" = { + format = " {}"; + }; + workspaces = { + format = " {name} "; + }; + "wlr/workspaces" = { + format = "{icon}"; + on-scroll-up = "hyprctl dispatch workspace e+1"; + on-scroll-down = "hyprctl dispatch workspace e-1"; + }; + tray = { + icon-size = 21; + spacing = 10; + }; + clock = { + tooltip-format = "{:%Y %B}\n{calendar}"; + format-alt = "{:%Y-%m-%d}"; + format = "{:%a %b %e, %I:%M %p}"; + }; + cpu = { + format = " {usage}%"; + }; + memory = { + format = " {}%"; + }; + temperature = { + # "thermal-zone": 2, + # "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + critical-threshold = 80; + # "format-critical": "{temperatureC}°C {icon}", + format = "{icon} {temperatureC}°C"; + format-icons = ["" "" ""]; + }; + backlight = { + # "device": "acpi_video1", + format = "{icon} {percent}%"; + format-icons = ["" ""]; + }; + battery = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{icon} {capacity}%"; + format-charging = "{icon} {capacity}%"; + format-plugged = " {capacity}%"; + format-alt = "{time} {icon}"; + format-good = "{icon} {capacity}%"; + format-full = "󰁹 {capacity}%"; + format-icons = ["󰁺" "󰁼" "󰁾" "󰂀" "󰂂"]; + format-charging-icons = ["󰢜" "󰂇" "󰢝" "󰢞" "󰂋"]; + }; + network = { + # "interface": "wlp2*", // (Optional) To force the use of this interface + format-wifi = " ({signalStrength}%)"; + format-ethernet = " {ipaddr}"; + format-linked = "{ifname} (No IP) "; + format-disconnected = "Disconnected ⚠"; + format-alt = "{ifname}: {essid} {ipaddr}/{cidr}"; + }; + pulseaudio = { + scroll-step = 1; + format = "{icon} {volume}% {format_source}"; + format-bluetooth = "{icon} {volume}% {format_source}"; + format-bluetooth-muted = " {icon} {format_source}"; + format-muted = "ﱝ muted"; + format-source = " {volume}%"; + format-source-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = ["" "" ""]; + }; + on-click = "alacritty --class pulsemixer -e pulsemixer"; + }; + }; + }; + style = '' +@define-color base00 #282a36; +@define-color base01 #34353e; +@define-color base02 #43454f; +@define-color base03 #78787e; +@define-color base04 #a5a5a9; +@define-color base05 #e2e4e5; +@define-color base06 #eff0eb; +@define-color base07 #f1f1f0; +@define-color base08 #ff5c57; +@define-color base09 #ff9f43; +@define-color base0A #f3f99d; +@define-color base0B #5af78e; +@define-color base0C #9aedfe; +@define-color base0D #57c7ff; +@define-color base0E #ff6ac1; +@define-color base0F #b2643c; +@define-color basetransparent rgba(40, 42, 54, 0.0); +@define-color backtransparent rgba(40, 42, 54, 0.7); +* { + border: 1px; + border-radius: 20px; + font-family: VictorMono Nerd Font; + font-size: 15px; + font-weight: normal; + box-shadow: none; + text-shadow: none; + transition-duration: 0s; + padding-top: 0px; + padding-bottom: 0px; +} + + +window { + background: transparent; + /* border-radius: 20px; */ +} + +window#waybar > box { + padding-top: 5px; + padding-bottom: 3px; + padding-left: 3px; + padding-right: 10px; + color: @base05; + box-shadow: 5px 5px 3px 3px #101010; + margin: 12px 14px 14px 14px; + background: @backtransparent; +} + +#workspaces { + border-radius: 20px; + margin-left: 10px; + padding-right: 10px; + background: transparent; + transition: none; +} + +#tags { + border-radius: 20px; + margin-left: 6px; + padding-right: 10px; + background: transparent; + transition: none; +} + +#workspaces button { + transition: none; + color: rgba(217, 216, 216, 0.4); + background: transparent; +} + +#tags button { + transition: none; + color: rgba(217, 216, 216, 0.4); + background: transparent; +} + +#workspaces button.visible { + color: rgba(217, 216, 216, 1); +} + +#tags button.occupied { + color: rgba(217, 216, 216, 1); +} + +#workspaces button.focused { + color: @base0C; +} + +#tags button.focused { + color: @base0C; +} + +#workspaces button:hover { + transition: none; + box-shadow: inherit; + text-shadow: inherit; + color: @base0E; +} + +#workspaces button.urgent { + color: @base08; +} + +#mode, #battery, #cpu, #memory, #network, #pulseaudio, #idle_inhibitor, #backlight, #custom-storage, #custom-spotify, #custom-weather, #custom-mail { + margin: 0px 3px 0px 3px; + /* min-width: 25px; */ +} + +#clock { + margin-left: 2px; + margin-right: 2px; + padding-left: 10px; + padding-right: 10px; + border-radius: 20px; + transition: none; + color: @base0B; + background: transparent; +} + +#backlight { + margin-left: 2px; + margin-right: 2px; + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base08; + background: transparent; +} + +#battery.warning { + color: @base09; +} + +#battery.critical { + color: @base08; +} + +#battery.charging { + color: @base0B; +} + +#pulseaudio { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base09; + background: transparent; +} + +#network { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base0B; + background: transparent; +} + +#cpu { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base09; + background: transparent; +} + +#battery { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base0D; + background: transparent; +} + +#battery.bat2 { + margin-right: 10px; +} + +#memory { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base0C; + background: transparent; +} + +#temperature { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base0E; + background: transparent; +} + +#tray { + padding-left: 5px; + padding-right: 5px; + border-radius: 20px; + transition: none; + color: @base0E; + background: transparent; +} + + ''; + }; + home.file.".mozilla/native-messaging-hosts".source = "/run/current-system/sw/lib/mozilla/native-messaging-hosts"; home.file.".mozilla/firefox/nw77o6yc.default/chrome" = {