diff --git a/programs/hyprland/default.nix b/programs/hyprland/default.nix index 499a64e..78eac0a 100644 --- a/programs/hyprland/default.nix +++ b/programs/hyprland/default.nix @@ -120,8 +120,8 @@ gaps_in = 6 gaps_out = 18 border_size = 2 - col.active_border = $lavender $red 15deg - col.inactive_border = $yellow $sapphire 15deg + col.active_border = $base $surface0 $red 45deg + col.inactive_border = $base $surface0 $yellow 45deg layout = dwindle } diff --git a/programs/waybar.nix b/programs/waybar.nix index d8b7ecc..6517828 100644 --- a/programs/waybar.nix +++ b/programs/waybar.nix @@ -1,45 +1,135 @@ -{ pkgs, ... }: +{ ... }: { programs.waybar = { enable = true; - package = (pkgs.waybar.overrideAttrs (oldAttrs: { - mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; - }) - ); - settings = { mainBar = { layer = "top"; - position = "top"; + margin = "10px 10px 0"; + height = 30; + modules-left = [ - "hyprland/submap" "hyprland/workspaces" - "custom/arrow10" - "hyprland/window" + ]; + modules-center = [ + "clock" ]; modules-right = [ - "custom/arrow9" "pulseaudio" - "custom/arrow8" "network" - "custom/arrow7" "memory" - "custom/arrow6" "cpu" - "custom/arrow5" "temperature" - "custom/arrow4" "battery" - "custom/arrow3" "hyprland/language" - "custom/arrow2" "tray" - "clock#date" - "custom/arrow1" - "clock#time" ]; + "hyprland/workspaces" = { + format = "{icon}"; + + format-icons = { + active = ""; + default = ""; + empty = ""; + persistent = ""; + special = ""; + urgent = ""; + }; + }; + + clock = { + format = "{:%H:%M} "; + format-alt = "{:%A; %B %d, %Y (%R)} "; + tooltip-format = "{calendar}"; + calendar = { + mode = "month"; + mode-mon-col = 3; + weeks-pos = "right"; + on-scroll = 1; + on-click-right = "mode"; + format = { + months = "{}"; + days = "{}"; + weeks = "W{}"; + weekdays = "{}"; + today = "{}"; + }; + actions = { + on-click-backward = "tz_down"; + on-click-forward = "tz_up"; + on-click-right = "mode"; + on-scroll-down = "shift_down"; + on-scroll-up = "shift_up"; + }; + }; + }; + + pulseaudio = { + format = "{icon} {volume}%"; + format-bluetooth = "{icon} {volume}%"; + format-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + ]; + }; + scroll-step = 1; + on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; + tooltip = false; + }; + + + network = { + interval = 5; + format = " {bandwidthUpBits} 󰇙 {bandwidthDownBits} "; + format-disconnected = " No connection"; + tooltip-format-wifi = " {essid} ({signalStrength}%)"; + }; + + memory = { + interval = 5; + format = " {percentage}%"; + states = { + warning = 70; + critical = 90; + }; + "tooltip-format" = " {used:0.1f}G/{total:0.1f}G"; + }; + + cpu = { + interval = 5; + tooltip = false; + format = " {usage}%"; + format-alt = " {load}"; + states = { + warning = 70; + critical = 90; + }; + }; + + temperature = { + critical-threshold = 90; + interval = 5; + format = "{icon} {temperatureC}°"; + format-icons = [ + "" + "" + "" + "" + "" + ]; + tooltip = false; + }; + # Module configuration battery = { interval = 10; @@ -64,159 +154,24 @@ tooltip = false; }; - "clock#time" = { - interval = 10; - format = "{:%H:%M}"; - tooltip = false; - }; - "clock#date" = { - interval = 20; - format = "{:%e %b %Y}"; - tooltip = false; - #"tooltip-format" = "{:%e %B %Y}" - }; - - "cpu" = { - interval = 5; - tooltip = false; - format = " {usage}%"; - format-alt = " {load}"; - states = { - warning = 70; - critical = 90; - }; - }; - "hyprland/language" = { - format = " {}"; - min-length = 5; - #"on-click" = "swaymsg 'input * xkb_switch_layout next'"; - tooltip = false; - }; - - memory = { - interval = 5; - format = "🧠 {used:0.1f}G/{total:0.1f}G"; - states = { - "warning" = 70; - "critical" = 90; - }; - tooltip = false; - }; - - network = { - interval = 5; - format-wifi = " {essid} ({signalStrength}%)"; - format-ethernet = " {ifname}"; - format-disconnected = "No connection"; - format-alt = " {ipaddr}/{cidr}"; - tooltip = false; - }; - - "hyprland/submap" = { - format = "{}"; - tooltip = false; - }; - - "hyprland/window" = { - format = "{}"; - max-length = 30; - tooltip = false; - }; - - pulseaudio = { - format = "{icon} {volume}%"; - format-bluetooth = "{icon} {volume}%"; - format-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - ]; - }; - scroll-step = 1; - on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; - tooltip = false; - }; - - temperature = { - critical-threshold = 90; - interval = 5; - format = "{icon} {temperatureC}°"; - format-icons = [ - "" - "" - "" - "" - "" - ]; + format = " {}"; + format-en = "EN/US"; + format-pt-br = "PT/BR"; + #"on-click" = "hyprctl switchxkblayout www.hfd.cn-monsgeek-keyboard-1 next"; tooltip = false; }; tray = { icon-size = 18; - #"spacing" = 10 - }; - - "custom/arrow1" = { - format = ""; - tooltip = false; - }; - - "custom/arrow2" = { - format = ""; - tooltip = false; - }; - - "custom/arrow3" = { - format = ""; - tooltip = false; - }; - - "custom/arrow4" = { - format = ""; - tooltip = false; - }; - - "custom/arrow5" = { - format = ""; - tooltip = false; - }; - - "custom/arrow6" = { - format = ""; - tooltip = false; - }; - - "custom/arrow7" = { - format = ""; - tooltip = false; - }; - - "custom/arrow8" = { - format = ""; - tooltip = false; - }; - - "custom/arrow9" = { - format = ""; - tooltip = false; - }; - - "custom/arrow10" = { - format = ""; - tooltip = false; + spacing = 10; }; }; }; style = '' + /* Using https://github.com/catppuccin/catppuccin for color reference. */ + /* Keyframes */ @keyframes blink-critical { to { @@ -225,260 +180,61 @@ } } - /* Styles */ - - /* Colors (gruvbox) */ - @define-color black #282828; - @define-color red #cc241d; - @define-color green #98971a; - @define-color yellow #d79921; - @define-color blue #458588; - @define-color purple #b16286; - @define-color aqua #689d6a; - @define-color gray #a89984; - @define-color brgray #928374; - @define-color brred #fb4934; - @define-color brgreen #b8bb26; - @define-color bryellow #fabd2f; - @define-color brblue #83a598; - @define-color brpurple #d3869b; - @define-color braqua #8ec07c; - @define-color white #ebdbb2; - @define-color bg2 #504945; - - - @define-color warning @bryellow; - @define-color critical @red; - @define-color mode @black; - @define-color unfocused @bg2; - @define-color focused @braqua; - @define-color inactive @purple; - @define-color sound @brpurple; - @define-color network @purple; - @define-color memory @braqua; - @define-color cpu @green; - @define-color temp @brgreen; - @define-color layout @bryellow; - @define-color battery @aqua; - @define-color date @black; - @define-color time @white; - - /* Reset all styles */ * { - border: none; - border-radius: 0; - min-height: 0; - margin: 0; - padding: 0; - box-shadow: none; - text-shadow: none; - icon-shadow: none; + all: unset; + color: #c6d0f5; + font-family: "FantasqueSansM Nerd Font", 'Courier New', Courier, monospace; + font-size: 16px; } - /* The whole bar */ - #waybar { - background: rgba(40, 40, 40, 0.8784313725); /* #282828e0 */ - color: @white; - font-family: JetBrains Mono, Siji; - font-size: 10pt; - /*font-weight: bold;*/ + .modules-left, + .modules-right, + .modules-center { + padding: 0 20px; + border-radius: 10px; + background-color: rgba(48, 52, 70, 0.85); } - /* Each module */ - #battery, - #clock, - #cpu, - #language, - #memory, - #mode, - #network, - #pulseaudio, - #temperature, - #tray, - #backlight, - #idle_inhibitor, - #disk, - #user, - #mpris { - padding-left: 8pt; - padding-right: 8pt; + tooltip { + background-color: rgba(48, 52, 70, 0.85); + border-radius: 10px; + padding: 8px; } - /* Each critical module */ - #mode, - #memory.critical, - #cpu.critical, - #temperature.critical, - #battery.critical.discharging { - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - animation-name: blink-critical; - animation-duration: 1s; + tooltip label { + color: #c6d0f5; } - /* Each warning */ - #network.disconnected, - #memory.warning, - #cpu.warning, - #temperature.warning, - #battery.warning.discharging { - color: @warning; + #workspaces { + margin-left: -5px; + padding-left: 0px; } - /* And now modules themselves in their respective order */ - - /* Current sway mode (resize etc) */ - #mode { - color: @white; - background: @mode; - } - - /* Workspaces stuff */ #workspaces button { - /*font-weight: bold;*/ - padding-left: 2pt; - padding-right: 2pt; - color: @white; - background: @unfocused; + margin: 0 8px; } - /* Inactive (on unfocused output) */ - #workspaces button.visible { - color: @white; - background: @inactive; - } - - /* Active (on focused output) */ - #workspaces button.focused { - color: @black; - background: @focused; - } - - /* Contains an urgent window */ - #workspaces button.urgent { - color: @black; - background: @warning; - } - - /* Style when cursor is on the button */ #workspaces button:hover { - background: @black; - color: @white; + background: #414559; + border: none; } - #window { - margin-right: 35pt; - margin-left: 35pt; + #clock { + padding: 0 10px; } - #pulseaudio { - background: @sound; - color: @black; - } - - #network { - background: @network; - color: @white; - } - - #memory { - background: @memory; - color: @black; - } - - #cpu { - background: @cpu; - color: @white; - } - - #temperature { - background: @temp; - color: @black; - } - - #language { - background: @layout; - color: @black; - } - - #battery { - background: @battery; - color: @white; + #network, #cpu, #memory, #language, #temperature, #pulseaudio { + margin: 0 8px; } #tray { - background: @date; + margin-left: 8px; } - #clock.date { - background: @date; - color: @white; - } - - #clock.time { - background: @time; - color: @black; - } - - #custom-arrow1 { - font-size: 11pt; - color: @time; - background: @date; - } - - #custom-arrow2 { - font-size: 11pt; - color: @date; - background: @layout; - } - - #custom-arrow3 { - font-size: 11pt; - color: @layout; - background: @battery; - } - - #custom-arrow4 { - font-size: 11pt; - color: @battery; - background: @temp; - } - - #custom-arrow5 { - font-size: 11pt; - color: @temp; - background: @cpu; - } - - #custom-arrow6 { - font-size: 11pt; - color: @cpu; - background: @memory; - } - - #custom-arrow7 { - font-size: 11pt; - color: @memory; - background: @network; - } - - #custom-arrow8 { - font-size: 11pt; - color: @network; - background: @sound; - } - - #custom-arrow9 { - font-size: 11pt; - color: @sound; - background: transparent; - } - - #custom-arrow10 { - font-size: 11pt; - color: @unfocused; - background: transparent; + #tray menu { + background-color: rgba(48, 52, 70, 0.85); + border-radius: 10px; + padding: 8px; } ''; }; diff --git a/scripts/hyprland/start_services.sh b/scripts/hyprland/start_services.sh index c70cfcc..b688669 100755 --- a/scripts/hyprland/start_services.sh +++ b/scripts/hyprland/start_services.sh @@ -9,10 +9,10 @@ waybar & ## Start wallpaper daemon and set one. # OUTPUT_1="DP-2" -IMAGE_1="/mnt/internal/personal/wallpapers/wallhaven-g71xoe.jpg" +IMAGE_1="/mnt/internal/personal/wallpapers/wallhaven-z8e3wo.png" OUTPUT_2="DP-3" -IMAGE_2="/mnt/internal/personal/wallpapers/wallhaven-3zjexv.jpg" +IMAGE_2="/mnt/internal/personal/wallpapers/wallhaven-g7ze63.jpg" function load_wallpapers() { swww img -t any --transition-bezier 0.0,0.0,1.0,1.0 --transition-duration .8 --transition-step 255 --transition-fps 60 -o $OUTPUT_1 $IMAGE_1; diff --git a/theming/sddm.nix b/theming/sddm.nix index 7a8fff3..ec16288 100644 --- a/theming/sddm.nix +++ b/theming/sddm.nix @@ -1,11 +1,11 @@ { pkgs }: let - imgLink = "https://w.wallhaven.cc/full/1p/wallhaven-1p398w.jpg"; + imgLink = "https://w.wallhaven.cc/full/yj/wallhaven-yjq257.png"; image = pkgs.fetchurl { url = imgLink; - sha256 = "5347bc5a114db8afe9d189682a75565e8d0bc46e003f714879d6957729224335"; + sha256 = "sha256-lrQv8VAks86zMzRaF9VEZotp78O9M7/dV8jZNTRb6SY="; }; in pkgs.stdenv.mkDerivation {