diff options
40 files changed, 2324 insertions, 764 deletions
diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc deleted file mode 100644 index c543457..0000000 --- a/.config/fastfetch/config.jsonc +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", - "logo": { - "type": "small" - }, - "modules": [ - { - "type": "os", - "key": "os", - "keyColor": "red" - }, - { - "type": "kernel", - "key": "kernel", - "keyColor": "yellow" - }, - { - "type": "shell", - "key": "shell", - "keyColor": "green" - }, - { - "type": "packages", - "key": "packages", - "keyColor": "cyan" - }, - { - "type": "wm", - "key": "wm", - "keyColor": "blue" - }, - { - "type": "memory", - "key": "memory", - "keyColor": "magenta" - }, - "break" - ] -} diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf deleted file mode 100644 index 761ae00..0000000 --- a/.config/fontconfig/fonts.conf +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version='1.0'?> -<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> -<fontconfig> - <alias> - <family>serif</family> - <prefer> - <family>Libertinus Serif</family> - <family>Joy Pixels</family> - <family>Noto Color Emoji</family> - <family>FontAwesome</family> - </prefer> - </alias> - <alias> - <family>sans-serif</family> - <prefer> - <family>Libertinus Sans</family> - <family>Joy Pixels</family> - <family>Noto Color Emoji</family> - <family>FontAwesome</family> - </prefer> - </alias> - <alias> - <family>sans</family> - <prefer> - <family>Libertinus Sans</family> - <family>Joy Pixels</family> - <family>Noto Color Emoji</family> - <family>FontAwesome</family> - </prefer> - </alias> - <alias> - <family>monospace</family> - <prefer> - <family>Noto Sans Mono</family> - <family>Libertinus Mono</family> - <family>FontAwesome</family> - <family>Braille</family> - </prefer> - </alias> -</fontconfig> diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini deleted file mode 100644 index 6c35f1c..0000000 --- a/.config/foot/foot.ini +++ /dev/null @@ -1,211 +0,0 @@ -# -*- conf -*- - -# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) -# term=foot (or xterm-256color if built with -Dterminfo=disabled) -# login-shell=no - -# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode -# title=foot -# locked-title=no - -font=mono:size=14 -# font-bold=<bold variant of regular font> -# font-italic=<italic variant of regular font> -# font-bold-italic=<bold+italic variant of regular font> -# font-size-adjustment=0.5 -# line-height=<font metrics> -# letter-spacing=0 -# horizontal-letter-offset=0 -# vertical-letter-offset=0 -# underline-offset=<font metrics> -# underline-thickness=<font underline thickness> -# box-drawings-uses-font-glyphs=no -# dpi-aware=no - -# initial-window-size-pixels=700x500 # Or, -# initial-window-size-chars=<COLSxROWS> -# initial-window-mode=windowed -pad=10x10 # optionally append 'center' -# resize-by-cells=yes -# resize-delay-ms=100 - -# bold-text-in-bright=no -# word-delimiters=,│`|:"'()[]{}<> -# selection-target=primary -# workers=<number of logical CPUs> -# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) -# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) - -[environment] -# name=value - -[bell] -# urgent=no -# notify=no -# visual=no -# command= -# command-focused=no - -[desktop-notifications] -# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body} -# command-action-argument=--action ${action-name}=${action-label} -# close="" -# inhibit-when-focused=yes - - -[scrollback] -# lines=1000 -# multiplier=3.0 -# indicator-position=relative -# indicator-format="" - -[url] -# launch=xdg-open ${url} -# label-letters=sadfjklewcmpgh -# osc8-underline=url-mode -# protocols=http, https, ftp, ftps, file, gemini, gopher -# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] - -[cursor] -# style=block -# color=<inverse foreground/background> -# blink=no -# blink-rate=500 -# beam-thickness=1.5 -# underline-thickness=<font underline thickness> - -[mouse] -# hide-when-typing=no -# alternate-scroll-mode=yes - -[touch] -# long-press-delay=400 - -[colors] -alpha=0.9 -background=282828 -foreground=ebdbb2 -regular0=282828 -regular1=cc241d -regular2=98971a -regular3=d79921 -regular4=458588 -regular5=b16286 -regular6=689d6a -regular7=a89984 -bright0=928374 -bright1=fb4934 -bright2=b8bb26 -bright3=fabd2f -bright4=83a598 -bright5=d3869b -bright6=8ec07c -bright7=ebdbb2 - -[csd] -# preferred=server -# size=26 -# font=<primary font> -# color=<foreground color> -# hide-when-maximized=no -# double-click-to-maximize=yes -# border-width=0 -# border-color=<csd.color> -# button-width=26 -# button-color=<background color> -# button-minimize-color=<regular4> -# button-maximize-color=<regular2> -# button-close-color=<regular1> - -[key-bindings] -# scrollback-up-page=Shift+Page_Up -# scrollback-up-half-page=none -# scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down -# scrollback-down-half-page=none -# scrollback-down-line=none -# scrollback-home=none -# scrollback-end=none -# clipboard-copy=Control+Shift+c XF86Copy -# clipboard-paste=Control+Shift+v XF86Paste -# primary-paste=Shift+Insert -# search-start=Control+Shift+r -# font-increase=Control+plus Control+equal Control+KP_Add -# font-decrease=Control+minus Control+KP_Subtract -# font-reset=Control+0 Control+KP_0 -# spawn-terminal=Control+Shift+n -# minimize=none -# maximize=none -# fullscreen=none -# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-selected=[xargs -r firefox] none -# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard -# show-urls-launch=Control+Shift+o -# show-urls-copy=none -# show-urls-persistent=none -# prompt-prev=Control+Shift+z -# prompt-next=Control+Shift+x -# unicode-input=Control+Shift+u -# noop=none - -[search-bindings] -# cancel=Control+g Control+c Escape -# commit=Return -# find-prev=Control+r -# find-next=Control+s -# cursor-left=Left Control+b -# cursor-left-word=Control+Left Mod1+b -# cursor-right=Right Control+f -# cursor-right-word=Control+Right Mod1+f -# cursor-home=Home Control+a -# cursor-end=End Control+e -# delete-prev=BackSpace -# delete-prev-word=Mod1+BackSpace Control+BackSpace -# delete-next=Delete -# delete-next-word=Mod1+d Control+Delete -# extend-char=Shift+Right -# extend-to-word-boundary=Control+w Control+Shift+Right -# extend-to-next-whitespace=Control+Shift+w -# extend-line-down=Shift+Down -# extend-backward-char=Shift+Left -# extend-backward-to-word-boundary=Control+Shift+Left -# extend-backward-to-next-whitespace=none -# extend-line-up=Shift+Up -# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste -# primary-paste=Shift+Insert -# unicode-input=none -# quit=none -# scrollback-up-page=Shift+Page_Up -# scrollback-up-half-page=none -# scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down -# scrollback-down-half-page=none -# scrollback-down-line=none -# scrollback-home=none -# scrollback-end=none - -[url-bindings] -# cancel=Control+g Control+c Control+d Escape -# toggle-url-visible=t - -[text-bindings] -# \x03=Mod4+c # Map Super+c -> Ctrl+c - -[mouse-bindings] -# scrollback-up-mouse=BTN_WHEEL_BACK -# scrollback-down-mouse=BTN_WHEEL_FORWARD -# font-increase=Control+BTN_WHEEL_BACK -# font-decrease=Control+BTN_WHEEL_FORWARD -# selection-override-modifiers=Shift -# primary-paste=BTN_MIDDLE -# select-begin=BTN_LEFT -# select-begin-block=Control+BTN_LEFT -# select-extend=BTN_RIGHT -# select-extend-character-wise=Control+BTN_RIGHT -# select-word=BTN_LEFT-2 -# select-word-whitespace=Control+BTN_LEFT-2 -# select-quote = BTN_LEFT-3 -# select-row=BTN_LEFT-4 - -# vim: ft=dosini diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf deleted file mode 100644 index c867ff1..0000000 --- a/.config/hypr/hypridle.conf +++ /dev/null @@ -1,20 +0,0 @@ -general { - lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session) - unlock_cmd = notify-send "unlock!" # same as above, but unlock - before_sleep_cmd = notify-send "Zzz" # command ran before sleep - after_sleep_cmd = notify-send "Awake!" # command ran after sleep - ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam) - ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors -} - -listener { - timeout = 300 # 5min - on-timeout = hyprlock # command to run when timeout has passed - on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired. -} - -listener { - timeout = 320 # in seconds - on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed - on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired. -} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index e03c3f1..9d47e7d 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,58 +1,37 @@ -################ -### MONITORS ### -################ +monitor = DP-2, 2560x1440@165, 0x0, 1 +monitor = DP-3, 2560x1440@240, 2560x0,1 -monitor=,preferred,auto,auto -monitor=DP-3,2560x1440@240,2560x0,1 -monitor=DP-2,2560x1440@165,0x0,1 - -################### -### MY PROGRAMS ### -################### - -$terminal = foot -$fileManager = dolphin +$terminal = kitty +$browser = firefox +$fileManager = kitty lf $menu = wofi --show drun -$browser = firefox - -################# -### AUTOSTART ### -################# -exec-once=pipewire & pipewire-pulse & wireplumber -exec-once=hyprpaper & waybar & mako -exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -exec-once=/home/awy/.config/hypr/portalstart -exec-once = hypridle +exec-once = pipewire & pipewire-pulse & wireplumber +exec-once = start-portal +exec-once = hyprpaper & waybar -############################# -### ENVIRONMENT VARIABLES ### -############################# - -env = XCURSOR_THEME,Adwaita-old +env = QT_SCREEN_SCALE_FACTORS,1;1 env = XCURSOR_SIZE,24 -env = HYPRCURSOR_THEME,Adwaita-old env = HYPRCURSOR_SIZE,24 env = LIBVA_DRIVER_NAME,nvidia -env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = EDITOR,nvim -env = ELECTRON_OZONE_PLATFORM_HINT,auto -env = SUDO,doas - -##################### -### LOOK AND FEEL ### -##################### +env = QT_QPA_PLATFORM,wayland +env = QT_QPA_PLATFORMTHEME,qt6ct +env = CLUTTER_BACKEND,wayland +env = SDL_VIDEODRIVER,wayland +env = XDG_SESSION_TYPE,wayland +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland general { gaps_in = 5 - gaps_out = 10 + gaps_out = 20 border_size = 2 - col.active_border = rgba(fbf1c7ee) - col.inactive_border = rgba(3c3836ee) + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) resize_on_border = false @@ -62,69 +41,64 @@ general { } decoration { - rounding = 0 + rounding = 10 active_opacity = 1.0 inactive_opacity = 1.0 - drop_shadow = false - shadow_range = 32 - shadow_render_power = 4 + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 col.shadow = rgba(1a1a1aee) blur { - enabled = false - size = 2 - passes = 4 - xray = false - ignore_opacity = true + enabled = true + size = 3 + passes = 1 + vibrancy = 0.1696 - popups = true } } animations { - enabled = yes + enabled = true - bezier = quart, 0.25, 1, 0.5, 1 + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - animation = windows, 1, 5, quart, slide - animation = border, 1, 5, quart - animation = borderangle, 1, 5, quart - animation = fade, 1, 5, quart - animation = workspaces, 1, 5, quart, slidevert + 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 { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this - no_gaps_when_only = 0 } -misc { - force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( - disable_splash_rendering = true - enable_swallow = 1 - swallow_regex = ^(foot)$ +master { + new_status = master } -############# -### INPUT ### -############# +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 { kb_layout = us,ru kb_variant = kb_model = - kb_options = grp:alt_shift_toggle + kb_options = grp:alt_shift_toogle kb_rules = + force_no_accel = 1 follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - force_no_accel = 1 + touchpad { natural_scroll = false } @@ -134,28 +108,23 @@ gestures { workspace_swipe = false } -#################### -### KEYBINDINGS ### -#################### - $mainMod = SUPER # Sets "Windows" key as main modifier bind = $mainMod, Return, exec, $terminal -bind = $mainMod SHIFT, Q, killactive, +bind = $mainMod, Q, killactive, bind = $mainMod, M, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod SHIFT, B, exec, $browser +bind = $mainMod, W, exec, $browser +bind = $mainMod, R, exec, $fileManager bind = $mainMod, V, togglefloating, -bind = $mainMod, Space, exec, $menu +bind = $mainMod, D, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod SHIFT, J, togglesplit, # dwindle bind = $mainMod, F, fullscreen, bind = $mainMod SHIFT, Return, swapnext -bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy bind =,XF86AudioPlay, exec, playerctl play-pause bind =,XF86AudioPrev, exec, playerctl previous bind =,XF86AudioNext, exec, playerctl next -bind =,mouse:276, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bind =,mouse:276, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && pkill -RTMIN+8 waybar bind = $mainMod SHIFT, L, resizeactive, 100 0 bind = $mainMod SHIFT, H, resizeactive, -100 0 @@ -188,6 +157,7 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 @@ -195,19 +165,4 @@ bind = $mainMod, mouse_up, workspace, e-1 bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow -############################## -### WINDOWS AND WORKSPACES ### -############################## - windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. - -workspace=1,monitor:DP-2, persistent:true -workspace=2,monitor:DP-2, persistent:true -workspace=3,monitor:DP-3, persistent:true -workspace=4,monitor:DP-3, persistent:true - -layerrule = blur, notifications -layerrule = ignorezero, notifications -layerrule = blur, waybar -#layerrule = xray 1, waybar - diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf deleted file mode 100644 index 41f134a..0000000 --- a/.config/hypr/hyprlock.conf +++ /dev/null @@ -1,83 +0,0 @@ -general { - ignore_empty_input = true -} - -background { - monitor = - #path = ~/.local/share/papes/wallhaven-kxg8xm_3840x2160.png - color = rgba(1e1e2ee0) - - # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations - blur_passes = 4 - blur_size = 6 - noise = 0.05 - contrast = 1.0 - brightness = 0.8 - vibrancy = 0.15 - vibrancy_darkness = 1.0 -} - -label { - monitor = - text = $TIME - text_align = center # center/right or any value for default left. multi-line text alignment inside label container - color = rgb(255, 255, 255) - font_size = 128 - font_family = JetBrainsMonoNerdFontMono Bold - rotate = 0 # degrees, counter-clockwise - - position = 0, 360 - halign = center - valign = center -} -label { - monitor = - text = Welcome back, $USER! - text_align = center # center/right or any value for default left. multi-line text alignment inside label container - color = rgb(255, 255, 255) - font_size = 32 - font_family = JetBrainsMonoNerdFontMono Bold - rotate = 0 # degrees, counter-clockwise - - position = 0, 100 - halign = center - valign = center -} - -input-field { - monitor = - - shadow_passes = 4 - shadow_size = 6 - shadow_color = rgb(74c7ec) - shadow_boost = 1.0 - - size = 120, 40 - outline_thickness = 4 - dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 - dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 - dots_center = true - dots_rounding = -1 # -1 default circle, -2 follow input-field rounding - outer_color = rgb(74c7ec) - inner_color = rgba(1e1e2ef0) - font_color = rgb(cdd6f4) - fade_on_empty = false - fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. - placeholder_text = <i></i> # Text rendered in the input box when it's empty. - hide_input = false - rounding = -1 # -1 means complete rounding (circle/oval) - check_color = rgb(f9e2af) - fail_color = rgb(f38ba8) # if authentication failed, changes outer_color and fail message color - # fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty - fail_text = <i></i> - fail_transition = 300 # transition time in ms between normal outer_color and fail_color - capslock_color = -1 - numlock_color = -1 - bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) - invert_numlock = false # change color if numlock is off - swap_font_color = false # see below - - position = 0, -20 - halign = center - valign = center -} diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf index ff3d4cc..8054ae1 100644 --- a/.config/hypr/hyprpaper.conf +++ b/.config/hypr/hyprpaper.conf @@ -1,4 +1,7 @@ ipc = on -preload = /mnt/ssd/papes/thiemeyer_road_to_samarkand.jpg -wallpaper = , /mnt/ssd/papes/thiemeyer_road_to_samarkand.jpg +preload = /mnt/ssd/papes/wallhaven-0j7k1q_2560x1440.png +#preload = "/mnt/ssd/papes/wallhaven-wegw36_2560x1440.png" + +wallpaper = , /mnt/ssd/papes/wallhaven-0j7k1q_2560x1440.png splash = false +#wallpaper = DP-3,/mnt/ssd/papes/wallhaven-wegw36_2560x1440.png diff --git a/.config/hypr/portalstart b/.config/hypr/portalstart deleted file mode 100755 index 8f692bf..0000000 --- a/.config/hypr/portalstart +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -sleep 1 -killall xdg-desktop-portal-hyprland -killall xdg-desktop-portal-wlr -killall xdg-desktop-portal -/usr/lib/xdg-desktop-portal-hyprland & -sleep 2 -/usr/lib/xdg-desktop-portal & diff --git a/.config/hypr/start.sh b/.config/hypr/start index 75123a3..f52cc13 100755 --- a/.config/hypr/start.sh +++ b/.config/hypr/start @@ -1,4 +1,5 @@ -cd ~ +#!/bin/dash + export XDG_RUNTIME_DIR="/tmp/hyprland" mkdir -p $XDG_RUNTIME_DIR chmod 0700 $XDG_RUNTIME_DIR diff --git a/.config/kitty/gruvbox.conf b/.config/kitty/gruvbox.conf new file mode 100644 index 0000000..9d938d2 --- /dev/null +++ b/.config/kitty/gruvbox.conf @@ -0,0 +1,55 @@ +# Based on https://github.com/morhetz/gruvbox by morhetz <morhetz@gmail.com> +# Adapted to kitty by wdomitrz <witekdomitrz@gmail.com> + +cursor #928374 +cursor_text_color background + +url_color #83a598 + +visual_bell_color #8ec07c +bell_border_color #8ec07c + +active_border_color #d3869b +inactive_border_color #665c54 + +foreground #ebdbb2 +background #282828 +selection_foreground #928374 +selection_background #ebdbb2 + +active_tab_foreground #fbf1c7 +active_tab_background #665c54 +inactive_tab_foreground #a89984 +inactive_tab_background #3c3836 + +# black (bg3/bg4) +color0 #665c54 +color8 #7c6f64 + +# red +color1 #cc241d +color9 #fb4934 + +#: green +color2 #98971a +color10 #b8bb26 + +# yellow +color3 #d79921 +color11 #fabd2f + +# blue +color4 #458588 +color12 #83a598 + +# purple +color5 #b16286 +color13 #d3869b + +# aqua +color6 #689d6a +color14 #8ec07c + +# white (fg4/fg3) +color7 #a89984 +color15 #bdae93 diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 0000000..634410a --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,9 @@ +include gruvbox.conf +font_size 16.0 +font_family JetBrainsMono Nerd Font Mono +bold_font auto +italic_font auto +bold_italic_font auto + +window_padding_width 10 +background_opacity 0.8 diff --git a/.config/lf/cleaner b/.config/lf/cleaner index 9b48783..1227249 100755 --- a/.config/lf/cleaner +++ b/.config/lf/cleaner @@ -1,4 +1,4 @@ #!/bin/sh #rm ~/.cache/lf/* -f -#exec kitty +kitten icat --clear --stdin no --silent --transfer-mode file </dev/null >/dev/tty +exec kitty +kitten icat --clear --stdin no --silent --transfer-mode file </dev/null >/dev/tty diff --git a/.config/lf/kitty_scope b/.config/lf/kitty_scope deleted file mode 100755 index a7d0bc1..0000000 --- a/.config/lf/kitty_scope +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -draw() { - kitty +kitten icat --silent --stdin no --transfer-mode file --place "${w}x${h}@${x}x${y}" "$1" </dev/null >/dev/tty - exit 1 -} - -file="$1" -w="$2" -h="$3" -x="$4" -y="$5" - -case "$(file -Lb --mime-type "$file")" in - image/*) - draw "$file" - ;; - audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;; - video/*) - # vidthumb is from here: - # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb - CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)" - [ ! -f "$CACHE" ] && ffmpegthumbnailer -i "$1" -o "$CACHE" -s 0 - draw "$CACHE" - #draw "$(vidthumb "$file")" - ;; - text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1" ;; -esac - -#pistol "$file"lace "${2}x${3}@${4}x${5}" "$1" diff --git a/.config/lf/scope b/.config/lf/scope index b79c4b6..a7d0bc1 100755 --- a/.config/lf/scope +++ b/.config/lf/scope @@ -1,13 +1,29 @@ #!/bin/sh -case "$(file -Lb --mime-type -- "$1")" in +draw() { + kitty +kitten icat --silent --stdin no --transfer-mode file --place "${w}x${h}@${x}x${y}" "$1" </dev/null >/dev/tty + exit 1 +} + +file="$1" +w="$2" +h="$3" +x="$4" +y="$5" + +case "$(file -Lb --mime-type "$file")" in image/*) - chafa -f sixel -s "$2x$3" --animate off --polite on "$1" - exit 1 + draw "$file" ;; - text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1" ;; - audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;; + audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;; video/*) + # vidthumb is from here: + # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)" [ ! -f "$CACHE" ] && ffmpegthumbnailer -i "$1" -o "$CACHE" -s 0 - chafa -f sixel -s "$2x$3" --animate off --polite on "$CACHE" + draw "$CACHE" + #draw "$(vidthumb "$file")" + ;; + text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1" ;; esac + +#pistol "$file"lace "${2}x${3}@${4}x${5}" "$1" diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf deleted file mode 100644 index ab02f44..0000000 --- a/.config/mpd/mpd.conf +++ /dev/null @@ -1,19 +0,0 @@ -db_file "~/.config/mpd/mpd.db" -log_file "~/.config/mpd/mpd.log" -pid_file "~/.config/mpd/mpd.pid" -state_file "~/.config/mpd/mpdstate" - -music_directory "/mnt/ssd/music" - -auto_update "yes" -bind_to_address "0.0.0.0" -port "6600" -#restore_paused "yes" -#max_output_buffer_size "16384" - -audio_output { - type "pipewire" - name "PipeWire Sound Server" -} - - diff --git a/.config/shell/profile b/.config/shell/profile index 1391f75..4388c6d 100644 --- a/.config/shell/profile +++ b/.config/shell/profile @@ -1,2 +1,12 @@ +export PATH="$PATH:$(find ~/.local/bin -type d | paste -sd ':' -)" export ZDOTDIR="$HOME/.config/zsh" -[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && exec "/home/awy/.config/hypr/start.sh" +export BROWSER="firefox" +export EDITOR="nvim" + +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DOWNLOAD_DIR="$HOME/downloads" + +[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && exec "$XDG_CONFIG_HOME/hypr/start" + diff --git a/.config/waybar/config b/.config/waybar/config index 6ab4771..96c66c5 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -5,7 +5,7 @@ "reload_style_on_change": true, "modules-left": ["hyprland/workspaces", "hyprland/window"], "modules-center": [], - "modules-right": ["network", "custom/weather","memory", "pulseaudio","wireplumber", "clock","tray"], + "modules-right": ["custom/memory","custom/doppler","custom/forecast","custom/nettraf","custom/microphone","custom/volume","custom/clock","custom/internet"], "hyprland/window": { "format": "{}", @@ -18,105 +18,85 @@ "all-outputs": true, "on-click": "activate", "format": "{name}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "4": "", - "5": "", - "default": "" - }, }, - "network": { - "interface": "wg0", - "tooltip": false, - "format": "VPN", - "format-disconnected": "VPN", - "on-click": "~/.config/waybar/scripts/vpn-toggle", - }, - "tray": { - "spacing": 10 - }, - "clock": { - "interval": 60, - "format": "{:%Y %b %d (%a) 🕙 %H:%M}", - "tooltip-format": "{:%a %d %b}" - }, - "mpris": { - "tooltip": false, - "format": "{player_icon} {artist} - {title}", - "format-paused": "{status_icon} <b>{artist} - {title}</b>", - "player-icons": { - "default": "▶", - "spotify_player": "", - }, - "status-icons": { - "paused": "", - "stopped": "", - }, - "ignored-players": ["firefox"] - }, - "cpu": { - "interval": 10, - "format": " {usage}%", - "tooltip": false, - "spacing": 0 - }, - "memory": { - "tooltip": false, - "format": " {used:0.01f}Gb", - "interval": 10, - }, - "temperature": { - "tooltip": false, - "thermal-zone": 2, - "format": " {temperatureC}°C", - "interval": 10, + + "custom/memory" : { + "tooltip": false, + "format": "{}", + "signal": 14, + "exec" : "sb-memory", + "interval": 10, + "on-click": "sb-memory 1", + "on-click-right": "sb-memory 3", + "on-click-middle": "sb-memory 2" }, - "image":{ - "exec":"~/.config/waybar/scripts/album_art.sh", - //"path": "/tmp/cover.jpeg", - "size": 32, - "interval": 5, + + "custom/doppler" : { + "tooltip": false, + "format": "{}", + "signal": 13, + "exec" : "sb-doppler", + "on-click": "sb-doppler 1", + "on-click-right": "sb-doppler 3", + "on-click-middle": "pkill -RTMIN+13 waybar" }, - "wireplumber": { - "format": "{icon} {volume}%", - "format-muted": "", - "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle", - "format-icons": [" ", " ", " "] + + "custom/forecast" : { + "tooltip": false, + "format": "{}", + "signal": 5, + "exec" : "sb-forecast", + "interval" : 1800, + "on-click": "sb-forecast 1", + "on-click-right": "sb-forecast 3", + "on-click-middle": "pkill -RTMIN+5 waybar" }, - "pulseaudio": { - "tooltip" : false, - "format": "{format_source}", - "format-source": " {volume}%", - "format-source-muted": " ", - "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + + "custom/nettraf" : { + "tooltip": false, + "format": "{}", + "signal": 16, + "exec" : "sb-nettraf", + "interval" : 1, + "on-click": "", }, - "custom/weather" : { - "tooltip" : false, - "signal": 9, - "format" : "{}", - "interval" : 300, - "exec" : "~/.config/waybar/scripts/weather", - "on-click": "~/.config/waybar/scripts/hyprweather", - "on-click-right": "pkill -RTMIN+9 waybar" + + "custom/microphone" : { + "tooltip": false, + "format": "{}", + "signal": 8, + "exec" : "sb-microphone", + "on-click": "wpctl set-mute @DEFAULT_SOURCE@ toggle; pkill -RTMIN+8 waybar", + "on-scroll-up": "wpctl set-volume @DEFAULT_SOURCE@ 0.01+; pkill -RTMIN+8 waybar", + "on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 0.01-; pkill -RTMIN+8 waybar", }, - "custom/pacman" : { - "tooltip" : false, - "signal": 8, - "format" : "{}", - "interval" : 18000, - "exec" : "~/.config/waybar/scripts/pacpackages", - "on-click" : "~/.config/waybar/scripts/pacupdate", - "on-click-right" : "pkill -RTMIN+8 waybar" + "custom/volume" : { + "tooltip": false, + "format": "{}", + "signal": 10, + "exec" : "sb-volume", + "on-click": "wpctl set-mute @DEFAULT_SINK@ toggle; pkill -RTMIN+10 waybar", + "on-scroll-up": "wpctl set-volume @DEFAULT_SINK@ 0.01+; pkill -RTMIN+10 waybar", + "on-scroll-down": "wpctl set-volume @DEFAULT_SINK@ 0.01-; pkill -RTMIN+10 waybar", }, - "custom/separator" : { - "format" : " | ", + + "custom/clock" : { + "tooltip": false, + "format": "{}", + "signal": 1, + "exec" : "sb-clock", + "interval" : 60, + "on-click": "", }, - "custom/doppler" : { - "format": "🌅 ", - "on-click": "~/.config/waybar/scripts/hyprdoppler", + + "custom/internet" : { + "tooltip": false, + "format": "{}", + "signal": 4, + "exec" : "sb-internet", + "on-click": "sb-internet 1; pkill -RTMIN+4 waybar", + "on-click-right": "sb-internet 3; pkill -RTMIN+4 waybar", + "on-click-middle": "pkill -RTMIN+4 waybar" } } - diff --git a/.config/waybar/scripts/album_art.sh b/.config/waybar/scripts/album_art.sh deleted file mode 100755 index 5a8cdab..0000000 --- a/.config/waybar/scripts/album_art.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -album_art=$(playerctl -p spotify_player metadata mpris:artUrl) -if [[ -z $album_art ]] -then - # spotify is dead, we should die too. - exit -fi -curl -s "${album_art}" --output "/tmp/cover.jpeg" -echo "/tmp/cover.jpeg" diff --git a/.config/waybar/scripts/doppler b/.config/waybar/scripts/doppler deleted file mode 100755 index 3d1b7dc..0000000 --- a/.config/waybar/scripts/doppler +++ /dev/null @@ -1 +0,0 @@ -curl -s "https://meteoinfo.ru/hmc-output/rmap/phenomena.gif" | imv - -H 1200 -W 1200 diff --git a/.config/waybar/scripts/hyprdoppler b/.config/waybar/scripts/hyprdoppler deleted file mode 100755 index d383b32..0000000 --- a/.config/waybar/scripts/hyprdoppler +++ /dev/null @@ -1 +0,0 @@ -hyprctl dispatch exec "[float; size 1200 1200;]" '/home/awy/.config/waybar/scripts/doppler' diff --git a/.config/waybar/scripts/hyprweather b/.config/waybar/scripts/hyprweather deleted file mode 100755 index 6a1e698..0000000 --- a/.config/waybar/scripts/hyprweather +++ /dev/null @@ -1 +0,0 @@ -hyprctl dispatch exec "[float; size 1430 1100;]" 'foot "/home/awy/.config/waybar/scripts/onclick-weather"' diff --git a/.config/waybar/scripts/onclick-weather b/.config/waybar/scripts/onclick-weather deleted file mode 100755 index 9592932..0000000 --- a/.config/waybar/scripts/onclick-weather +++ /dev/null @@ -1,2 +0,0 @@ -curl wttr.in -read -p "Press Enter to continue..." diff --git a/.config/waybar/scripts/pacpackages b/.config/waybar/scripts/pacpackages deleted file mode 100755 index e362ee2..0000000 --- a/.config/waybar/scripts/pacpackages +++ /dev/null @@ -1,2 +0,0 @@ -doas pacman -Sy > /dev/null 2>&1 -pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/📦 /;s/^📦 0$//g" diff --git a/.config/waybar/scripts/pacupdate b/.config/waybar/scripts/pacupdate deleted file mode 100755 index 0bdf32e..0000000 --- a/.config/waybar/scripts/pacupdate +++ /dev/null @@ -1,4 +0,0 @@ -doas pacman -Syu --noconfirm -sleep 5 -hyprctl notify 5 10000 "rgb(ff1ea3)" " Packages have been upgraded" -pkill -RTMIN+8 waybar diff --git a/.config/waybar/scripts/vpn-toggle b/.config/waybar/scripts/vpn-toggle deleted file mode 100755 index 4b48203..0000000 --- a/.config/waybar/scripts/vpn-toggle +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -if [ -d /sys/class/net/wg0 ]; then - doas wg-quick down wg0 - hyprctl notify 5 5000 "rgb(ff0000)" " VPN is disabled" -else - doas wg-quick up wg0 - hyprctl notify 5 5000 "rgb(008000)" " VPN is enabled" -fi diff --git a/.config/waybar/scripts/weather b/.config/waybar/scripts/weather deleted file mode 100755 index 1e87ac8..0000000 --- a/.config/waybar/scripts/weather +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -#curl -s "wttr.in/?format=3" | awk '{print $3, $4}' -curl -s "wttr.in/Moscow?format='%c%t'" | sed "s/'//g" | sed 's/ / /g' diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 64d425a..ac0dc89 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,14 +1,14 @@ -@import "theme.css"; * { border: none; border-radius: 0; - font-family: monospace; + font-family: JetBrainsMono Nerd Font Propo; font-weight: normal; font-size: 14px; min-height: 0; } #waybar { + color: #EBDBB2; background: #282828; } @@ -34,51 +34,14 @@ tooltip { margin-left: 15px; } -#mpris { - color: @mauve; -} - -#network { - color: #b8bb26; -} - -#network.disconnected { - color: #fb4934; -} - -#custom-weather { - color: #EBDBB2; -} - -#custom-pacman { - color: #EBDBB2; -} - -#pulseaudio { - color: #EBDBB2; -} - -#wireplumber { - color: #EBDBB2; +#custom-nettraf { + min-width: 120px; } -#cpu { - color: @yellow; -} - -#memory { - color: #EBDBB2; -} - -#temperature { - color: #EBDBB2; -} - -#clock { - color: #EBDBB2; - margin-right: 10px; +#custom-volume { + min-width: 60px; } -#tray { - color: @red; +#custom-internet { + margin-right: 15px; } diff --git a/.config/waybar/theme.css b/.config/waybar/theme.css deleted file mode 100644 index 0eb6a82..0000000 --- a/.config/waybar/theme.css +++ /dev/null @@ -1,26 +0,0 @@ -@define-color rosewater #f5e0dc; -@define-color flamingo #f2cdcd; -@define-color pink #f5c2e7; -@define-color mauve #cba6f7; -@define-color red #f38ba8; -@define-color maroon #eba0ac; -@define-color peach #fab387; -@define-color yellow #f9e2af; -@define-color green #a6e3a1; -@define-color teal #94e2d5; -@define-color sky #89dceb; -@define-color sapphire #74c7ec; -@define-color blue #89b4fa; -@define-color lavender #b4befe; -@define-color text #cdd6f4; -@define-color subtext1 #bac2de; -@define-color subtext0 #a6adc8; -@define-color overlay2 #9399b2; -@define-color overlay1 #7f849c; -@define-color overlay0 #6c7086; -@define-color surface2 #585b70; -@define-color surface1 #45475a; -@define-color surface0 #313244; -@define-color base #1e1e2e; -@define-color mantle #181825; -@define-color crust #11111b; diff --git a/.config/zsh/.zcompdump b/.config/zsh/.zcompdump new file mode 100644 index 0000000..3864698 --- /dev/null +++ b/.config/zsh/.zcompdump @@ -0,0 +1,1804 @@ +#files: 793 version: 5.9 + +_comps=( +'-' '_precommand' +'.' '_source' +'5g' '_go' +'5l' '_go' +'6g' '_go' +'6l' '_go' +'8g' '_go' +'8l' '_go' +'a2ps' '_a2ps' +'aaaa' '_hosts' +'aap' '_aap' +'abcde' '_abcde' +'ack' '_ack' +'ack2' '_ack' +'ack-grep' '_ack' +'ack-standalone' '_ack' +'acpi' '_acpi' +'acpitool' '_acpitool' +'acroread' '_acroread' +'adb' '_adb' +'add-zle-hook-widget' '_add-zle-hook-widget' +'add-zsh-hook' '_add-zsh-hook' +'admin' '_sccs' +'ali' '_mh' +'alias' '_alias' +'amaya' '_webbrowser' +'analyseplugin' '_analyseplugin' +'animate' '_imagemagick' +'anno' '_mh' +'ansible' '_ansible' +'ansible-config' '_ansible' +'ansible-console' '_ansible' +'ansible-doc' '_ansible' +'ansible-galaxy' '_ansible' +'ansible-inventory' '_ansible' +'ansible-playbook' '_ansible' +'ansible-pull' '_ansible' +'ansible-vault' '_ansible' +'ant' '_ant' +'antiword' '_antiword' +'aodh' '_openstack' +'aoss' '_precommand' +'apache2ctl' '_apachectl' +'apachectl' '_apachectl' +'aplay' '_alsa-utils' +'apm' '_apm' +'appletviewer' '_java' +'apropos' '_man' +'apvlv' '_pdf' +'arduino-ctags' '_ctags' +'arecord' '_alsa-utils' +'arena' '_webbrowser' +'_arguments' '__arguments' +'arp' '_arp' +'arping' '_arping' +'-array-value-' '_value' +'asciidoctor' '_asciidoctor' +'asciinema' '_asciinema' +'ash' '_sh' +'-assign-parameter-' '_assign' +'at' '_at' +'atq' '_at' +'atrm' '_at' +'attr' '_attr' +'augtool' '_augeas' +'autoload' '_typeset' +'avahi-browse' '_avahi' +'avahi-browse-domains' '_avahi' +'avahi-resolve' '_avahi' +'avahi-resolve-address' '_avahi' +'avahi-resolve-host-name' '_avahi' +'awk' '_awk' +'b2sum' '_md5sum' +'barbican' '_openstack' +'base32' '_base64' +'base64' '_base64' +'basename' '_basename' +'basenc' '_basenc' +'bash' '_bash' +'bat' '_bat' +'batch' '_at' +'baz' '_baz' +'beep' '_beep' +'bg' '_jobs_bg' +'bibtex' '_bibtex' +'bindkey' '_bindkey' +'bison' '_bison' +'bmake' '_make' +'bogofilter' '_bogofilter' +'bogotune' '_bogofilter' +'bogoutil' '_bogofilter' +'bpython' '_bpython' +'bpython2' '_bpython' +'bpython2-gtk' '_bpython' +'bpython2-urwid' '_bpython' +'bpython3' '_bpython' +'bpython3-gtk' '_bpython' +'bpython3-urwid' '_bpython' +'bpython-gtk' '_bpython' +'bpython-urwid' '_bpython' +'-brace-parameter-' '_brace_parameter' +'brctl' '_brctl' +'bsdgrep' '_grep' +'bsdtar' '_tar' +'btdownloadcurses' '_bittorrent' +'btdownloadgui' '_bittorrent' +'btdownloadheadless' '_bittorrent' +'btlaunchmany' '_bittorrent' +'btlaunchmanycurses' '_bittorrent' +'btmakemetafile' '_bittorrent' +'btreannounce' '_bittorrent' +'btrename' '_bittorrent' +'btrfs' '_btrfs' +'btshowmetainfo' '_bittorrent' +'bttrack' '_bittorrent' +'buildhash' '_ispell' +'builtin' '_builtin' +'bunzip2' '_bzip2' +'burst' '_mh' +'busctl' '_busctl' +'bzcat' '_bzip2' +'bzegrep' '_grep' +'bzfgrep' '_grep' +'bzgrep' '_grep' +'bzip2' '_bzip2' +'bzip2recover' '_bzip2' +'bzr' '_bzr' +'c++' '_gcc' +'cabal' '_cabal' +'cal' '_cal' +'calendar' '_calendar' +'cargo' '_cargo' +'cat' '_cat' +'catchsegv' '_precommand' +'cc' '_gcc' +'ccal' '_ccal' +'cd' '_cd' +'cdc' '_sccs' +'cdcd' '_cdcd' +'cdr' '_cdr' +'cdrdao' '_cdrdao' +'cdrecord' '_cdrecord' +'ceilometer' '_openstack' +'certtool' '_gnutls' +'cftp' '_twisted' +'chafa' '_chafa' +'chage' '_users' +'chattr' '_chattr' +'chcon' '_chcon' +'chdir' '_cd' +'chfn' '_users' +'chgrp' '_chown' +'chimera' '_webbrowser' +'chkconfig' '_chkconfig' +'chkstow' '_stow' +'chmod' '_chmod' +'choom' '_choom' +'chown' '_chown' +'chpass' '_chsh' +'chroot' '_chroot' +'chrt' '_chrt' +'chsh' '_chsh' +'ci' '_rcs' +'cifsiostat' '_sysstat' +'cinder' '_openstack' +'ckeygen' '_twisted' +'cksum' '_cksum' +'clang' '_gcc' +'clang++' '_gcc' +'clay' '_clay' +'clear' '_nothing' +'cloudkitty' '_openstack' +'clusterdb' '_postgresql' +'cmp' '_cmp' +'co' '_rcs' +'code' '_code' +'column' '_column' +'comb' '_sccs' +'combine' '_imagemagick' +'combinediff' '_patchutils' +'comm' '_comm' +'-command-' '_autocd' +'command' '_command' +'-command-line-' '_normal' +'comp' '_mh' +'compadd' '_compadd' +'compdef' '_compdef' +'composer' '_composer' +'composer.phar' '_composer' +'composite' '_imagemagick' +'compress' '_compress' +'conch' '_twisted' +'-condition-' '_condition' +'config.status' '_configure' +'configure' '_configure' +'convert' '_imagemagick' +'cowsay' '_cowsay' +'cowthink' '_cowsay' +'cp' '_cp' +'cpio' '_cpio' +'cplay' '_cplay' +'cpupower' '_cpupower' +'createdb' '_postgresql' +'createuser' '_postgresql' +'crontab' '_crontab' +'crsh' '_cssh' +'cryptsetup' '_cryptsetup' +'cscope' '_cscope' +'csh' '_sh' +'csplit' '_csplit' +'cssh' '_cssh' +'ctags' '_ctags' +'ctags-exuberant' '_ctags' +'ctags-universal' '_ctags' +'curl' '_curl' +'cut' '_cut' +'cvs' '_cvs' +'darcs' '_darcs' +'dash' '_sh' +'date' '_date' +'dbus-launch' '_dbus' +'dbus-monitor' '_dbus' +'dbus-send' '_dbus' +'dconf' '_dconf' +'dcop' '_dcop' +'dcopclient' '_dcop' +'dcopfind' '_dcop' +'dcopobject' '_dcop' +'dcopref' '_dcop' +'dcopstart' '_dcop' +'dd' '_dd' +'declare' '_typeset' +'-default-' '_default' +'delta' '_sccs' +'designate' '_openstack' +'devtodo' '_devtodo' +'df' '_df' +'dhclient' '_dhclient' +'dhclient3' '_dhclient' +'dict' '_dict' +'diff' '_diff' +'diff3' '_diff3' +'diffstat' '_diffstat' +'dig' '_dig' +'dillo' '_webbrowser' +'dircmp' '_directories' +'dirs' '_dirs' +'disable' '_disable' +'disown' '_jobs_fg' +'display' '_imagemagick' +'dist' '_mh' +'django-admin' '_django' +'django-admin.py' '_django' +'dkms' '_dkms' +'dmake' '_make' +'dmesg' '_dmesg' +'dmidecode' '_dmidecode' +'doas' '_doas' +'domainname' '_yp' +'dos2unix' '_dos2unix' +'drill' '_drill' +'dropbox' '_dropbox' +'dropdb' '_postgresql' +'dropuser' '_postgresql' +'dsh' '_dsh' +'dtruss' '_dtruss' +'du' '_du' +'dvibook' '_dvi' +'dviconcat' '_dvi' +'dvicopy' '_dvi' +'dvidvi' '_dvi' +'dvipdf' '_dvi' +'dvips' '_dvi' +'dviselect' '_dvi' +'dvitodvi' '_dvi' +'dvitype' '_dvi' +'dwb' '_webbrowser' +'e2label' '_e2label' +'eatmydata' '_precommand' +'ecasound' '_ecasound' +'echotc' '_echotc' +'echoti' '_echoti' +'ed' '_ed' +'egrep' '_grep' +'elfdump' '_elfdump' +'elinks' '_elinks' +'emulate' '_emulate' +'enable' '_enable' +'enscript' '_enscript' +'entr' '_entr' +'env' '_env' +'eog' '_eog' +'epdfview' '_pdf' +'epsffit' '_psutils' +'-equal-' '_equal' +'erb' '_ruby' +'espeak' '_espeak' +'etags' '_etags' +'ethtool' '_ethtool' +'eu-nm' '_nm' +'eu-objdump' '_objdump' +'eu-readelf' '_readelf' +'eu-strings' '_strings' +'eval' '_precommand' +'eview' '_vim' +'evim' '_vim' +'evince' '_evince' +'ex' '_vi' +'exec' '_exec' +'expand' '_unexpand' +'export' '_typeset' +'express' '_webbrowser' +'extcheck' '_java' +'extractres' '_psutils' +'fakeroot' '_fakeroot' +'false' '_nothing' +'fc' '_fc' +'fc-list' '_xft_fonts' +'fc-match' '_xft_fonts' +'feh' '_feh' +'fetchmail' '_fetchmail' +'ffmpeg' '_ffmpeg' +'fg' '_jobs_fg' +'fgrep' '_grep' +'figlet' '_figlet' +'filterdiff' '_patchutils' +'find' '_find' +'findaffix' '_ispell' +'findmnt' '_findmnt' +'finger' '_finger' +'firefox' '_mozilla' +'-first-' '_first' +'fixdlsrps' '_psutils' +'fixfmps' '_psutils' +'fixmacps' '_psutils' +'fixpsditps' '_psutils' +'fixpspps' '_psutils' +'fixscribeps' '_psutils' +'fixtpps' '_psutils' +'fixwfwps' '_psutils' +'fixwpps' '_psutils' +'fixwwps' '_psutils' +'flac' '_flac' +'flex' '_flex' +'flex++' '_flex' +'flipdiff' '_patchutils' +'flist' '_mh' +'flists' '_mh' +'float' '_typeset' +'fmt' '_fmt' +'fmttest' '_mh' +'fned' '_zed' +'fnext' '_mh' +'fold' '_fold' +'folder' '_mh' +'folders' '_mh' +'foot' '_foot' +'footclient' '_footclient' +'fortune' '_fortune' +'forw' '_mh' +'fprev' '_mh' +'free' '_free' +'freebsd-make' '_make' +'freezer' '_openstack' +'fsh' '_fsh' +'ftp' '_hosts' +'functions' '_typeset' +'fuser' '_fuser' +'fusermount' '_fusermount' +'fwhois' '_whois' +'g++' '_gcc' +'galeon' '_webbrowser' +'gawk' '_awk' +'gb2sum' '_md5sum' +'gbase32' '_base64' +'gbase64' '_base64' +'gbasename' '_basename' +'gcat' '_cat' +'gcc' '_gcc' +'gccgo' '_go' +'gchgrp' '_chown' +'gchmod' '_chmod' +'gchown' '_chown' +'gchroot' '_chroot' +'gcksum' '_cksum' +'gcmp' '_cmp' +'gcomm' '_comm' +'gcore' '_gcore' +'gcp' '_cp' +'gcut' '_cut' +'gdate' '_date' +'gdb' '_gdb' +'gdd' '_dd' +'gdf' '_df' +'gdiff' '_diff' +'gdu' '_du' +'geany' '_geany' +'gegrep' '_grep' +'gem' '_gem' +'genisoimage' '_genisoimage' +'genv' '_env' +'get' '_sccs' +'getafm' '_psutils' +'getconf' '_getconf' +'getent' '_getent' +'getfacl' '_getfacl' +'getfacl.exe' '_getfacl' +'getfattr' '_attr' +'getmail' '_getmail' +'getopt' '_getopt' +'getopts' '_vars' +'gex' '_vim' +'gexpand' '_unexpand' +'gfgrep' '_grep' +'gfind' '_find' +'gfmt' '_fmt' +'gfold' '_fold' +'ggetopt' '_getopt' +'ggrep' '_grep' +'ggv' '_gnome-gv' +'ghead' '_head' +'ghostscript' '_ghostscript' +'ghostview' '_pspdf' +'gid' '_id' +'ginstall' '_install' +'git' '_git' +'git-cvsserver' '_git' +'gitk' '_git' +'git-receive-pack' '_git' +'git-shell' '_git' +'git-upload-archive' '_git' +'git-upload-pack' '_git' +'gjoin' '_join' +'glance' '_openstack' +'gln' '_ln' +'global' '_global' +'glocate' '_locate' +'gls' '_ls' +'gm' '_graphicsmagick' +'gmake' '_make' +'gmd5sum' '_md5sum' +'gmkdir' '_mkdir' +'gmkfifo' '_mkfifo' +'gmknod' '_mknod' +'gmktemp' '_mktemp' +'gmplayer' '_mplayer' +'gmv' '_mv' +'gnl' '_nl' +'gnocchi' '_openstack' +'gnome-gv' '_gnome-gv' +'gnumfmt' '_numfmt' +'gnupod_addsong' '_gnupod' +'gnupod_addsong.pl' '_gnupod' +'gnupod_check' '_gnupod' +'gnupod_check.pl' '_gnupod' +'gnupod_INIT' '_gnupod' +'gnupod_INIT.pl' '_gnupod' +'gnupod_search' '_gnupod' +'gnupod_search.pl' '_gnupod' +'gnutls-cli' '_gnutls' +'gnutls-cli-debug' '_gnutls' +'gnutls-serv' '_gnutls' +'god' '_od' +'gofmt' '_go' +'gpasswd' '_gpasswd' +'gpaste' '_paste' +'gpatch' '_patch' +'gpg' '_gpg' +'gpg2' '_gpg' +'gpgv' '_gpg' +'gpg-zip' '_gpg' +'gphoto2' '_gphoto2' +'gprintenv' '_printenv' +'gprof' '_gprof' +'gqview' '_gqview' +'gradle' '_gradle' +'gradlew' '_gradle' +'grail' '_webbrowser' +'greadlink' '_readlink' +'grep' '_grep' +'grepdiff' '_patchutils' +'grm' '_rm' +'grmdir' '_rmdir' +'groff' '_groff' +'groupadd' '_user_admin' +'groupdel' '_groups' +'groupmod' '_user_admin' +'groups' '_users' +'growisofs' '_growisofs' +'gs' '_ghostscript' +'gsbj' '_pspdf' +'gsdj' '_pspdf' +'gsdj500' '_pspdf' +'gsed' '_sed' +'gseq' '_seq' +'gsettings' '_gsettings' +'gsha1sum' '_md5sum' +'gsha224sum' '_md5sum' +'gsha256sum' '_md5sum' +'gsha384sum' '_md5sum' +'gsha512sum' '_md5sum' +'gshred' '_shred' +'gshuf' '_shuf' +'gslj' '_pspdf' +'gslp' '_pspdf' +'gsnd' '_pspdf' +'gsort' '_sort' +'gsplit' '_split' +'gstat' '_stat' +'gstdbuf' '_stdbuf' +'gstrings' '_strings' +'gstty' '_stty' +'gsum' '_cksum' +'gtac' '_tac' +'gtail' '_tail' +'gtar' '_tar' +'gtee' '_tee' +'gtimeout' '_timeout' +'gtouch' '_touch' +'gtr' '_tr' +'gtty' '_tty' +'guilt' '_guilt' +'guilt-add' '_guilt' +'guilt-applied' '_guilt' +'guilt-delete' '_guilt' +'guilt-files' '_guilt' +'guilt-fold' '_guilt' +'guilt-fork' '_guilt' +'guilt-header' '_guilt' +'guilt-help' '_guilt' +'guilt-import' '_guilt' +'guilt-import-commit' '_guilt' +'guilt-init' '_guilt' +'guilt-new' '_guilt' +'guilt-next' '_guilt' +'guilt-patchbomb' '_guilt' +'guilt-pop' '_guilt' +'guilt-prev' '_guilt' +'guilt-push' '_guilt' +'guilt-rebase' '_guilt' +'guilt-refresh' '_guilt' +'guilt-rm' '_guilt' +'guilt-series' '_guilt' +'guilt-status' '_guilt' +'guilt-top' '_guilt' +'guilt-unapplied' '_guilt' +'guname' '_uname' +'gunexpand' '_unexpand' +'guniq' '_uniq' +'gunzip' '_gzip' +'guptime' '_uptime' +'gv' '_gv' +'gview' '_vim' +'gvim' '_vim' +'gvimdiff' '_vim' +'gwc' '_wc' +'gwho' '_who' +'gxargs' '_xargs' +'gzcat' '_gzip' +'gzegrep' '_grep' +'gzfgrep' '_grep' +'gzgrep' '_grep' +'gzilla' '_webbrowser' +'gzip' '_gzip' +'hash' '_hash' +'hd' '_hexdump' +'head' '_head' +'heat' '_openstack' +'help' '_sccs' +'hexdump' '_hexdump' +'hilite' '_precommand' +'histed' '_zed' +'history' '_fc' +'host' '_host' +'hostname' '_hostname' +'hotjava' '_webbrowser' +'htop' '_htop' +'hyprctl' '_hyprctl' +'hyprpm' '_hyprpm' +'iceweasel' '_mozilla' +'icombine' '_ispell' +'iconv' '_iconv' +'iconvconfig' '_iconvconfig' +'id' '_id' +'identify' '_imagemagick' +'ifconfig' '_ifconfig' +'ifdown' '_net_interfaces' +'iftop' '_iftop' +'ifup' '_net_interfaces' +'ijoin' '_ispell' +'img2sixel' '_img2sixel' +'import' '_imagemagick' +'inc' '_mh' +'includeres' '_psutils' +'info' '_texinfo' +'infocmp' '_terminals' +'initctl' '_initctl' +'initdb' '_postgresql' +'insmod' '_modutils' +'install' '_install' +'install-info' '_texinfo' +'integer' '_typeset' +'interdiff' '_patchutils' +'ionice' '_ionice' +'iostat' '_iostat' +'ip' '_ip' +'ip6tables' '_iptables' +'ip6tables-restore' '_iptables' +'ip6tables-save' '_iptables' +'ipkg' '_opkg' +'ipsec' '_ipsec' +'ipset' '_ipset' +'iptables' '_iptables' +'iptables-restore' '_iptables' +'iptables-save' '_iptables' +'irb' '_ruby' +'ironic' '_openstack' +'irssi' '_irssi' +'isag' '_sysstat' +'ispell' '_ispell' +'iwconfig' '_iwconfig' +'jadetex' '_tex' +'jar' '_java' +'jarsigner' '_java' +'java' '_java' +'javac' '_java' +'javadoc' '_java' +'javah' '_java' +'javap' '_java' +'jdb' '_java' +'jobs' '_jobs_builtin' +'joe' '_joe' +'join' '_join' +'jq' '_jq' +'kdeconnect-cli' '_kdeconnect' +'keystone' '_openstack' +'keytool' '_java' +'kfmclient' '_kfmclient' +'kill' '_kill' +'killall' '_killall' +'killall5' '_killall' +'kioclient' '_kfmclient' +'kitty' '_kitty' +'knock' '_knock' +'konqueror' '_webbrowser' +'kpartx' '_kpartx' +'kpdf' '_pdf' +'ksh' '_sh' +'ksh88' '_sh' +'ksh93' '_sh' +'kvno' '_kvno' +'last' '_last' +'lastb' '_last' +'latex' '_tex' +'latexmk' '_tex' +'ldconfig' '_ldconfig' +'ldconfig.real' '_ldconfig' +'ldd' '_ldd' +'less' '_less' +'let' '_math' +'lf' '_lf' +'lfcd' '_lf' +'lftp' '_ncftp' +'lha' '_lha' +'libinput' '_libinput' +'light' '_webbrowser' +'limit' '_limit' +'links' '_links' +'links2' '_links' +'linux' '_uml' +'lldb' '_lldb' +'llvm-g++' '_gcc' +'llvm-gcc' '_gcc' +'llvm-objdump' '_objdump' +'ln' '_ln' +'loadkeys' '_loadkeys' +'local' '_typeset' +'locale' '_locale' +'localedef' '_localedef' +'locate' '_locate' +'log' '_nothing' +'logger' '_logger' +'loginctl' '_loginctl' +'logname' '_nothing' +'look' '_look' +'losetup' '_losetup' +'lp' '_lp' +'lpadmin' '_lp' +'lpinfo' '_lp' +'lpoptions' '_lp' +'lpq' '_lp' +'lpr' '_lp' +'lprm' '_lp' +'lpstat' '_lp' +'ls' '_ls' +'lsattr' '_lsattr' +'lsblk' '_lsblk' +'lsdiff' '_patchutils' +'lsmod' '_modutils' +'lsns' '_lsns' +'lsof' '_lsof' +'lsusb' '_lsusb' +'ltrace' '_ltrace' +'lua' '_lua' +'luarocks' '_luarocks' +'lynx' '_lynx' +'lz4' '_lz4' +'lz4c' '_lz4' +'lz4c32' '_lz4' +'lz4cat' '_lz4' +'lzcat' '_xz' +'lzma' '_xz' +'lzop' '_lzop' +'mac2unix' '_dos2unix' +'magnum' '_openstack' +'mail' '_mail' +'Mail' '_mail' +'mailx' '_mail' +'make' '_make' +'makeinfo' '_texinfo' +'makepkg' '_pacman' +'mako' '_mako' +'makoctl' '_makoctl' +'man' '_man' +'manage.py' '_django' +'manila' '_openstack' +'mark' '_mh' +'mat' '_mat' +'mat2' '_mat2' +'-math-' '_math' +'matlab' '_matlab' +'mattrib' '_mtools' +'mcd' '_mtools' +'mcopy' '_mtools' +'md2' '_cksum' +'md4' '_cksum' +'md5' '_cksum' +'md5sum' '_md5sum' +'mdadm' '_mdadm' +'mdel' '_mtools' +'mdeltree' '_mtools' +'mdir' '_mtools' +'mdu' '_mtools' +'mencal' '_mencal' +'mere' '_mere' +'merge' '_rcs' +'metaflac' '_flac' +'mformat' '_mtools' +'mgv' '_pspdf' +'mhfixmsg' '_mh' +'mhlist' '_mh' +'mhmail' '_mh' +'mhn' '_mh' +'mhparam' '_mh' +'mhpath' '_mh' +'mhshow' '_mh' +'mhstore' '_mh' +'mii-tool' '_mii-tool' +'mistral' '_openstack' +'mkdir' '_mkdir' +'mkfifo' '_mkfifo' +'mkisofs' '_growisofs' +'mknod' '_mknod' +'mksh' '_sh' +'mktemp' '_mktemp' +'mktunes' '_gnupod' +'mktunes.pl' '_gnupod' +'mlabel' '_mtools' +'mlocate' '_locate' +'mmd' '_mtools' +'mmm' '_webbrowser' +'mmount' '_mtools' +'mmove' '_mtools' +'modinfo' '_modutils' +'modprobe' '_modutils' +'module' '_module' +'mogrify' '_imagemagick' +'monasca' '_openstack' +'mondoarchive' '_mondo' +'montage' '_imagemagick' +'moosic' '_moosic' +'Mosaic' '_webbrowser' +'mosh' '_mosh' +'mount' '_mount' +'mozilla' '_mozilla' +'mozilla-firefox' '_mozilla' +'mozilla-xremote-client' '_mozilla' +'mpc' '_mpc' +'mplayer' '_mplayer' +'mpstat' '_sysstat' +'mpv' '_mpv' +'mr' '_myrepos' +'mrd' '_mtools' +'mread' '_mtools' +'mren' '_mtools' +'msgchk' '_mh' +'mt' '_mt' +'mtn' '_monotone' +'mtoolstest' '_mtools' +'mtr' '_mtr' +'mtype' '_mtools' +'munchlist' '_ispell' +'mupdf' '_mupdf' +'murano' '_openstack' +'mush' '_mail' +'mutt' '_mutt' +'mv' '_mv' +'mvim' '_vim' +'mx' '_hosts' +'mysql' '_mysql_utils' +'mysqladmin' '_mysql_utils' +'mysqldiff' '_mysqldiff' +'mysqldump' '_mysql_utils' +'mysqlimport' '_mysql_utils' +'mysqlshow' '_mysql_utils' +'nail' '_mail' +'native2ascii' '_java' +'nautilus' '_nautilus' +'nawk' '_awk' +'nc' '_netcat' +'ncal' '_cal' +'ncftp' '_ncftp' +'ncl' '_nedit' +'nedit' '_nedit' +'nedit-nc' '_nedit' +'netcat' '_netcat' +'netrik' '_webbrowser' +'netscape' '_netscape' +'netstat' '_netstat' +'neutron' '_openstack' +'new' '_mh' +'newgrp' '_groups' +'next' '_mh' +'nginx' '_nginx' +'ngrep' '_ngrep' +'nice' '_nice' +'nkf' '_nkf' +'nl' '_nl' +'nm' '_nm' +'nmap' '_nmap' +'nmblookup' '_samba' +'nmcli' '_networkmanager' +'nocorrect' '_precommand' +'noglob' '_precommand' +'nohup' '_precommand' +'nova' '_openstack' +'npm' '_npm' +'ns' '_hosts' +'nsenter' '_nsenter' +'nslookup' '_nslookup' +'ntalk' '_other_accounts' +'numfmt' '_numfmt' +'nvim' '_vim' +'objdump' '_objdump' +'od' '_od' +'ogg123' '_vorbis' +'oggdec' '_vorbis' +'oggenc' '_vorbis' +'ogginfo' '_vorbis' +'oksh' '_sh' +'okular' '_okular' +'openrc' '_openrc' +'openstack' '_openstack' +'opera' '_webbrowser' +'opera-next' '_webbrowser' +'opkg' '_opkg' +'opusdec' '_opustools' +'opusenc' '_opustools' +'opusinfo' '_opustools' +'p4' '_perforce' +'p4d' '_perforce' +'pacat' '_pulseaudio' +'pack' '_pack' +'packf' '_mh' +'pacman' '_pacman' +'pacman-conf' '_pacman' +'pacman-key' '_pacman' +'pacman.static' '_pacman' +'pacmd' '_pulseaudio' +'pactl' '_pulseaudio' +'padsp' '_pulseaudio' +'pandoc' '_pandoc' +'paplay' '_pulseaudio' +'-parameter-' '_parameter' +'parec' '_pulseaudio' +'parecord' '_pulseaudio' +'passwd' '_users' +'paste' '_paste' +'pasuspender' '_pulseaudio' +'patch' '_patch' +'pax' '_pax' +'pcat' '_pack' +'pcp-htop' '_htop' +'pcred' '_pids' +'pdf2dsc' '_pdf' +'pdf2ps' '_pdf' +'pdffonts' '_pdf' +'pdfimages' '_pdf' +'pdfinfo' '_pdf' +'pdfjadetex' '_tex' +'pdflatex' '_tex' +'pdfopt' '_pdf' +'pdftex' '_tex' +'pdftexi2dvi' '_texinfo' +'pdftk' '_pdftk' +'pdftopbm' '_pdf' +'pdftops' '_pdf' +'pdftotext' '_pdf' +'pdksh' '_sh' +'perf' '_perf' +'perl' '_perl' +'perldoc' '_perldoc' +'pfiles' '_pids' +'pflags' '_pids' +'pg_config' '_postgresql' +'pg_ctl' '_postgresql' +'pg_dump' '_postgresql' +'pg_dumpall' '_postgresql' +'pg_isready' '_postgresql' +'pgrep' '_pgrep' +'pg_restore' '_postgresql' +'pg_upgrade' '_postgresql' +'php' '_php' +'pick' '_mh' +'picocom' '_picocom' +'pidof' '_pidof' +'pidstat' '_sysstat' +'pigz' '_gzip' +'pine' '_pine' +'pinef' '_pine' +'pinfo' '_texinfo' +'ping' '_ping' +'ping6' '_ping' +'pkgadd' '_pkgadd' +'pkg-config' '_pkg-config' +'pkginfo' '_pkginfo' +'pkgrm' '_pkgrm' +'pkill' '_pgrep' +'pldd' '_pids' +'pmake' '_make' +'pman' '_perl_modules' +'pmap' '_pmap' +'pmcat' '_perl_modules' +'pmdesc' '_perl_modules' +'pmeth' '_perl_modules' +'pmexp' '_perl_modules' +'pmfunc' '_perl_modules' +'pmload' '_perl_modules' +'pmls' '_perl_modules' +'pmpath' '_perl_modules' +'pmvers' '_perl_modules' +'podgrep' '_perl_modules' +'podpath' '_perl_modules' +'podtoc' '_perl_modules' +'poff' '_pon' +'policytool' '_java' +'pon' '_pon' +'popd' '_directory_stack' +'postconf' '_postfix' +'postgres' '_postgresql' +'postmaster' '_postgresql' +'postqueue' '_postfix' +'postsuper' '_postfix' +'pr' '_pr' +'prev' '_mh' +'print' '_print' +'printenv' '_printenv' +'printf' '_print' +'prompt' '_prompt' +'prove' '_prove' +'prs' '_sccs' +'prt' '_sccs' +'prun' '_pids' +'ps' '_ps' +'ps2ascii' '_pspdf' +'ps2epsi' '_postscript' +'ps2pdf' '_postscript' +'ps2pdf12' '_postscript' +'ps2pdf13' '_postscript' +'ps2pdf14' '_postscript' +'ps2pdfwr' '_postscript' +'ps2ps' '_postscript' +'psbook' '_psutils' +'psed' '_sed' +'psig' '_pids' +'psmerge' '_psutils' +'psmulti' '_postscript' +'psnup' '_psutils' +'psql' '_postgresql' +'psresize' '_psutils' +'psselect' '_psutils' +'pstack' '_pids' +'pstoedit' '_pspdf' +'pstop' '_pids' +'pstops' '_psutils' +'pstotgif' '_pspdf' +'pswrap' '_postscript' +'ptx' '_ptx' +'pulseaudio' '_pulseaudio' +'pump' '_pump' +'pushd' '_cd' +'pv' '_pv' +'pwait' '_pids' +'pwdx' '_pids' +'pwgen' '_pwgen' +'pyhtmlizer' '_twisted' +'qdbus' '_qdbus' +'qiv' '_qiv' +'quilt' '_quilt' +'r' '_fc' +'rake' '_rake' +'ranlib' '_ranlib' +'rar' '_rar' +'rc' '_sh' +'rclone' '_rclone' +'rcp' '_rlogin' +'rcs' '_rcs' +'rcsdiff' '_rcs' +'rc-service' '_rc-service' +'rc-status' '_rc-status' +'rc-update' '_rc-update' +'rdesktop' '_rdesktop' +'read' '_read' +'readelf' '_readelf' +'readlink' '_readlink' +'readonly' '_typeset' +'-redirect-' '_redirect' +'-redirect-,<,bunzip2' '_bzip2' +'-redirect-,<,bzip2' '_bzip2' +'-redirect-,>,bzip2' '_bzip2' +'-redirect-,<,compress' '_compress' +'-redirect-,>,compress' '_compress' +'-redirect-,-default-,-default-' '_files' +'-redirect-,<,gunzip' '_gzip' +'-redirect-,<,gzip' '_gzip' +'-redirect-,>,gzip' '_gzip' +'-redirect-,<,uncompress' '_compress' +'-redirect-,<,unxz' '_xz' +'-redirect-,<,xz' '_xz' +'-redirect-,>,xz' '_xz' +'refile' '_mh' +'rehash' '_hash' +'reindexdb' '_postgresql' +'reload' '_initctl' +'remsh' '_rlogin' +'renice' '_renice' +'repl' '_mh' +'restart' '_initctl' +'retawq' '_webbrowser' +'rgrep' '_grep' +'rgview' '_vim' +'rgvim' '_vim' +'ri' '_ri' +'rlogin' '_rlogin' +'rm' '_rm' +'rmd160' '_cksum' +'rmdel' '_sccs' +'rmdir' '_rmdir' +'rmf' '_mh' +'rmic' '_java' +'rmid' '_java' +'rmiregistry' '_java' +'rmm' '_mh' +'rmmod' '_modutils' +'route' '_route' +'rrdtool' '_rrdtool' +'rsh' '_rlogin' +'rsync' '_rsync' +'rtin' '_tin' +'rubber' '_rubber' +'rubber-info' '_rubber' +'rubber-pipe' '_rubber' +'ruby' '_ruby' +'ruby-mri' '_ruby' +'run-help' '_run-help' +'rup' '_hosts' +'rusage' '_precommand' +'rview' '_vim' +'rvim' '_vim' +'rwho' '_hosts' +'rxvt' '_urxvt' +'s2p' '_sed' +'sact' '_sccs' +'sadf' '_sysstat' +'sahara' '_openstack' +'sar' '_sysstat' +'scan' '_mh' +'sccs' '_sccs' +'sccsdiff' '_sccs' +'sched' '_sched' +'schedtool' '_schedtool' +'scons' '_scons' +'scp' '_ssh' +'screen' '_screen' +'script' '_script' +'scriptreplay' '_script' +'seaf-cli' '_seafile' +'sed' '_sed' +'senlin' '_openstack' +'seq' '_seq' +'serialver' '_java' +'service' '_service' +'set' '_set' +'setfacl' '_setfacl' +'setfacl.exe' '_setfacl' +'setfattr' '_attr' +'setopt' '_setopt' +'setpriv' '_setpriv' +'setsid' '_setsid' +'setxkbmap' '_setxkbmap' +'sftp' '_ssh' +'sh' '_sh' +'sha1' '_cksum' +'sha1sum' '_md5sum' +'sha224sum' '_md5sum' +'sha256' '_cksum' +'sha256sum' '_md5sum' +'sha384' '_cksum' +'sha384sum' '_md5sum' +'sha512' '_cksum' +'sha512sum' '_md5sum' +'sha512t256' '_cksum' +'shasum' '_shasum' +'shift' '_arrays' +'show' '_mh' +'showchar' '_psutils' +'showmount' '_showmount' +'shred' '_shred' +'shuf' '_shuf' +'shutdown' '_shutdown' +'sisu' '_sisu' +'skein1024' '_cksum' +'skein256' '_cksum' +'skein512' '_cksum' +'skipstone' '_webbrowser' +'slabtop' '_slabtop' +'slitex' '_tex' +'slocate' '_locate' +'slogin' '_ssh' +'slrn' '_slrn' +'smartctl' '_smartmontools' +'smbclient' '_samba' +'smbcontrol' '_samba' +'smbstatus' '_samba' +'soa' '_hosts' +'socket' '_socket' +'sort' '_sort' +'sortm' '_mh' +'source' '_source' +'spamassassin' '_spamassassin' +'split' '_split' +'splitdiff' '_patchutils' +'sqlite' '_sqlite' +'sqlite3' '_sqlite' +'sqsh' '_sqsh' +'sr' '_surfraw' +'srptool' '_gnutls' +'ss' '_ss' +'ssh' '_ssh' +'ssh-add' '_ssh' +'ssh-agent' '_ssh' +'ssh-copy-id' '_ssh' +'sshfs' '_sshfs' +'ssh-keygen' '_ssh' +'ssh-keyscan' '_ssh' +'star' '_tar' +'start' '_initctl' +'stat' '_stat' +'status' '_initctl' +'stdbuf' '_stdbuf' +'stg' '_stgit' +'stop' '_initctl' +'stow' '_stow' +'strace' '_strace' +'strace64' '_strace' +'strftime' '_strftime' +'strings' '_strings' +'strip' '_strip' +'strongswan' '_ipsec' +'stty' '_stty' +'su' '_su' +'subl' '_sublimetext' +'-subscript-' '_subscript' +'sudo' '_sudo' +'sudoedit' '_sudo' +'sum' '_cksum' +'surfraw' '_surfraw' +'sv' '_runit' +'svn' '_subversion' +'svnadmin' '_subversion' +'svnadmin-static' '_subversion' +'svnlite' '_subversion' +'svnliteadmin' '_subversion' +'swaks' '_swaks' +'swanctl' '_swanctl' +'swift' '_swift' +'swiftc' '_swift' +'sync' '_nothing' +'sysctl' '_sysctl' +'tac' '_tac' +'tacker' '_openstack' +'tail' '_tail' +'talk' '_other_accounts' +'tar' '_tar' +'tardy' '_tardy' +'tcpdump' '_tcpdump' +'tcp_open' '_tcpsys' +'tcptraceroute' '_tcptraceroute' +'tcsh' '_sh' +'tda' '_devtodo' +'tdd' '_devtodo' +'tde' '_devtodo' +'tdr' '_devtodo' +'tee' '_tee' +'telnet' '_telnet' +'tex' '_tex' +'texi2any' '_texinfo' +'texi2dvi' '_texinfo' +'texi2pdf' '_texinfo' +'texindex' '_texinfo' +'tg' '_topgit' +'tidy' '_tidy' +'tig' '_git' +'-tilde-' '_tilde' +'time' '_precommand' +'timeout' '_timeout' +'times' '_nothing' +'tin' '_tin' +'tkconch' '_twisted' +'tkinfo' '_texinfo' +'tla' '_tla' +'tload' '_tload' +'tmux' '_tmux' +'todo' '_devtodo' +'todo.sh' '_todo.sh' +'toilet' '_toilet' +'top' '_top' +'totdconfig' '_totd' +'touch' '_touch' +'tpb' '_tpb' +'tput' '_tput' +'tr' '_tr' +'tracepath' '_tracepath' +'tracepath6' '_tracepath' +'traceroute' '_hosts' +'transmission-remote' '_transmission' +'trap' '_trap' +'tree' '_tree' +'trial' '_twisted' +'trove' '_openstack' +'true' '_nothing' +'truncate' '_truncate' +'truss' '_truss' +'tryaffix' '_ispell' +'tty' '_tty' +'ttyctl' '_ttyctl' +'tunctl' '_uml' +'tune2fs' '_tune2fs' +'tunes2pod' '_gnupod' +'tunes2pod.pl' '_gnupod' +'twidge' '_twidge' +'twist' '_twisted' +'twistd' '_twisted' +'txt' '_hosts' +'type' '_which' +'typeset' '_typeset' +'udevadm' '_udevadm' +'ulimit' '_ulimit' +'uml_mconsole' '_uml' +'uml_moo' '_uml' +'uml_switch' '_uml' +'umount' '_mount' +'unace' '_unace' +'unalias' '_aliases' +'uname' '_uname' +'uncompress' '_compress' +'unexpand' '_unexpand' +'unfunction' '_functions' +'unget' '_sccs' +'unhash' '_unhash' +'uniq' '_uniq' +'unison' '_unison' +'units' '_units' +'unix2dos' '_dos2unix' +'unix2mac' '_dos2unix' +'unlimit' '_limits' +'unlz4' '_lz4' +'unlzma' '_xz' +'unpack' '_pack' +'unpigz' '_gzip' +'unrar' '_rar' +'unset' '_vars' +'unsetopt' '_setopt' +'unshare' '_unshare' +'unwrapdiff' '_patchutils' +'unxz' '_xz' +'unzip' '_zip' +'uptime' '_uptime' +'urxvt' '_urxvt' +'urxvt256c' '_urxvt' +'urxvt256cc' '_urxvt' +'urxvt256c-ml' '_urxvt' +'urxvt256c-mlc' '_urxvt' +'urxvtc' '_urxvt' +'useradd' '_user_admin' +'userdel' '_users' +'usermod' '_user_admin' +'vacuumdb' '_postgresql' +'val' '_sccs' +'valgrind' '_valgrind' +'-value-' '_value' +'-value-,ADB_TRACE,-default-' '_adb' +'-value-,ANDROID_LOG_TAGS,-default-' '_adb' +'-value-,ANDROID_SERIAL,-default-' '_adb' +'-value-,ANSIBLE_INVENTORY_ENABLED,-default-' '_ansible' +'-value-,ANSIBLE_STDOUT_CALLBACK,-default-' '_ansible' +'-value-,ANT_ARGS,-default-' '_ant' +'-value-,CFLAGS,-default-' '_gcc' +'-value-,CPPFLAGS,-default-' '_gcc' +'-value-,CXXFLAGS,-default-' '_gcc' +'-value-,-default-,-command-' '_zargs' +'-value-,-default-,-default-' '_value' +'-value-,DISPLAY,-default-' '_x_display' +'-value-,GREP_OPTIONS,-default-' '_grep' +'-value-,GZIP,-default-' '_gzip' +'-value-,LANG,-default-' '_locales' +'-value-,LANGUAGE,-default-' '_locales' +'-value-,LD_DEBUG,-default-' '_ld_debug' +'-value-,LDFLAGS,-default-' '_gcc' +'-value-,LESSCHARSET,-default-' '_less' +'-value-,LESS,-default-' '_less' +'-value-,LOOPDEV_DEBUG,-default-' '_losetup' +'-value-,LPDEST,-default-' '_printers' +'-value-,MPD_HOST,-default' '_mpc' +'-value-,P4CLIENT,-default-' '_perforce' +'-value-,P4MERGE,-default-' '_perforce' +'-value-,P4PORT,-default-' '_perforce' +'-value-,P4USER,-default-' '_perforce' +'-value-,PERLDOC,-default-' '_perldoc' +'-value-,PRINTER,-default-' '_printers' +'-value-,PROMPT2,-default-' '_ps1234' +'-value-,PROMPT3,-default-' '_ps1234' +'-value-,PROMPT4,-default-' '_ps1234' +'-value-,PROMPT,-default-' '_ps1234' +'-value-,PS1,-default-' '_ps1234' +'-value-,PS2,-default-' '_ps1234' +'-value-,PS3,-default-' '_ps1234' +'-value-,PS4,-default-' '_ps1234' +'-value-,RPROMPT2,-default-' '_ps1234' +'-value-,RPROMPT,-default-' '_ps1234' +'-value-,RPS1,-default-' '_ps1234' +'-value-,RPS2,-default-' '_ps1234' +'-value-,SPROMPT,-default-' '_ps1234' +'-value-,TERM,-default-' '_terminals' +'-value-,TERMINFO_DIRS,-default-' '_dir_list' +'-value-,TZ,-default-' '_time_zone' +'-value-,VALGRIND_OPTS,-default-' '_valgrind' +'-value-,WWW_HOME,-default-' '_urls' +'-value-,XML_CATALOG_FILES,-default-' '_xmlsoft' +'-value-,XZ_DEFAULTS,-default-' '_xz' +'-value-,XZ_OPT,-default-' '_xz' +'-vared-' '_in_vared' +'vared' '_vared' +'vcs_info_hookadd' '_vcs_info' +'vcs_info_hookdel' '_vcs_info' +'vi' '_vi' +'view' '_vi' +'vim' '_vim' +'vimdiff' '_vim' +'virsh' '_libvirt' +'virt-admin' '_libvirt' +'virt-host-validate' '_libvirt' +'virt-pki-validate' '_libvirt' +'virt-xml-validate' '_libvirt' +'visudo' '_visudo' +'vitrage' '_openstack' +'vmstat' '_vmstat' +'vncserver' '_vnc' +'vncviewer' '_vnc' +'vorbiscomment' '_vorbis' +'vpnc' '_vpnc' +'vpnc-connect' '_vpnc' +'vserver' '_vserver' +'w' '_w' +'w3m' '_w3m' +'wait' '_wait' +'watch' '_watch' +'watcher' '_openstack' +'wc' '_wc' +'wget' '_wget' +'what' '_sccs' +'whatis' '_man' +'whence' '_which' +'where' '_which' +'whereis' '_whereis' +'which' '_which' +'who' '_who' +'whoami' '_nothing' +'whois' '_whois' +'whom' '_mh' +'wiggle' '_wiggle' +'wipefs' '_wipefs' +'wl-copy' '_wl-copy' +'wl-paste' '_wl-paste' +'wodim' '_cdrecord' +'wpa_cli' '_wpa_cli' +'wpctl' '_wpctl' +'write' '_users_on' +'www' '_webbrowser' +'xargs' '_xargs' +'xattr' '_attr' +'xauth' '_xauth' +'xautolock' '_xautolock' +'xclip' '_xclip' +'xdpyinfo' '_x_utils' +'xdvi' '_xdvi' +'xelatex' '_tex' +'xetex' '_tex' +'xev' '_x_utils' +'xfd' '_x_utils' +'xfig' '_xfig' +'xfontsel' '_x_utils' +'xfreerdp' '_rdesktop' +'xhost' '_x_utils' +'xinput' '_xinput' +'xkill' '_x_utils' +'xli' '_xloadimage' +'xloadimage' '_xloadimage' +'xlsatoms' '_x_utils' +'xlsclients' '_x_utils' +'xml' '_xmlstarlet' +'xmllint' '_xmlsoft' +'xmlstarlet' '_xmlstarlet' +'xmms2' '_xmms2' +'xmodmap' '_xmodmap' +'xmosaic' '_webbrowser' +'xon' '_x_utils' +'xournal' '_xournal' +'xpdf' '_xpdf' +'xping' '_hosts' +'xprop' '_x_utils' +'xrandr' '_xrandr' +'xrdb' '_x_utils' +'xscreensaver-command' '_xscreensaver' +'xset' '_xset' +'xsetbg' '_xloadimage' +'xsetroot' '_x_utils' +'xsltproc' '_xmlsoft' +'xterm' '_xterm' +'xtightvncviewer' '_vnc' +'xtp' '_imagemagick' +'xv' '_xv' +'xview' '_xloadimage' +'xvnc4viewer' '_vnc' +'xvncviewer' '_vnc' +'xwd' '_x_utils' +'xwininfo' '_x_utils' +'xwit' '_xwit' +'xwud' '_x_utils' +'xxd' '_xxd' +'xz' '_xz' +'xzcat' '_xz' +'yafc' '_yafc' +'yash' '_sh' +'yay' '_yay' +'ypbind' '_yp' +'ypcat' '_yp' +'ypmatch' '_yp' +'yppasswd' '_yp' +'yppoll' '_yp' +'yppush' '_yp' +'ypserv' '_yp' +'ypset' '_yp' +'ypwhich' '_yp' +'ypxfr' '_yp' +'ytalk' '_other_accounts' +'yt-dlp' '_yt-dlp' +'zargs' '_zargs' +'zcalc' '_zcalc' +'-zcalc-line-' '_zcalc_line' +'zcat' '_zcat' +'zcompile' '_zcompile' +'zcp' '_zmv' +'zdb' '_zfs' +'zdelattr' '_zattr' +'zdump' '_zdump' +'zeal' '_zeal' +'zed' '_zed' +'zegrep' '_grep' +'zen' '_webbrowser' +'zf_chgrp' '_chown' +'zf_chmod' '_chmod' +'zf_chown' '_chown' +'zfgrep' '_grep' +'zf_ln' '_ln' +'zf_mkdir' '_mkdir' +'zf_mv' '_mv' +'zf_rm' '_rm' +'zf_rmdir' '_rmdir' +'zfs' '_zfs' +'zgetattr' '_zattr' +'zgrep' '_grep' +'zip' '_zip' +'zipinfo' '_zip' +'zle' '_zle' +'zlistattr' '_zattr' +'zln' '_zmv' +'zmail' '_mail' +'zmodload' '_zmodload' +'zmv' '_zmv' +'zone' '_hosts' +'zparseopts' '_zparseopts' +'zpool' '_zfs' +'zpty' '_zpty' +'zsetattr' '_zattr' +'zsh' '_zsh' +'zsh-mime-handler' '_zsh-mime-handler' +'zsocket' '_zsocket' +'zstat' '_stat' +'zstyle' '_zstyle' +'ztodo' '_ztodo' +'zun' '_openstack' +'zxpdf' '_xpdf' +) + +_services=( +'bzcat' 'bunzip2' +'gchgrp' 'chgrp' +'gchown' 'chown' +'gnupod_addsong.pl' 'gnupod_addsong' +'gnupod_check.pl' 'gnupod_check' +'gnupod_INIT.pl' 'gnupod_INIT' +'gnupod_search.pl' 'gnupod_search' +'gpg2' 'gpg' +'gzcat' 'gunzip' +'iceweasel' 'firefox' +'lzcat' 'unxz' +'lzma' 'xz' +'Mail' 'mail' +'mailx' 'mail' +'mktunes.pl' 'mktunes' +'nail' 'mail' +'ncl' 'nc' +'nedit-nc' 'nc' +'pacman.static' 'pacman' +'pcat' 'unpack' +'-redirect-,<,bunzip2' 'bunzip2' +'-redirect-,<,bzip2' 'bzip2' +'-redirect-,>,bzip2' 'bunzip2' +'-redirect-,<,compress' 'compress' +'-redirect-,>,compress' 'uncompress' +'-redirect-,<,gunzip' 'gunzip' +'-redirect-,<,gzip' 'gzip' +'-redirect-,>,gzip' 'gunzip' +'-redirect-,<,uncompress' 'uncompress' +'-redirect-,<,unxz' 'unxz' +'-redirect-,<,xz' 'xz' +'-redirect-,>,xz' 'unxz' +'remsh' 'rsh' +'slogin' 'ssh' +'svnadmin-static' 'svnadmin' +'svnlite' 'svn' +'svnliteadmin' 'svnadmin' +'tunes2pod.pl' 'tunes2pod' +'unlzma' 'unxz' +'xelatex' 'latex' +'xetex' 'tex' +'xzcat' 'unxz' +'zf_chgrp' 'chgrp' +'zf_chown' 'chown' +) + +_patcomps=( +'*/(init|rc[0-9S]#).d/*' '_init_d' +) + +_postpatcomps=( +'_*' '_compadd' +'c++-*' '_gcc' +'g++-*' '_gcc' +'gcc-*' '_gcc' +'gem[0-9.]#' '_gem' +'lua[0-9.-]##' '_lua' +'(p[bgpn]m*|*top[bgpn]m)' '_pbm' +'php[0-9.-]' '_php' +'pip[0-9.]#' '_pip' +'pydoc[0-9.]#' '_pydoc' +'python[0-9.]#' '_python' +'qemu(|-system-*)' '_qemu' +'(ruby|[ei]rb)[0-9.]#' '_ruby' +'shasum(|5).*' '_shasum' +'(texi(2*|ndex))' '_texi' +'(tiff*|*2tiff|pal2rgb)' '_tiff' +'-value-,(ftp|http(|s))_proxy,-default-' '_urls' +'-value-,LC_*,-default-' '_locales' +'-value-,*path,-default-' '_directories' +'-value-,*PATH,-default-' '_dir_list' +'-value-,RUBY(LIB|OPT|PATH),-default-' '_ruby' +'*/X11(|R<4->)/*' '_x_arguments' +'yodl(|2*)' '_yodl' +'zf*' '_zftp' +) + +_compautos=( +'_call_program' '+X' +) + +zle -C _bash_complete-word .complete-word _bash_completions +zle -C _bash_list-choices .list-choices _bash_completions +zle -C _complete_debug .complete-word _complete_debug +zle -C _complete_help .complete-word _complete_help +zle -C _complete_tag .complete-word _complete_tag +zle -C _correct_filename .complete-word _correct_filename +zle -C _correct_word .complete-word _correct_word +zle -C _expand_alias .complete-word _expand_alias +zle -C _expand_word .complete-word _expand_word +zle -C _history-complete-newer .complete-word _history_complete_word +zle -C _history-complete-older .complete-word _history_complete_word +zle -C _list_expansions .list-choices _expand_word +zle -C _most_recent_file .complete-word _most_recent_file +zle -C _next_tags .list-choices _next_tags +zle -C _read_comp .complete-word _read_comp +bindkey '^X^R' _read_comp +bindkey '^X?' _complete_debug +bindkey '^XC' _correct_filename +bindkey '^Xa' _expand_alias +bindkey '^Xc' _correct_word +bindkey '^Xd' _list_expansions +bindkey '^Xe' _expand_word +bindkey '^Xh' _complete_help +bindkey '^Xm' _most_recent_file +bindkey '^Xn' _next_tags +bindkey '^Xt' _complete_tag +bindkey '^X~' _bash_list-choices +bindkey '^[,' _history-complete-newer +bindkey '^[/' _history-complete-older +bindkey '^[~' _bash_complete-word + +autoload -Uz _bat _busctl _cargo _chafa _curl \ + _foot _footclient _hyprctl _hyprpm _img2sixel \ + _kitty _lf _libinput _loginctl _mako \ + _makoctl _mpv _openrc _pacman _pulseaudio \ + _rc-service _rc-status _rc-update _udevadm _wl-copy \ + _wl-paste _wpctl _yay _yt-dlp _cdr \ + _all_labels _all_matches _alternative _approximate _arg_compile \ + _arguments _bash_completions _cache_invalid _call_function _combination \ + _complete _complete_debug _complete_help _complete_help_generic _complete_tag \ + _comp_locale _correct _correct_filename _correct_word _describe \ + _description _dispatch _expand _expand_alias _expand_word \ + _extensions _external_pwds _generic _guard _history \ + _history_complete_word _ignored _list _main_complete _match \ + _menu _message _most_recent_file _multi_parts _next_label \ + _next_tags _normal _nothing _numbers _oldlist \ + _pick_variant _prefix _read_comp _regex_arguments _regex_words \ + _requested _retrieve_cache _sep_parts _sequence _set_command \ + _setup _store_cache _sub_commands _tags _user_expand \ + _values _wanted _acpi _acpitool _alsa-utils \ + _analyseplugin _basenc _brctl _btrfs _capabilities \ + _chattr _chcon _choom _chrt _cpupower \ + _cryptsetup _dkms _e2label _ethtool _findmnt \ + _free _fuse_arguments _fusermount _fuse_values _gpasswd \ + _htop _iconvconfig _ionice _ipset _iptables \ + _iwconfig _kpartx _losetup _lsattr _lsblk \ + _lsns _lsusb _ltrace _mat _mat2 \ + _mdadm _mii-tool _modutils _mondo _networkmanager \ + _nsenter _opkg _perf _pidof _pmap \ + _qdbus _schedtool _selinux_contexts _selinux_roles _selinux_types \ + _selinux_users _setpriv _setsid _slabtop _ss \ + _sshfs _strace _sysstat _tload _tpb \ + _tracepath _tune2fs _uml _unshare _valgrind \ + _vserver _wakeup_capable_devices _wipefs _wpa_cli _a2ps \ + _aap _abcde _absolute_command_paths _ack _adb \ + _ansible _ant _antiword _apachectl _apm \ + _arch_archives _arch_namespace _arp _arping _asciidoctor \ + _asciinema _at _attr _augeas _avahi \ + _awk _base64 _basename _bash _baudrates \ + _baz _beep _bibtex _bind_addresses _bison \ + _bittorrent _bogofilter _bpf_filters _bpython _bzip2 \ + _bzr _cabal _cal _calendar _canonical_paths \ + _cat _ccal _cdcd _cdrdao _cdrecord \ + _chkconfig _chmod _chown _chroot _chsh \ + _cksum _clay _cmdambivalent _cmdstring _cmp \ + _column _comm _composer _compress _configure \ + _cowsay _cp _cpio _cplay _crontab \ + _cscope _csplit _cssh _ctags _ctags_tags \ + _curl _cut _cvs _darcs _date \ + _date_formats _dates _dbus _dconf _dd \ + _devtodo _df _dhclient _dict _dict_words \ + _diff _diff3 _diff_options _diffstat _dig \ + _directories _dir_list _django _dmesg _dmidecode \ + _dns_types _doas _domains _dos2unix _drill \ + _dropbox _dsh _dtruss _du _dvi \ + _ecasound _ed _elfdump _elinks _email_addresses \ + _enscript _entr _env _espeak _etags \ + _fakeroot _feh _fetchmail _ffmpeg _figlet \ + _file_modes _files _file_systems _find _find_net_interfaces \ + _finger _flac _flex _fmt _fold \ + _fortune _fsh _fuser _gcc _gcore \ + _gdb _gem _genisoimage _getconf _getent \ + _getfacl _getmail _getopt _ghostscript _git \ + _global _global_tags _gnu_generic _gnupod _gnutls \ + _go _gpg _gphoto2 _gprof _gradle \ + _graphicsmagick _grep _groff _groups _growisofs \ + _gsettings _guilt _gzip _have_glob_qual _head \ + _hexdump _host _hostname _hosts _iconv \ + _id _ifconfig _iftop _imagemagick _initctl \ + _init_d _install _iostat _ip _ipsec \ + _irssi _ispell _java _java_class _joe \ + _join _jq _killall _knock _kvno \ + _last _ldconfig _ldd _ld_debug _less \ + _lha _libvirt _links _list_files _lldb \ + _ln _loadkeys _locale _localedef _locales \ + _locate _logger _look _lp _ls \ + _lsof _lua _luarocks _lynx _lz4 \ + _lzop _mail _mailboxes _make _man \ + _md5sum _mencal _mh _mime_types _mkdir \ + _mkfifo _mknod _mktemp _module _monotone \ + _moosic _mosh _mount _mpc _mt \ + _mtools _mtr _mutt _mv _my_accounts \ + _myrepos _mysqldiff _mysql_utils _ncftp _netcat \ + _net_interfaces _netstat _newsgroups _nginx _ngrep \ + _nice _nkf _nl _nm _nmap \ + _npm _nslookup _numfmt _objdump _object_files \ + _od _openstack _opustools _other_accounts _pack \ + _pandoc _paste _patch _patchutils _path_commands \ + _path_files _pax _pbm _pdf _perforce \ + _perl _perl_basepods _perldoc _perl_modules _pgids \ + _pgrep _php _picocom _pids _pine \ + _ping _pip _pkgadd _pkg-config _pkginfo \ + _pkg_instance _pkgrm _pon _ports _postfix \ + _postgresql _postscript _pr _printenv _printers \ + _process_names _prove _ps _pspdf _psutils \ + _ptx _pump _pv _pwgen _pydoc \ + _python _python_modules _qemu _quilt _rake \ + _ranlib _rar _rclone _rcs _readelf \ + _readlink _remote_files _renice _ri _rlogin \ + _rm _rmdir _route _rrdtool _rsync \ + _rubber _ruby _runit _samba _sccs \ + _scons _screen _script _seafile _sed \ + _seq _service _services _setfacl _sh \ + _shasum _showmount _shred _shuf _shutdown \ + _signals _sisu _slrn _smartmontools _socket \ + _sort _spamassassin _split _sqlite _sqsh \ + _ssh _ssh_hosts _stat _stdbuf _stgit \ + _stow _strings _strip _stty _su \ + _subversion _sudo _surfraw _swaks _swanctl \ + _swift _sys_calls _sysctl _tac _tail \ + _tar _tar_archive _tardy _tcpdump _tcptraceroute \ + _tee _telnet _terminals _tex _texi \ + _texinfo _tidy _tiff _tilde_files _timeout \ + _time_zone _tin _tla _tmux _todo.sh \ + _toilet _top _topgit _totd _touch \ + _tput _tr _transmission _tree _truncate \ + _truss _tty _ttys _twidge _twisted \ + _umountable _unace _uname _unexpand _uniq \ + _unison _units _uptime _urls _user_admin \ + _user_at_host _users _users_on _vi _vim \ + _visudo _vmstat _vorbis _vpnc _w \ + _w3m _watch _wc _webbrowser _wget \ + _whereis _who _whois _wiggle _xargs \ + _xmlsoft _xmlstarlet _xmms2 _xxd _xz \ + _yafc _yodl _yp _zcat _zdump \ + _zfs _zfs_dataset _zfs_pool _zip _zsh \ + _acroread _code _dcop _eog _evince \ + _geany _gnome-gv _gqview _gv _kdeconnect \ + _kfmclient _matlab _mozilla _mplayer _mupdf \ + _nautilus _nedit _netscape _okular _pdftk \ + _qiv _rdesktop _setxkbmap _sublimetext _urxvt \ + _vnc _x_arguments _xauth _xautolock _x_borderwidth \ + _xclip _x_color _x_colormapid _x_cursor _x_display \ + _xdvi _x_extension _xfig _x_font _xft_fonts \ + _x_geometry _xinput _x_keysym _xloadimage _x_locale \ + _x_modifier _xmodmap _x_name _xournal _xpdf \ + _xrandr _x_resource _xscreensaver _x_selection_timeout _xset \ + _xt_arguments _xterm _x_title _xt_session_id _x_utils \ + _xv _x_visual _x_window _xwit _zeal \ + _add-zle-hook-widget _add-zsh-hook _alias _aliases __arguments \ + _arrays _assign _autocd _bindkey _brace_parameter \ + _builtin _cd _command _command_names _compadd \ + _compdef _completers _condition _default _delimiters \ + _directory_stack _dirs _disable _dynamic_directory_name _echotc \ + _echoti _emulate _enable _equal _exec \ + _fc _file_descriptors _first _functions _globflags \ + _globqual_delims _globquals _hash _history_modifiers _in_vared \ + _jobs _jobs_bg _jobs_builtin _jobs_fg _kill \ + _limit _limits _math _math_params _mere \ + _module_math_func _options _options_set _options_unset _parameter \ + _parameters _precommand _print _prompt _ps1234 \ + _read _redirect _run-help _sched _set \ + _setopt _source _strftime _subscript _suffix_alias_files \ + _tcpsys _tilde _trap _ttyctl _typeset \ + _ulimit _unhash _user_math_func _value _vared \ + _vars _vcs_info _vcs_info_hooks _wait _which \ + _widgets _zargs _zattr _zcalc _zcalc_line \ + _zcompile _zed _zftp _zle _zmodload \ + _zmv _zparseopts _zpty _zsh-mime-handler _zsocket \ + _zstyle _ztodo +autoload -Uz +X _call_program + +typeset -gUa _comp_assocs +_comp_assocs=( '' ) diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 6bb4380..94813e6 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -1,6 +1,45 @@ # Enable colors and change prompt: + autoload -U colors && colors # Load colors PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " setopt autocd # Automatically cd into typed directory. stty stop undef # Disable ctrl-s to freeze terminal. setopt interactive_comments + +HISTSIZE=10000000 +SAVEHIST=10000000 +HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history" +setopt append_history +setopt inc_append_history +setopt share_history +setopt hist_ignore_dups +setopt hist_ignore_all_dups +setopt hist_expire_dups_first +setopt hist_find_no_dups +setopt hist_save_no_dups +setopt hist_reduce_blanks +setopt hist_verify + +autoload -U compinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. + +source "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" + +lfcd () { + tmp="$(mktemp -uq)" + trap 'rm -f $tmp >/dev/null 2>&1 && trap - HUP INT QUIT TERM PWR EXIT' HUP INT QUIT TERM PWR EXIT + lf -last-dir-path="$tmp" "$@" + if [ -f "$tmp" ]; then + dir="$(cat "$tmp")" + [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" + fi +} +bindkey -s '^o' '^ulfcd\n' + +export GPG_TTY=$(tty) + +# Load syntax highlighting; should be last. +source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null diff --git a/.local/bin/statusbar/sb-clock b/.local/bin/statusbar/sb-clock new file mode 100755 index 0000000..bdf3590 --- /dev/null +++ b/.local/bin/statusbar/sb-clock @@ -0,0 +1,21 @@ +#!/bin/sh + +clock=$(date '+%I') + +case "$clock" in + "00") icon="🕛" ;; + "01") icon="🕐" ;; + "02") icon="🕑" ;; + "03") icon="🕒" ;; + "04") icon="🕓" ;; + "05") icon="🕔" ;; + "06") icon="🕕" ;; + "07") icon="🕖" ;; + "08") icon="🕗" ;; + "09") icon="🕘" ;; + "10") icon="🕙" ;; + "11") icon="🕚" ;; + "12") icon="🕛" ;; +esac + +date "+%b %d (%a) $icon %H:%M" diff --git a/.local/bin/statusbar/sb-doppler b/.local/bin/statusbar/sb-doppler new file mode 100755 index 0000000..4567e30 --- /dev/null +++ b/.local/bin/statusbar/sb-doppler @@ -0,0 +1,19 @@ +#!/bin/sh + +showdoppler() { + hyprctl dispatch exec "[float; size 800 800;]" 'curl -s https://meteoinfo.ru/hmc-output/rmap/phenomena.gif | imv - -H 1200 -W 1200' +} + +sendnotif() { + notify-send "🌦️ Doppler RADAR" "Left click for full forecast." +} +if [ ! -n "$1" ]; then + echo 🌅 +else + if [ "$1" -eq 1 ]; then + showdoppler + elif [ "$1" -eq 3 ]; then + sendnotif + fi +fi + diff --git a/.local/bin/statusbar/sb-forecast b/.local/bin/statusbar/sb-forecast new file mode 100755 index 0000000..42442cf --- /dev/null +++ b/.local/bin/statusbar/sb-forecast @@ -0,0 +1,52 @@ +#!/bin/sh + +# Displays today's precipication chance (☔), and daily low (🥶) and high (🌞). +# Usually intended for the statusbar. +LOCATION="Moscow" +url="${WTTRURL:-wttr.in}" +weatherreport="${XDG_CACHE_HOME:-$HOME/.cache}/weatherreport" + +# Get a weather report from 'wttr.in' and save it locally. +getforecast() { timeout --signal=1 2s curl -sf "$url/$LOCATION" > "$weatherreport" || exit 1; } + +getprecipchance() { + echo "$weatherdata" | sed '16q;d' | # Extract line 16 from file + grep -wo "[0-9]*%" | # Find a sequence of digits followed by '%' + sort -rn | # Sort in descending order + head -1q # Extract first line +} + +getdailyhighlow() { + echo "$weatherdata" | sed '13q;d' | # Extract line 13 from file + grep -o "m\\([-+]\\)*[0-9]\\+" | # Find temperatures in the format "m<signed number>" + sed 's/[+m]//g' | # Remove '+' and 'm' + sort -g | # Sort in ascending order + sed -e 1b -e '$!d' # Extract the first and last lines +} + +readfile() { weatherdata="$(cat "$weatherreport")" ;} + +showweather() { + readfile + printf "☔%s 🥶%s° 🌞%s°\n" "$(getprecipchance)" $(getdailyhighlow) +} + +openterm() { + hyprctl dispatch exec "[float; size 1800 1300;]" 'kitty -e sh -c "curl wttr.in; read _"' +} + +sendnotif() { + notify-send "🌈 Weather module" "Left click for full forecast." +} + +if [ ! -n "$1" ]; then + getforecast + showweather +else + if [ "$1" -eq 1 ]; then + openterm + elif [ "$1" -eq 3 ]; then + sendnotif + fi +fi + diff --git a/.local/bin/statusbar/sb-internet b/.local/bin/statusbar/sb-internet new file mode 100755 index 0000000..0cbf877 --- /dev/null +++ b/.local/bin/statusbar/sb-internet @@ -0,0 +1,27 @@ +#!/bin/sh + +# Show wifi 📶 and percent strength or 📡 if none. +# Show 🌐 if connected to ethernet or ❎ if none. +# Show 🔒 if a vpn connection is active + +printconnection() { + [ "$(cat /sys/class/net/eth0/operstate 2>/dev/null)" = 'up' ] && ethericon="🌐" || ethericon="❎" + [ -n "$(cat /sys/class/net/wg0/operstate 2>/dev/null)" ] && tunicon=" 🔒" + printf "%s%s%s\n" "$wifiicon" "$ethericon" "$tunicon" +} + +if [ ! -n "$1" ]; then + printconnection +else + if [ "$1" -eq 1 ]; then + if [ ! -n "$(cat /sys/class/net/wg0/operstate 2>/dev/null)" ];then + doas wg-quick up wg0 + notify-send "🔒 Internet module" "Connected to VPN" + else + doas wg-quick down wg0 + notify-send "🔒 Internet module" "Disconnected from VPN" + fi + elif [ "$1" -eq 3 ]; then + notify-send "🌐 Internet module" "\- Click to connect to vpn" + fi +fi diff --git a/.local/bin/statusbar/sb-memory b/.local/bin/statusbar/sb-memory new file mode 100755 index 0000000..cf661a6 --- /dev/null +++ b/.local/bin/statusbar/sb-memory @@ -0,0 +1,15 @@ +#!/bin/sh + +if [ ! -n "$1" ]; then + free --mebi | sed -n '2{p;q}' | awk '{printf ("🧠%2.2fGiB/%2.2fGiB\n", ( $3 / 1024), ($2 / 1024))}' +else + if [ "$1" -eq 1 ]; then + notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" + elif [ "$1" -eq 2 ]; then + hyprctl dispatch exec "[float; size 1800 1300;]" 'kitty -e sh -c "btop"' + elif [ "$1" -eq 3 ]; then + notify-send "🧠 Memory module" "\- Shows Memory Used/Total." + fi +fi + + diff --git a/.local/bin/statusbar/sb-microphone b/.local/bin/statusbar/sb-microphone new file mode 100755 index 0000000..e07e0de --- /dev/null +++ b/.local/bin/statusbar/sb-microphone @@ -0,0 +1,24 @@ +#!/bin/sh + +mic="$(wpctl get-volume @DEFAULT_SOURCE@)" + +# If muted, print 🔇 and exit. +[ "$mic" != "${mic%\[MUTED\]}" ] && echo && exit + +mic="${mic#Volume: }" + +split() { + # For ommiting the . without calling and external program. + IFS=$2 + set -- $1 + printf '%s' "$@" +} + +mic="$(printf "%.0f" "$(split "$mic" ".")")" + +case 1 in + $((mic >= 1)) ) icon="🎙️" ;; + * ) echo && exit ;; +esac + +echo "$icon $mic%" diff --git a/.local/bin/statusbar/sb-nettraf b/.local/bin/statusbar/sb-nettraf new file mode 100755 index 0000000..88df9bd --- /dev/null +++ b/.local/bin/statusbar/sb-nettraf @@ -0,0 +1,22 @@ +#!/bin/sh + +# Module showing network traffic. Shows how much data has been received (RX) or +# transmitted (TX) since the previous time this script ran. So if run every +# second, gives network traffic per second. + +update() { + sum=0 + for arg; do + read -r i < "$arg" + sum=$(( sum + i )) + done + cache=/tmp/${1##*/} + [ -f "$cache" ] && read -r old < "$cache" || old=0 + printf %d\\n "$sum" > "$cache" + printf %d\\n $(( sum - old )) +} + +rx=$(update /sys/class/net/[ew]*/statistics/rx_bytes) +tx=$(update /sys/class/net/[ew]*/statistics/tx_bytes) + +printf "🔻%4sB 🔺%4sB\\n" $(numfmt --to=iec $rx $tx) diff --git a/.local/bin/statusbar/sb-volume b/.local/bin/statusbar/sb-volume new file mode 100755 index 0000000..e3501d1 --- /dev/null +++ b/.local/bin/statusbar/sb-volume @@ -0,0 +1,26 @@ +#!/bin/sh + +vol="$(wpctl get-volume @DEFAULT_SINK@)" + +# If muted, print 🔇 and exit. +[ "$vol" != "${vol%\[MUTED\]}" ] && echo 🔇 && exit + +vol="${vol#Volume: }" + +split() { + # For ommiting the . without calling and external program. + IFS=$2 + set -- $1 + printf '%s' "$@" +} + +vol="$(printf "%.0f" "$(split "$vol" ".")")" + +case 1 in + $((vol >= 70)) ) icon="🔊" ;; + $((vol >= 30)) ) icon="🔉" ;; + $((vol >= 1)) ) icon="🔈" ;; + * ) echo 🔇 && exit ;; +esac + +echo "$icon $vol%" diff --git a/dependencies.txt b/dependencies.txt index 8e9d738..68a891a 100644 --- a/dependencies.txt +++ b/dependencies.txt @@ -1,35 +1,31 @@ -#hyprland +# Hyprland deps hyprland xdg-desktop-portal-hyprland hyprpaper -hyprlock -hypridle -#sound +# sound pipewire pipewire-pulse pipewire-alsa wireplumber -#fonts +# fonts libertinus-font noto-fonts noto-fonts-emoji fontconfig -#apps +# apps +kitty firefox wl-clipboard -wofi -foot -waybar neovim grim slurp zsh +zsh-autosuggestions mpv yt-dlp -fastfetch mako unzip imv @@ -40,3 +36,8 @@ mediainfo bat chafa +# utilities +gnupg +openssh-openrc +fakeroot +btop @@ -14,13 +14,11 @@ pacman -S $DEPLIST --noconfirm usermod -aG seat,input,audio,video $PERMUSER doas -u $PERMUSER cp -r $WORKDIRECTORY/.config /home/$PERMUSER +doas -u $PERMUSER cp -r $WORKDIRECTORY/.local /home/$PERMUSER doas -u $PERMUSER cp -a $WORKDIRECTORY/.zprofile /home/$PERMUSER -doas -u $PERMUSER touch /home/$PERMUSER/.config/mpd/mpd.db -doas -u $PERMUSER touch /home/$PERMUSER/.config/mpd/mpd.log -doas -u $PERMUSER touch /home/$PERMUSER/.config/mpd/mpd.pid -doas -u $PERMUSER touch /home/$PERMUSER/.config/mpd/mpdstate doas -u $PERMUSER mkdir -p /home/$PERMUSER/.cache/lf +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.cache/zsh doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/themes doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/icons doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/papes @@ -37,6 +35,32 @@ doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.wm.preferences but #doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface font-name "Libertinus Serif 12" cd $WORKDIRECTORY +doas -u $PERMUSER git clone https://github.com/zdharma-continuum/fast-syntax-highlighting +mkdir -p /usr/share/zsh/plugins +cp -rf fast-syntax-highlighting /usr/share/zsh/plugins cd .. -rm -rf hyprdots +rm -rf hyprdots + +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.ssh +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.gnupg +doas -u $PERMUSER touch /home/$PERMUSER/.ssh/config +doas -u $PERMUSER touch /home/$PERMUSER/.gnupg/gpg-agent.conf +echo 'Match host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"' > /home/$PERMUSER/.ssh/config +echo 'enable-ssh-support' > /home/$PERMUSER/.gnupg/gpg-agent.conf +rc-update add sshd default +rc-service sshd start + +chsh -s /bin/zsh $PERMUSER + +mkdir -p /root/.config/nvim +cat <<EOL >> /root/.config/nvim/init.vim +set title +set clipboard+=unnamedplus +set relativenumber +colorscheme vim +EOL + +sed -i -e "/^#"Color"/s/^#//" /etc/pacman.conf +sed -i -e '/Color/a\ILoveCandy' /etc/pacman.conf + echo "Your linux is riced!" |