From 365c17b8c6aa126aba935ec0fd6054321dab7976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Czy=C5=BC?= Date: Thu, 8 Feb 2024 12:12:52 +0100 Subject: [PATCH] parity migration part 1 --- hypr/.config/hypr/autostart.sh | 12 + hypr/.config/hypr/hyprland.conf | 303 +++++++++++++++++++++++++ hypr/.config/hypr/hyprload.toml | 4 + hypr/.config/hypr/hyprpaper.conf | 5 + hypr/.config/hypr/import-gsettings | 15 ++ hypr/.config/hypr/session.sh | 12 + kitty/.config/kitty/kitty.conf | 9 +- kitty/.config/kitty/kitty.conf.bak | 19 ++ kitty/.config/kitty/macchiato.conf | 80 +++++++ waybar/.config/waybar/config | 135 +++++++++++ waybar/.config/waybar/launcher.sh | 10 + waybar/.config/waybar/macchiato.css | 37 +++ waybar/.config/waybar/style.css | 340 ++++++++++++++++++++++++++++ zsh/.p10k.zsh | 92 ++++++-- zsh/.zprofile | 4 +- zsh/.zsh_plugins.txt | 9 + zsh/.zshrc | 197 ++-------------- 17 files changed, 1085 insertions(+), 198 deletions(-) create mode 100755 hypr/.config/hypr/autostart.sh create mode 100644 hypr/.config/hypr/hyprland.conf create mode 100644 hypr/.config/hypr/hyprload.toml create mode 100644 hypr/.config/hypr/hyprpaper.conf create mode 100644 hypr/.config/hypr/import-gsettings create mode 100755 hypr/.config/hypr/session.sh create mode 100644 kitty/.config/kitty/kitty.conf.bak create mode 100644 kitty/.config/kitty/macchiato.conf create mode 100644 waybar/.config/waybar/config create mode 100755 waybar/.config/waybar/launcher.sh create mode 100644 waybar/.config/waybar/macchiato.css create mode 100644 waybar/.config/waybar/style.css create mode 100644 zsh/.zsh_plugins.txt diff --git a/hypr/.config/hypr/autostart.sh b/hypr/.config/hypr/autostart.sh new file mode 100755 index 0000000..6bab2d1 --- /dev/null +++ b/hypr/.config/hypr/autostart.sh @@ -0,0 +1,12 @@ +#!/bin/zsh + +hyprpaper & disown +# wayvnc & disown +/usr/lib/polkit-kde-authentication-agent-1 & +dunst & +fcitx5 -d & +flameshot & +easyeffects --gapplication-service & + +$HOME/.config/waybar/launcher.sh & +$HOME/.config/hypr/session.sh & diff --git a/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf new file mode 100644 index 0000000..c2227aa --- /dev/null +++ b/hypr/.config/hypr/hyprland.conf @@ -0,0 +1,303 @@ +# This is an example Hyprland config file. +# +# Refer to the wiki for more information. + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=DP-2, highrr, 1920x0, 1 +monitor=DP-1, highrr, 4480x0, 1 +monitor=HDMI-A-1, preferred, 0x360, 1 + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox +exec-once=zsh $HOME/.config/hypr/autostart.sh +# exec-once=hyprctl setcursor Vimix-white-cursors 24 +# exec-once=$HOME/.local/share/hyprload/hyprload.sh +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = nemo +$tcmd = krusader +$menu = $HOME/.config/rofi/scripts/launcher +$lock = swaylock --screenshots --effect-pixelate 20 --effect-vignette 0.5:0.5 --fade-in 0.2 + +# Some default env vars. +env = XCURSOR_SIZE,16 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = pl + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = true + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 10 + gaps_out = 20 + border_size = 0 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + inactive_opacity = 0.95 + active_opacity = 0.97 + + blur { + size = 3 + passes = 2 + + vibrancy = 0.1696 + } + + drop_shadow = true + shadow_range = 15 + shadow_render_power = 3 + col.shadow = rgba(00000055) +} + +animations { + enabled = true + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = false +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device:epic-mouse-v1 { + sensitivity = -0.5 +} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# windowrule=opacity 0.90, ^(kitty)$ +# windowrule=opacity 0.90, ^(Code)$ +windowrule=opacity 1.0 override 1.0, ^(firefox)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. + + +windowrulev2 = float,class:^(flameshot)$ +windowrulev2 = pin,class:^(flameshot)$ + +plugin { + monitor-workspaces { + count = 10 + } +} + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod SHIFT, RETURN, exec, $terminal +# bind = $mainMod, Q, exec, $terminal +bind = $mainMod, Q, killactive, +# bind = $mainMod, C, killactive, +bind = $mainMod SHIFT, Q, exit, +# bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $tcmd +bind = $mainMod, N, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod SHIFT, L, exec, $lock +# bind = $mainMod, R, exec, $menu +bind = $mainMod, SPACE, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# 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, movetoworkspacesilent, 1 +bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 +bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 +bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 +bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 +bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 +bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 +bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 +bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 +bind = $mainMod SHIFT, 0, movetoworkspacesilent, 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 + +# bind = $mainMod, code:59, changemonitor, e-1 +# bind = $mainMod, code:60, changemonitor, e+1 + +# bind = $mainMod SHIFT, code:59, changemonitorsilent, e-1 +# bind = $mainMod SHIFT, code:60, changemonitorsilent, e+1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +bind=,XF86AudioMicMute,exec,amixer set Capture toggle +bind=,XF86AudioMute,exec,amixer set Master toggle +bind=,XF86AudioRaiseVolume,exec,amixer set Master playback 5%+ +bind=,XF86AudioLowerVolume,exec,amixer set Master playback 5%- +bind=,XF86MonBrightnessUp,exec,brightnessctl set 10%+ +bind=,XF86MonBrightnessDown,exec,brightnessctl set 10%- +# bind=,XF86Launch2,exec,touch-mode +# bind=CTRL,XF86Launch2,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1" +# bind=SHIFT,XF86Launch2,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5" +bind=SHIFT,XF86MonBrightnessDown,exec,brightnessctl set 1% +bind=SHIFT,XF86MonBrightnessUp,exec,brightnessctl set 100% + +# bind=SUPERSHIFT,R,hyprload,reload +# bind=SUPERSHIFT,U,hyprload,update + +# Envars; to play along with wayland nicely + +# env = QT_QPA_PLATFORMTHEME,qt5ct + +env = XDG_SESSION_TYPE,wayland + +env = GDK_BACKEND,wayland,x11 +env = SDL_VIDEODRIVER,wayland +env = CLUTTER_BACKEND,wayland +env = MOZ_ENABLE_WAYLAND,1 +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = _JAVA_AWT_WM_NONREPARENTING=1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_QPA_PLATFORM,wayland +env = LIBVA_DRIVER_NAME,nvidia +env = GBM_BACKEND,nvidia-drm +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = WLR_NO_HARDWARE_CURSORS,1 +env = __NV_PRIME_RENDER_OFFLOAD,1 +env = __VK_LAYER_NV_optimus,NVIDIA_only +env = PROTON_ENABLE_NGX_UPDATER,1 +env = NVD_BACKEND,direct +env = __GL_GSYNC_ALLOWED,1 +env = __GL_VRR_ALLOWED,1 +env = WLR_DRM_NO_ATOMIC,1 +env = WLR_USE_LIBINPUT,1 +env = XWAYLAND_NO_GLAMOR,1 # with this you'll need to use gamescope for gaming +env = __GL_MaxFramesAllowed,1 +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + + +# env = WLR_DRM_NO_ATOMIC,1 + +# more envs +env = SSH_AUTH_SOCK, "$XDG_RUNTIME_DIR/ssh-agent.socket" +# env = GTK_IM_MODULE, fcitx +env = QT_IM_MODULE, fcitx +env = XMODIFIERS=@im=fcitx +env = GLFW_IM_MODULE, ibus + +plugin:hyprfocus { + enabled = yes + + keyboard_focus_animation = shrink + mouse_focus_animation = shrink + + bezier = bezIn, 0.5,0.0,1.0,0.5 + bezier = bezOut, 0.0,0.5,0.5,1.0 + + flash { + flash_opacity = 0.7 + + in_bezier = bezIn + in_speed = 0.5 + + out_bezier = bezOut + out_speed = 3 + } + + shrink { + shrink_percentage = 0.98 + + in_bezier = bezIn + in_speed = 0.5 + + out_bezier = bezOut + out_speed = 3 + } +} diff --git a/hypr/.config/hypr/hyprload.toml b/hypr/.config/hypr/hyprload.toml new file mode 100644 index 0000000..d1a7c39 --- /dev/null +++ b/hypr/.config/hypr/hyprload.toml @@ -0,0 +1,4 @@ +plugins = [ + "Duckonaut/split-monitor-workspaces", +# "VortexCoyote/hyprfocus", +] \ No newline at end of file diff --git a/hypr/.config/hypr/hyprpaper.conf b/hypr/.config/hypr/hyprpaper.conf new file mode 100644 index 0000000..55fb683 --- /dev/null +++ b/hypr/.config/hypr/hyprpaper.conf @@ -0,0 +1,5 @@ +preload = /home/mike/Wallpapers/tokio.jpg + +wallpaper = DP-1, contain:/home/mike/Wallpapers/tokio.jpg +wallpaper = DP-2, contain:/home/mike/Wallpapers/tokio.jpg +wallpaper = HDMI-A-1, contain:/home/mike/Wallpapers/tokio.jpg diff --git a/hypr/.config/hypr/import-gsettings b/hypr/.config/hypr/import-gsettings new file mode 100644 index 0000000..16a3304 --- /dev/null +++ b/hypr/.config/hypr/import-gsettings @@ -0,0 +1,15 @@ +#!/bin/zsh + +# usage: import-gsettings +config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" diff --git a/hypr/.config/hypr/session.sh b/hypr/.config/hypr/session.sh new file mode 100755 index 0000000..7740766 --- /dev/null +++ b/hypr/.config/hypr/session.sh @@ -0,0 +1,12 @@ +#!/bin/zsh + +lock="swaylock \ + --screenshots \ + --effect-pixelate 20 \ + --effect-vignette 0.5:0.5 \ + --fade-in 0.2" +screenoff="hyprctl dispatch dpms off" +screenon="hyprctl dispatch dpms on" + +swayidle -w timeout 1200 "if pgrep -x swaylock; then $screenoff; fi" resume "$screenon" & disown +swayidle -w timeout 600 "$lock" & disown diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index e3d2339..444eb06 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -1,4 +1,5 @@ -include ${HOME}/.cache/wal/kitty.conf +# include ${HOME}/.cache/wal/kitty.conf +include macchiato.conf font_family CartographCF Nerd Font bold_font auto @@ -16,3 +17,9 @@ confirm_os_window_close 0 detect_urls yes enable_audio_bell no + + +# BEGIN_KITTY_THEME +# Catppuccin-Macchiato +include current-theme.conf +# END_KITTY_THEME \ No newline at end of file diff --git a/kitty/.config/kitty/kitty.conf.bak b/kitty/.config/kitty/kitty.conf.bak new file mode 100644 index 0000000..b5c6556 --- /dev/null +++ b/kitty/.config/kitty/kitty.conf.bak @@ -0,0 +1,19 @@ +# include ${HOME}/.cache/wal/kitty.conf +include macchiato.conf + +font_family CartographCF Nerd Font +bold_font auto +italic_font auto +bold_italic_font auto + +# window_padding_width 16 + +resize_in_steps yes + +shell zsh + +confirm_os_window_close 0 + +detect_urls yes + +enable_audio_bell no diff --git a/kitty/.config/kitty/macchiato.conf b/kitty/.config/kitty/macchiato.conf new file mode 100644 index 0000000..d50dbe6 --- /dev/null +++ b/kitty/.config/kitty/macchiato.conf @@ -0,0 +1,80 @@ +# vim:ft=kitty + +## name: Catppuccin Kitty Macchiato +## author: Catppuccin Org +## license: MIT +## upstream: https://github.com/catppuccin/kitty/blob/main/themes/macchiato.conf +## blurb: Soothing pastel theme for the high-spirited! + + + +# The basic colors +foreground #CAD3F5 +background #24273A +selection_foreground #24273A +selection_background #F4DBD6 + +# Cursor colors +cursor #F4DBD6 +cursor_text_color #24273A + +# URL underline color when hovering with mouse +url_color #F4DBD6 + +# Kitty window border colors +active_border_color #B7BDF8 +inactive_border_color #6E738D +bell_border_color #EED49F + +# OS Window titlebar colors +wayland_titlebar_color #24273A +macos_titlebar_color #24273A + +# Tab bar colors +active_tab_foreground #181926 +active_tab_background #C6A0F6 +inactive_tab_foreground #CAD3F5 +inactive_tab_background #1E2030 +tab_bar_background #181926 + +# Colors for marks (marked text in the terminal) +mark1_foreground #24273A +mark1_background #B7BDF8 +mark2_foreground #24273A +mark2_background #C6A0F6 +mark3_foreground #24273A +mark3_background #7DC4E4 + +# The 16 terminal colors + +# black +color0 #494D64 +color8 #5B6078 + +# red +color1 #ED8796 +color9 #ED8796 + +# green +color2 #A6DA95 +color10 #A6DA95 + +# yellow +color3 #EED49F +color11 #EED49F + +# blue +color4 #8AADF4 +color12 #8AADF4 + +# magenta +color5 #F5BDE6 +color13 #F5BDE6 + +# cyan +color6 #8BD5CA +color14 #8BD5CA + +# white +color7 #B8C0E0 +color15 #A5ADCB diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config new file mode 100644 index 0000000..56b55c7 --- /dev/null +++ b/waybar/.config/waybar/config @@ -0,0 +1,135 @@ +{ + "layer": "top", + "height": 32, + "spacing": 0, + "margin": "10 20 0", + "modules-left": ["hyprland/workspaces"], + "modules-center": ["hyprland/window"], + "modules-right": ["backlight", "battery", "network", "clock", "pulseaudio", "tray"], + "hyprland/workspaces":{ + "active-only":false, + "format":"{icon}", + "format-icons": { + "visible": "", + "active": "", + "default": "" + }, + "persistent-workspaces": { + "*": 10 + } + }, + "keyboard-state": { + "numlock": false, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "󰅶", + "deactivated": "󰾪" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + "format": "{:%I:%M %p}", + "tooltip-format": "{:%d %B %Y}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", " "] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} 󰈀", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "on-click-right": "kitty nmtui" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "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" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "hyprland/window": { + "max-length": 200, + "separate-outputs": true + } +} \ No newline at end of file diff --git a/waybar/.config/waybar/launcher.sh b/waybar/.config/waybar/launcher.sh new file mode 100755 index 0000000..78cd080 --- /dev/null +++ b/waybar/.config/waybar/launcher.sh @@ -0,0 +1,10 @@ +#!/bin/dash +CONFIG_FILES="$HOME/.config/waybar/config $HOME/.config/waybar/style.css" + +trap "killall waybar" EXIT + +while true; do + waybar & + inotifywait -e create,modify $CONFIG_FILES + killall waybar +done \ No newline at end of file diff --git a/waybar/.config/waybar/macchiato.css b/waybar/.config/waybar/macchiato.css new file mode 100644 index 0000000..6880473 --- /dev/null +++ b/waybar/.config/waybar/macchiato.css @@ -0,0 +1,37 @@ +/* +* +* Catppuccin Macchiato palette +* Maintainer: rubyowo +* +*/ + +@define-color base #24273a; +@define-color mantle #1e2030; +@define-color crust #181926; + +@define-color text #cad3f5; +@define-color subtext0 #a5adcb; +@define-color subtext1 #b8c0e0; + +@define-color surface0 #363a4f; +@define-color surface1 #494d64; +@define-color surface2 #5b6078; + +@define-color overlay0 #6e738d; +@define-color overlay1 #8087a2; +@define-color overlay2 #939ab7; + +@define-color blue #8aadf4; +@define-color lavender #b7bdf8; +@define-color sapphire #7dc4e4; +@define-color sky #91d7e3; +@define-color teal #8bd5ca; +@define-color green #a6da95; +@define-color yellow #eed49f; +@define-color peach #f5a97f; +@define-color maroon #ee99a0; +@define-color red #ed8796; +@define-color mauve #c6a0f6; +@define-color pink #f5bde6; +@define-color flamingo #f0c6c6; +@define-color rosewater #f4dbd6; diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css new file mode 100644 index 0000000..3ba41d5 --- /dev/null +++ b/waybar/.config/waybar/style.css @@ -0,0 +1,340 @@ +@import "macchiato.css"; +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Noto Nerd Font Mono", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 15px; +} + +window#waybar { + background-color: @base; + /* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + color: @text; + transition-property: background-color; + transition-duration: .5s; + border-radius: 10px; + /* box-shadow: 10px 10px 5px #000000; */ +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +/* window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} */ + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: @surface0; +} + +#workspaces button.persistent { + color: @blue; + box-shadow: inherit; + text-shadow: inherit; +} + +#workspaces button.empty { + color: @surface0; + box-shadow: inherit; + text-shadow: inherit; +} + +#workspaces button.visible { + color: @blue; + box-shadow: inherit; + text-shadow: inherit; +} + +#workspaces button.active { + color: @blue; + box-shadow: inherit; + text-shadow: inherit; +} + +#workspaces button:hover { + color: @blue; + box-shadow: inherit; + text-shadow: inherit; +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + color: @red; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#cava, +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: @text; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: @surface0; + color: @text; +} + +#battery { + background-color: @surface0; + color: @text; +} + +#battery.charging, #battery.plugged { + color: @base; + background-color: @green; +} + +@keyframes blink { + to { + background-color: @text; + color: @base; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @text; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: @base; +} + +#cpu { + background-color: @teal; + color: @surface0; +} + +#memory { + background-color: @mauve; + color: @surface0; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: @surface1; + color: @text; +} + +#network { + background-color: @base; + color: @text; +} + +#network.disconnected { + background-color: @red; +} + +#pulseaudio { + background-color: @surface1; + color: @text; +} + +#pulseaudio.muted { + background-color: @base; + color: @text; +} + +#wireplumber { + background-color: @base; + color: @text; +} + +#wireplumber.muted { + background-color: @base; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; + color: @base; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + /*background-color: @crust;*/ +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: @maroon; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: @sky; + color: @base; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} + +#privacy-item.screenshare { + background-color: #cf5700; +} + +#privacy-item.audio-in { + background-color: #1ca000; +} + +#privacy-item.audio-out { + background-color: #0069d4; +} +#custom-archicon { + background-color: #ff0000; + min-width: 40px; +} \ No newline at end of file diff --git a/zsh/.p10k.zsh b/zsh/.p10k.zsh index 3ad0a06..f5d0f0d 100644 --- a/zsh/.p10k.zsh +++ b/zsh/.p10k.zsh @@ -1,7 +1,7 @@ -# Generated by Powerlevel10k configuration wizard on 2023-02-24 at 12:05 CET. -# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 01951. +# Generated by Powerlevel10k configuration wizard on 2024-02-08 at 12:06 CET. +# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 26839. # Wizard options: nerdfont-complete + powerline, small icons, unicode, lean, 12h time, -# 1 line, sparse, many icons, concise, transient_prompt, instant_prompt=verbose. +# 1 line, compact, many icons, concise, transient_prompt, instant_prompt=verbose. # Type `p10k configure` to generate another config. # # Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate @@ -89,6 +89,7 @@ vim_shell # vim shell indicator (:sh) midnight_commander # midnight commander shell (https://midnight-commander.org/) nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + chezmoi_shell # chezmoi shell (https://www.chezmoi.io/) # vpn_ip # virtual private network indicator # load # CPU load # disk_usage # disk usage @@ -97,6 +98,7 @@ todo # todo items (https://github.com/todotxt/todo.txt-cli) timewarrior # timewarrior tracking status (https://timewarrior.net/) taskwarrior # taskwarrior task count (https://taskwarrior.org/) + per_directory_history # Oh My Zsh per-directory-history local/global indicator # cpu_arch # CPU architecture time # current time # ip # ip address and bandwidth usage for a specified network interface @@ -134,7 +136,7 @@ typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false # Connect left prompt lines with these symbols. typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= @@ -231,7 +233,7 @@ .java-version .perl-version .php-version - .tool-version + .tool-versions .shorten_folder_marker .svn .terraform @@ -417,11 +419,17 @@ res+=" ${modified}wip" fi - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then + # Tip: Uncomment the next line to display '=' if up to date with the remote. + # res+=" ${clean}=" + fi + # ⇠42 if behind the push remote. (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " @@ -746,12 +754,21 @@ # Nix shell color. typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 + # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store. + # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= # Custom icon. # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + ##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]################## + # chezmoi shell color. + typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33 + # Custom icon. + # typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + ##################################[ disk_usage: disk usage ]################################## # Colors for different levels of disk usage. typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 @@ -845,6 +862,19 @@ # Custom icon. # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + ######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]####### + # Color when using local/global history. + typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135 + typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130 + + # Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon. + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION='' + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION='' + + # Custom icon. + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐' + ################################[ cpu_arch: CPU architecture ]################################ # CPU architecture color. typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172 @@ -981,6 +1011,11 @@ ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### # Nvm color. typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 + # If set to false, hide node version if it's the same as default: + # $(nvm version current) == $(nvm version default). + typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true # Custom icon. # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' @@ -1183,7 +1218,7 @@ #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# # Show kubecontext only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent' + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl' # Kubernetes context classes for the purpose of using different colors, icons and expansions with # different contexts. @@ -1309,7 +1344,7 @@ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# # Show aws only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current AWS profile gets matched. @@ -1357,10 +1392,39 @@ # Show azure only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show azure. typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current azure account name gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AZURE_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current azure account is "company_test", its class is TEST because "company_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AZURE_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + # Azure account name color. - typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 + typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32 # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### # Show gcloud only when the command you are typing invokes one of these tools. diff --git a/zsh/.zprofile b/zsh/.zprofile index f0dc1b2..29b1301 100644 --- a/zsh/.zprofile +++ b/zsh/.zprofile @@ -1 +1,3 @@ -[ "$(tty)" = "/dev/tty1" ] && ! pgrep -x Xorg >/dev/null && exec startx -- vt1 &> /dev/null +if [ "$(tty)" = "/dev/tty1" ];then + exec Hyprland +fi diff --git a/zsh/.zsh_plugins.txt b/zsh/.zsh_plugins.txt new file mode 100644 index 0000000..2ca1f5a --- /dev/null +++ b/zsh/.zsh_plugins.txt @@ -0,0 +1,9 @@ +romkatv/powerlevel10k +rupa/z + +ohmyzsh/ohmyzsh path:lib +ohmyzsh/ohmyzsh path:plugins/extract + +zsh-users/zsh-syntax-highlighting +zsh-users/zsh-autosuggestions +zsh-users/zsh-history-substring-search diff --git a/zsh/.zshrc b/zsh/.zshrc index 649503c..38a3663 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -5,191 +5,24 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]] source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi +# Lines configured by zsh-newuser-install +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +setopt extendedglob +unsetopt autocd beep +bindkey -e +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall +zstyle :compinstall filename '/home/mike/.zshrc' -############################################################################################################################### -# Initialization # -############################################################################################################################### +autoload -Uz compinit +compinit +# End of lines added by compinstall - -# Setting up Zinit, if not installed then clone it in. -ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" -if [[ ! -d $ZINIT_HOME ]]; then - mkdir -p "$(dirname $ZINIT_HOME)" - git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" -fi - -# Load Zinit! -source "${ZINIT_HOME}/zinit.zsh" - -#source external files -test -r "~/.dir_colors" && eval $(dircolors ~/.dir_colors) +source '/usr/share/zsh-antidote/antidote.zsh' +antidote load source ~/.aliases -autoload -U colors -colors -autoload zcalc -autoload zmv -autoload zed -############################################################################################################################### -# History Settings # -############################################################################################################################### - -HISTFILE=~/.zsh_history #History file - zsh in name, to differentiate, idk -HISTSIZE=1000010000 #1B history entries - storage space is cheap :) -SAVEHIST=1000000000 #A margin to store some duplicates -setopt INC_APPEND_HISTORY_TIME #Black magic, honestly - history nonblockingly gets written to histfile, but separate sessions keep their separate histories -setopt HIST_VERIFY #Forces user to confirm banging commands from history (!! pastes previous command to prompt) -setopt HIST_IGNORE_DUPS #Ignores duplicates of commands directly before -setopt HIST_EXPIRE_DUPS_FIRST #Pretty self-explanatory, really -setopt HIST_IGNORE_SPACE #Ignores commands with preceding space -setopt EXTENDED_HISTORY #Appends timestamps and run duration to the history file - -setopt completealiases -setopt interactivecomments - -############################################################################################################################### -# Keybinds # -############################################################################################################################### - - -# Make sure that the terminal is in application mode when zle is active, since only then values from $terminfo are valid -if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then - function zle-line-init() { - echoti smkx - } - function zle-line-finish() { - echoti rmkx - } - zle -N zle-line-init - zle -N zle-line-finish -fi - -bindkey '\ew' kill-region # [Esc-w] - Remove chars from the cursor to the mark - -if [[ "${terminfo[kpp]}" != "" ]]; then - bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history -fi -if [[ "${terminfo[knp]}" != "" ]]; then - bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history -fi - -if [[ "${terminfo[kcuu1]}" != "" ]]; then - bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward -fi -if [[ "${terminfo[kcud1]}" != "" ]]; then - bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward -fi - -if [[ "${terminfo[khome]}" != "" ]]; then - bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line -fi -if [[ "${terminfo[kend]}" != "" ]]; then - bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line -fi - -bindkey ' ' magic-space # [Space] - do history expansion - !![space] pastes previous command, ![num][space] jumps to history entry - -bindkey '^[[1;3C' forward-word # [Ctrl-RightArrow] - move forward one word -bindkey '^[[1;3D' backward-word # [Ctrl-LeftArrow] - move backward one word - -if [[ "${terminfo[kcbt]}" != "" ]]; then - bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards -fi - -bindkey '^?' backward-delete-char # [Backspace] - delete backward -if [[ "${terminfo[kdch1]}" != "" ]]; then - bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward -else - bindkey "^[[3~" delete-char - bindkey "^[3;5~" delete-char - bindkey "\e[3~" delete-char -fi - - -PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' - - -case "${TERM}" in - cons25*|linux) # plain BSD/Linux console - bindkey '\e[H' beginning-of-line # home - bindkey '\e[F' end-of-line # end - bindkey '\e[5~' delete-char # delete - bindkey '[D' emacs-backward-word # esc left - bindkey '[C' emacs-forward-word # esc right - ;; - *rxvt*) # rxvt derivatives - bindkey '\eOc' forward-word # ctrl right - bindkey '\eOd' backward-word # ctrl left - bindkey '\e\e[D' backward-word ### Alt left - bindkey '\e\e[C' forward-word ### Alt right - # workaround for screen + urxvt - bindkey '\e[7~' beginning-of-line # home - bindkey '\e[8~' end-of-line # end - bindkey '^[[1~' beginning-of-line # home - bindkey '^[[4~' end-of-line # end - ;; - *xterm*) # xterm derivatives - bindkey '\e[H' beginning-of-line # home - bindkey '\e[F' end-of-line # end - bindkey '\e[3~' delete-char # delete - bindkey '^[[C' forward-word # ctrl right - bindkey '^[[D' backward-word # ctrl left - bindkey '\eOC' forward-word # ctrl right - bindkey '\eOD' backward-word # ctrl left - bindkey '^[[1;3C' forward-word # alt right - bindkey '^[[1;3D' backward-word # alt left - # workaround for screen + xterm - bindkey '\e[1~' beginning-of-line # home - bindkey '\e[4~' end-of-line # end - ;; - screen) - bindkey '^[[1~' beginning-of-line # home - bindkey '^[[4~' end-of-line # end - bindkey '\e[3~' delete-char # delete - bindkey '\eOc' forward-word # ctrl right - bindkey '\eOd' backward-word # ctrl left - bindkey '^[[1;5C' forward-word # ctrl right - bindkey '^[[1;5D' backward-word # ctrl left - ;; -esac - -#bash-like word character detection (alphanumeric only) -autoload -U select-word-style -select-word-style bash - -# Load powerlevel10k theme -zinit ice depth"1" ##git clone depth -zinit light romkatv/powerlevel10k - -zinit ice wait lucid -# zinit light MichaelAquilina/zsh-you-should-use - -zinit ice wait lucid -zinit light laggardkernel/zsh-thefuck - -# zsh-autosuggestions -zinit ice wait lucid atload"!_zsh_autosuggest_start" -zinit load zsh-users/zsh-autosuggestions - -# forgit -zinit ice wait lucid -zinit load 'wfxr/forgit' - -# zinit snippet ~/.zsh_compl/zoxide -zinit snippet OMZL::completion.zsh - -zinit wait lucid for \ - atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \ - zdharma-continuum/fast-syntax-highlighting \ - blockf \ - zsh-users/zsh-completions \ - atload"!_zsh_autosuggest_start" \ - zsh-users/zsh-autosuggestions - -eval "$(zoxide init zsh)" - -#[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh -zinit pack"binary" for fzf # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh -(( ! ${+functions[p10k]} )) || p10k finalize