diff --git a/common/wezterm/wezterm.lua b/common/wezterm/wezterm.lua index be2143e..442f417 100644 --- a/common/wezterm/wezterm.lua +++ b/common/wezterm/wezterm.lua @@ -11,7 +11,11 @@ config.default_cursor_style = 'BlinkingBar' catpuccin.apply_to_config(config) -config.font = wezterm.font('IosevkaLyteTerm', { weight = 'Regular', italic = false }) +config.font = wezterm.font_with_fallback{ + { family = 'IosevkaLyteTerm', weight = 'Regular', italic = false }, + { family = 'Symbols Nerd Font Mono', weight = 'Regular', italic = false }, + 'Noto Color Emoji', +} config.font_size = 12.0 config.hide_tab_bar_if_only_one_tab = true @@ -21,7 +25,7 @@ config.window_background_opacity = 1.0 config.color_scheme = "Catppuccin Mocha" -config.window_frame.font = wezterm.font { family = 'IosevkaLyteTerm', weight = 'Regular' } +config.window_frame.font = config.font config.window_frame.font_size = 12.0 config.inactive_pane_hsb = { @@ -67,6 +71,13 @@ config.keys = { }, } -config.default_gui_startup_args = { 'connect', 'unix' } +-- config.default_gui_startup_args = { 'connect', 'unix' } + +config.window_padding = { + top = '0.5cell', + bottom = '0.5cell', + left = '1cell', + right = '1cell', +} return config diff --git a/os/linux/arch/provision.d/optional/ui-packages.bash b/os/linux/arch/provision.d/optional/ui-packages.bash index 97b4f70..51847e5 100755 --- a/os/linux/arch/provision.d/optional/ui-packages.bash +++ b/os/linux/arch/provision.d/optional/ui-packages.bash @@ -30,7 +30,7 @@ paru -Sy --needed \ passff-host `# Pass integration in Firefox` \ kitty-git `# Terminal Emulator` \ wezterm `# Terminal Emulator` \ - pavucontrol pulsemixer `# Pulseaudio Controls` \ + pavucontrol pamixer `# Pulseaudio Controls` \ playerctl `# Media Keys Controls` \ feh `# Image Viewer and Wallpaper Manager` \ hyprland hyprpaper `# Wayland Compositor` \ diff --git a/os/linux/dotfiles-setup.d.fish b/os/linux/dotfiles-setup.d.fish index 20aecba..2f55c03 100644 --- a/os/linux/dotfiles-setup.d.fish +++ b/os/linux/dotfiles-setup.d.fish @@ -11,6 +11,7 @@ l sway/mimeapps.list $c/sway-mimeapps.list l sway/mimeapps.list $h/.local/share/applications/mimeapps.list l sway/lock $c/swaylock/config l hypr $c/hypr +l eww $c/eww l mako $c/mako l kanshi $c/kanshi l gtk/2rc $h/.gtkrc-2.0 diff --git a/os/linux/eww/eww.scss b/os/linux/eww/eww.scss new file mode 100644 index 0000000..0917714 --- /dev/null +++ b/os/linux/eww/eww.scss @@ -0,0 +1,70 @@ +$base: #1e1e2e; +$mantle: #181825; +$crust: #11111b; +$text: #cdd6f4; +$subtext0: #a6adc8; +$subtext1: #bac2de; +$surface0: #313244; +$surface1: #45475a; +$surface2: #585b70; +$overlay0: #6c7086; +$overlay1: #7f849c; +$overlay2: #9399b2; +$blue: #89b4fa; +$lavender: #b4befe; +$sapphire: #74c7ec; +$sky: #89dceb; +$teal: #94e2d5; +$green: #a6e3a1; +$yellow: #f9e2af; +$peach: #fab387; +$maroon: #eba0ac; +$red: #f38ba8; +$mauve: #cba6f7; +$pink: #f5c2e7; +$flamingo: #f2cdcd; +$rosewater: #f5e0dc; + +* { + all: unset; +} + +.bar { + background-color: $base; + color: $text; + font-family: IosevkaLyteTerm; + font-size: 12.0pt; +} + +.sidestuff slider { + color: #ffd5cd; +} + +.metric {} + +.metric label { + padding-right: 5px; +} + +.metric scale { + /*background-color: #ff00ff;*/ +} + +.metric scale trough { + background-color: $surface1; + color: $mantle; + border-radius: 50px; + min-height: 5px; + min-width: 50px; +} + +.metric scale trough highlight { + background-color: $flamingo; + color: $base; + border-radius: 10px; +} + +.bar>* { + padding-left: 10px; + padding-right: 10px; +} \ No newline at end of file diff --git a/os/linux/eww/eww.yuck b/os/linux/eww/eww.yuck new file mode 100644 index 0000000..12569ed --- /dev/null +++ b/os/linux/eww/eww.yuck @@ -0,0 +1,63 @@ +(defwidget bar [] + (centerbox :orientation "h" + (sidestuff) + (box) + (music) + ) +) + +(defwidget sidestuff [] + (box :class "sidestuff" :orientation "h" :space-evenly false :halign "start" :spacing 10 + time + ; TODO: get these to align properly + (metric :label " " + :value volume + :onchange "pamixer --set-volume {}%") + (metric :label " " + :value {EWW_RAM.used_mem_perc} + :onchange "") + (metric :label "󰋊" + :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} + :onchange "") + )) + +(defwidget music [] + (box :class "music" + :orientation "h" + :halign "end" + :space-evenly false + {music != "" ? "${music}" : ""})) + + +(defwidget metric [label value onchange] + (box :orientation "h" + :class "metric" + :space-evenly false + (box :class "label" label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + + + +(deflisten music :initial "" + "playerctl --follow metadata --format '{{ title }} by {{ artist }}' || true") + +(defpoll volume :interval "1s" + "pamixer --get-volume") + +(defpoll time :interval "10s" + "date '+%a %b %d %H:%M:%S'") + +(defwindow bar + :monitor 2 + :stacking "fg" + :exclusive true + :geometry (geometry :x "0%" + :y "0%" + :width "100%" + :height "31px" + :anchor "bottom center") + (bar)) diff --git a/os/linux/hypr/hyprland.conf b/os/linux/hypr/hyprland.conf index 062c97d..d067731 100644 --- a/os/linux/hypr/hyprland.conf +++ b/os/linux/hypr/hyprland.conf @@ -7,9 +7,8 @@ monitor=DP-3,3840x2160@120,1440x0,1,bitdepth,10 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch -exec-once = firefox & wezterm & hyprpaper & mako & /usr/lib/polkit-kde-authentication-agent-1 & waybar +exec-once = firefox & wezterm & hyprpaper & mako & /usr/lib/polkit-kde-authentication-agent-1 & waybar & eww daemon & eww open-many bar & swayidle -w timeout 600 'notify-send "Locking in 30 seconds..."' timeout 630 'swaylock -f' timeout 660 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f' -# Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. @@ -44,6 +43,9 @@ general { gaps_in = 3 gaps_out = 6 border_size = 1 + no_cursor_warps = true + resize_on_border = true + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(59595988) @@ -101,9 +103,9 @@ gestures { # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -device:epic-mouse-v1 { - sensitivity = -0.5 -} +# device:epic-mouse-v1 { +# sensitivity = -0.5 +# } # Example windowrule v1 # windowrule = float, ^(kitty)$ @@ -116,10 +118,11 @@ $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, wezterm -bind = $mainMod, U, exec, firefox -bind = $mainMod, space, exec, wofi --show drun bind = $mainMod, ret, exec, wezterm bind = $mainMod, return, exec, wezterm +bind = $mainMod SHIFT, return, exec, wezterm +bind = $mainMod, U, exec, firefox +bind = $mainMod, space, exec, wofi --show drun bind = $mainMod, C, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, dolphin @@ -143,6 +146,18 @@ bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, K, movewindow, u bind = $mainMod SHIFT, J, movewindow, d +bind = $mainMod SHIFT, V, exec, pamixer --default-source --toggle-mute +bind = , XF86AudioMicMute, exec, pamixer --default-source --toggle-mute +bind = , XF86AudioMute, exec, pamixer --toggle-mute +bind = , XF86AudioRaiseVolume, exec, pamixer --increase 5 +bind = , XF86AudioLowerVolume, exec, pamixer --decrease 5 +bind = CTRL, XF86AudioRaiseVolume, exec, pamixer --increase 1 +bind = CTRL, XF86AudioLowerVolume, exec, pamixer --decrease 1 + +bind = , XF86AudioPlay, exec, playerctl play-pause +bind = , XF86AudioNext, exec, playerctl next +bind = , XF86AudioPrev, exec, playerctl previous + # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2