From bee642d0e484fccc2e309d409e0e09e87c1533e4 Mon Sep 17 00:00:00 2001 From: Lord_Devi Date: Tue, 9 Jul 2024 01:43:52 -0400 Subject: [PATCH] Added init scripts for shells. --- .config/bash/bashrc | 58 + .config/bash/env.bash | 45 + .config/bash/interactive.bash | 58 + .config/bash/login.bash | 27 + .config/bash/logout.bash | 35 + .config/bash/profile.bash | 53 + .config/bash/prompt.bash | 35 + .config/fish/conf.d/custom-fzf.fish | 180 ++ .config/fish/conf.d/load-posix-profiles.fish | 64 + .config/fish/config.fish | 33 + .config/fish/functions-old/blkpng2jpg.fish | 9 + .config/fish/functions-old/catp.fish | 12 + .config/fish/functions-old/fixperms.fish | 11 + .config/fish/functions-old/getdate.fish | 7 + .config/fish/functions-old/gsu.fish | 35 + .config/fish/functions-old/ls.fish | 25 + .config/fish/functions-old/rands.fish | 8 + .config/fish/functions-old/yt-dl.fish | 26 + .config/fish/functions/rands.fish | 8 + .config/fish/interactive.fish | 146 ++ .config/fish/login.fish | 40 + .config/fish/logout.fish | 27 + .config/fish/prompt.fish | 27 + .config/git/config | 43 + .config/git/ignore | 69 + .config/posix-common/LS_COLORS | 1 + .../posix-common/aliases.d/common_aliases.sh | 72 + .../posix-common/aliases.d/less-and-bat.sh | 61 + .config/posix-common/aliases.d/ls-and-lsd.sh | 47 + .config/posix-common/aliases.d/net-aliases.sh | 24 + .../posix-common/aliases.d/sudo-related.sh | 28 + .config/posix-common/aliases.d/xdg-related.sh | 29 + .config/posix-common/env.d/common_envs.sh | 128 + .config/posix-common/env.sh | 49 + .config/posix-common/env_functions.sh | 62 + .config/posix-common/env_local.sh | 89 + .config/posix-common/fastfetch-logo.jpg | Bin 0 -> 79281 bytes .config/posix-common/functions.d/bookmarks.sh | 23 + .../functions.d/common_functions.sh | 53 + .config/posix-common/interactive.sh | 78 + .config/posix-common/login.sh | 36 + .config/posix-common/logout.sh | 17 + .config/posix-common/lscolors.sh | 2 + .config/posix-common/profile.sh | 31 + .config/readline/inputrc | 19 + .config/sh/env.sh | 22 + .config/sh/interactive.sh | 65 + .config/sh/login.sh | 19 + .config/sh/prompt.sh | 28 + .config/zsh/.zcompcache/RPMs | 4 + .config/zsh/.zcompcache/SYS_ALL_UNITS--system | 4 + .config/zsh/.zcompcache/SYS_ALL_UNITS--user | 4 + .../.zcompcache/SYS_REALLY_ALL_UNITS--system | 4 + .../.zcompcache/SYS_REALLY_ALL_UNITS--user | 4 + .config/zsh/.zcompcache/VAGRANT_VMS | 4 + .config/zsh/.zcompcache/dnf-groups | 4 + .config/zsh/.zcompdump | 2158 +++++++++++++++++ .config/zsh/.zlogout | 28 + .config/zsh/.zshenv | 65 + .config/zsh/.zshrc | 242 ++ .config/zsh/conf.d/zoxide.zsh | 129 + .config/zsh/env.zsh | 1 + .config/zsh/interactive.zsh | 1 + .config/zsh/logout.zsh | 1 + .config/zsh/prompt.zsh | 1744 +++++++++++++ .config/zsh/prompt.zsh.old | 48 + 66 files changed, 6509 insertions(+) create mode 100644 .config/bash/bashrc create mode 100644 .config/bash/env.bash create mode 100644 .config/bash/interactive.bash create mode 100644 .config/bash/login.bash create mode 100644 .config/bash/logout.bash create mode 100644 .config/bash/profile.bash create mode 100644 .config/bash/prompt.bash create mode 100644 .config/fish/conf.d/custom-fzf.fish create mode 100644 .config/fish/conf.d/load-posix-profiles.fish create mode 100644 .config/fish/config.fish create mode 100644 .config/fish/functions-old/blkpng2jpg.fish create mode 100644 .config/fish/functions-old/catp.fish create mode 100644 .config/fish/functions-old/fixperms.fish create mode 100644 .config/fish/functions-old/getdate.fish create mode 100644 .config/fish/functions-old/gsu.fish create mode 100644 .config/fish/functions-old/ls.fish create mode 100644 .config/fish/functions-old/rands.fish create mode 100644 .config/fish/functions-old/yt-dl.fish create mode 100644 .config/fish/functions/rands.fish create mode 100644 .config/fish/interactive.fish create mode 100644 .config/fish/login.fish create mode 100644 .config/fish/logout.fish create mode 100644 .config/fish/prompt.fish create mode 100644 .config/git/config create mode 100644 .config/git/ignore create mode 120000 .config/posix-common/LS_COLORS create mode 100644 .config/posix-common/aliases.d/common_aliases.sh create mode 100644 .config/posix-common/aliases.d/less-and-bat.sh create mode 100644 .config/posix-common/aliases.d/ls-and-lsd.sh create mode 100644 .config/posix-common/aliases.d/net-aliases.sh create mode 100644 .config/posix-common/aliases.d/sudo-related.sh create mode 100644 .config/posix-common/aliases.d/xdg-related.sh create mode 100644 .config/posix-common/env.d/common_envs.sh create mode 100644 .config/posix-common/env.sh create mode 100644 .config/posix-common/env_functions.sh create mode 100644 .config/posix-common/env_local.sh create mode 100644 .config/posix-common/fastfetch-logo.jpg create mode 100644 .config/posix-common/functions.d/bookmarks.sh create mode 100644 .config/posix-common/functions.d/common_functions.sh create mode 100644 .config/posix-common/interactive.sh create mode 100644 .config/posix-common/login.sh create mode 100644 .config/posix-common/logout.sh create mode 100755 .config/posix-common/lscolors.sh create mode 100644 .config/posix-common/profile.sh create mode 100644 .config/readline/inputrc create mode 100644 .config/sh/env.sh create mode 100644 .config/sh/interactive.sh create mode 100644 .config/sh/login.sh create mode 100644 .config/sh/prompt.sh create mode 100644 .config/zsh/.zcompcache/RPMs create mode 100644 .config/zsh/.zcompcache/SYS_ALL_UNITS--system create mode 100644 .config/zsh/.zcompcache/SYS_ALL_UNITS--user create mode 100644 .config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--system create mode 100644 .config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--user create mode 100644 .config/zsh/.zcompcache/VAGRANT_VMS create mode 100644 .config/zsh/.zcompcache/dnf-groups create mode 100644 .config/zsh/.zcompdump create mode 100644 .config/zsh/.zlogout create mode 100644 .config/zsh/.zshenv create mode 100644 .config/zsh/.zshrc create mode 100644 .config/zsh/conf.d/zoxide.zsh create mode 120000 .config/zsh/env.zsh create mode 120000 .config/zsh/interactive.zsh create mode 120000 .config/zsh/logout.zsh create mode 100644 .config/zsh/prompt.zsh create mode 100644 .config/zsh/prompt.zsh.old diff --git a/.config/bash/bashrc b/.config/bash/bashrc new file mode 100644 index 0000000..68a8ec8 --- /dev/null +++ b/.config/bash/bashrc @@ -0,0 +1,58 @@ +# ~/.config/bash/bashrc +LOCATION=".config/bash/bashrc" + +# This file gets run in two cases: +# 1. non-login interactive shell +# 2. remote shell (over ssh or similar) +# +# #2 happens when you run "ssh user@host bash" explicitly. +# In this case, /etc/bash.bashrc has not been previous executed (unlike #1). +# +# Sauce: +# - https://blog.flowblok.id.au/2013-02/shell-startup-scripts.html +# - https://heptapod.host/flowblok/shell-startup/-/blob/branch/default/.bashrc + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION" +# }}} === Script Debug Settings === + +# {{{ === Sourcing env.bash === +_mordu "Sourcing Env Vars from ~/.config/bash/env.bash." +source "$HOME"/.config/bash/env.bash +LOCATION=".config/bash/bashrc" +_mordu "Finished sourcing Env Vars from ~/.config/bash/env.bash." +# }}} === Sourcing env.bash === + +# {{{ === Interactive Shell Sanity Check === +# If not running interactively, don't do anything +[[ $- != *i* ]] && return +# }}} === Interactive Shell Sanity Check === + +# {{{ === Source System Wide bashrc === +_mordu "Sourcing /etc/bashrc." +if [ -f /etc/bashrc ]; then + source /etc/bashrc +fi +_mordu "Finished sourcing /etc/bashrc." +# }}} === Source System Wide bashrc === + +# {{{ === Source interactive.bash === +_mordu "Sourcing Interactive Shell settings from ~/.config/bash/interactive.bash." +source "$HOME"/.config/bash/interactive.bash +LOCATION=".config/bash/bashrc" +_mordu "Finished sourcing Interactive Shell settings from ~/.config/bash/interactive.bash." +# }}} === Source interactive.bash === + +_mordu "Finished processing $LOCATION." diff --git a/.config/bash/env.bash b/.config/bash/env.bash new file mode 100644 index 0000000..a087006 --- /dev/null +++ b/.config/bash/env.bash @@ -0,0 +1,45 @@ +# ~/.config/bash/env.bash +LOCATION="bash/env.bash" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Sanity Proof Interactive Env with BASH_ENV === +# We need to set BASH_ENV, for *non-interactive* shells. +# (unlike $ENV, which is for interactive shells) +_mordu "Setting BASH_ENV to pass Env Vars to non-interactive shells we might start." +export BASH_ENV=~/.config/bash/env.bash +# }}} === Sanity Proof Interactive Env with BASH_ENV === + +# {{{ === Configure HISTFILE Home === +_mordu "Configuring HISTFILE Home." +if [ ! -d "$HOME"/.local/share/bash/ ] ; then + _mordu "Could not fine ~/.local/share/bash/. Creating." + mkdir -p "$HOME"/.local/share/bash +fi + +HISTFILE="$HOME"/.local/share/bash/${HOST//\./_}_bash_history +export HISTFILE +# }}} === Configure HISTFILE Home === + +# {{{ === Source Posix-Common Env Vars === +_mordu "Sourcing Env Vars from ~/.config/posix-common/env.sh." +source "$HOME"/.config/posix-common/env.sh +LOCATION="bash/env.bash" +_mordu "Finished sourcing Env Vars from ~/.config/posix-common/env.sh." +# }}} === Source Posix-Common Env Vars === + +_mordu "Finished processing $LOCATION." diff --git a/.config/bash/interactive.bash b/.config/bash/interactive.bash new file mode 100644 index 0000000..1092013 --- /dev/null +++ b/.config/bash/interactive.bash @@ -0,0 +1,58 @@ +# ~/.config/bash/interactive.bash +LOCATION="bash/interactive.bash" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common Interactive Shell Settings === +_mordu "Sourcing Interactive Shell settings from ~/.config/posix-common/interactive.sh." +source "$HOME"/.config/posix-common/interactive.sh +LOCATION="bash/interactive.bash" +_mordu "Finished sourcing Interactive Shell settings from ~/.config/posix-common/interactive.sh." +# }}} === Source Posix Common Interactive Shell Settings === + +# {{{ === Load Bash Completion Framework === +# Right now this is just grabbed from FreeBSD init scripts. It +# likely needs extending to work elsewhere. + +if [ -f /usr/local/share/bash-completion/bash_completion.sh ] ; then + _mordu "Bash completion found at /usr/local/share/bash-completion.sh. Loading." + source /usr/local/share/bash-completion/bash_completion.sh +elif [ -f /usr/share/bash-completion/bash_completion ] ; then + _mordu "Bash completion found at /usr/share/bash-completion/bash_completion. Loading." + source /usr/share/bash-completion/bash_completion +fi + +# }}} === Load Bash Completion Framework === + +# {{{ === Source prompt.bash === +_mordu "Sourcing bash prompt from ~/.config/bash/prompt.bash." +source "$HOME"/.config/bash/prompt.bash +LOCATION="bash/interactive.bash" +_mordu "Finished sourcing bash prompt from ~/.config/bash/prompt.bash." +# }}} === Source prompt.bash === + +# {{{ === FZF Completions === TODO: FIX +#_mordu "Enabling FZF Completions." +#if [ -d /usr/share/fzf ] ; then +# for fzfrc in /usr/share/fzf/*.bash ; do +# _mordu "Sourcing $fzfrc." +# source $fzfrc +# done +#fi +# }}} === FZF Completions === + +_mordu "Finished processing $LOCATION." diff --git a/.config/bash/login.bash b/.config/bash/login.bash new file mode 100644 index 0000000..64373ed --- /dev/null +++ b/.config/bash/login.bash @@ -0,0 +1,27 @@ +# ~/.config/bash/login.bash +LOCATION="bash/login.bash" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common login.sh === +_mordu "Sourcing Login Shell settings from ~/.config/posix-common/login.sh." +source "$HOME"/.config/posix-common/login.sh +LOCATION="bash/login.bash" +_mordu "Finished sourcing Login Shell settings from ~/.config/posix-common/login.sh." +# }}} === Source Posix Common login.sh === + +_mordu "Finished processing $LOCATION." diff --git a/.config/bash/logout.bash b/.config/bash/logout.bash new file mode 100644 index 0000000..4e67dad --- /dev/null +++ b/.config/bash/logout.bash @@ -0,0 +1,35 @@ +# ~/.config/bash/logout.bash +LOCATION="bash/logout.bash" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common logout.sh === +_mordu "Performing logout actions from ~/.config/posix-common/logout.sh." +source "$HOME"/.config/posix-common/logout.sh +LOCATION="bash/logout.bash" +_mordu "Finished sourcing ~/.config/posix-common/logout.sh." +# }}} === Source Posix Common logout.sh === + +# {{{ === Garbage Collection === +# Remove any stale .bash_history files still sitting around the homedir. +if [ -f "$HOME"/.bash_history ] ; then + _mordu "Found a stale ~/.bash_history file that shouldn't be there. Deleting it." + rm "$HOME"/.bash_history +fi +# }}} === Garbage Collection === + +_mordu "Finished processing $LOCATION." diff --git a/.config/bash/profile.bash b/.config/bash/profile.bash new file mode 100644 index 0000000..56529ba --- /dev/null +++ b/.config/bash/profile.bash @@ -0,0 +1,53 @@ +# ~/.config/bash/profile.bash +LOCATION="bash/profile.bash" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source env.bash === +# 1. Ensure ~/.config/bash/env.bash gets run first +_mordu "Sourcing Env Vars from ~/.config/bash/env.bash." +source "$HOME"/.config/bash/env.bash +LOCATION="bash/profile.bash" +_mordu "Finished sourcing Env Vars from ~/.config/bash/env.bash." +# }}} === Source env.bash === + +# {{{ === Sanity Proof BASH_ENV. === +# 2. Prevent BASH_ENV from being sourced later, since we need to use $BASH_ENV +# for non-login non-interactive shells. We don't export it, as we may have a +# non-login non-interactive shell as a child. +_mordu "Sanity proofing BASH_ENV by setting it to nothing." +BASH_ENV= +# }}} === Sanity Proof BASH_ENV. === + +# {{{ === Source login.bash === +_mordu "Sourcing Login Shell settings from ~/.config/bash/login.bash." +source "$HOME"/.config/bash/login.bash +LOCATION="bash/profile.bash" +_mordu "Finished sourcing Login Shell settings from ~/.config/bash/login.bash." +# }}} === Source login.bash === + +# {{{ === Source interactive.bash === +# 4. Run ~/.config/etc/bash/interactive.bash if this is an interactive shell. +if [ "$PS1" ]; then + _mordu "Sourcing Interactive Shell settings from ~/.config/bash/interactive.bash." + source "$HOME"/.config/bash/interactive.bash + LOCATION="bash/profile.bash" + _mordu "Finished sourcing Interactive Shell settings from ~/.config/bash/interactive.bash." +fi +# }}} === Source interactive.bash === + +_mordu "Finished processing $LOCATION." diff --git a/.config/bash/prompt.bash b/.config/bash/prompt.bash new file mode 100644 index 0000000..faf5f2e --- /dev/null +++ b/.config/bash/prompt.bash @@ -0,0 +1,35 @@ +# ~/.config/bash/prompt.bash +LOCATION="bash/prompt.bash" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Configure Starship (with fallback) === +# Check if starship prompt is available and use it if it is. +if command -v starship >/dev/null ; then + _mordu "Starship found. Setting as shell prompt." + eval "$(starship init bash)" +else + _mordu "Starship not found. Falling back to plain prompt." + # Basic plain prompt. + HOST=$(uname -n) + export HOST + PS1='[$USER@$HOST:$PWD]\n(bash) $ ' + export PS1 +fi +# }}} === Configure Starship (with fallback) === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/conf.d/custom-fzf.fish b/.config/fish/conf.d/custom-fzf.fish new file mode 100644 index 0000000..9682247 --- /dev/null +++ b/.config/fish/conf.d/custom-fzf.fish @@ -0,0 +1,180 @@ +#~/.config/fish/conf.d/custom-fzf.fish +set LOCATION "fish/conf.d/custom-fzf.fish" + +# {{{ === Script Debug Settings === +# set -l DEBUG y # Comment this out to disable DEBUGing. +function _mordu + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nl + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Function: fzf-cd-widget "Change directory" === +# Set up the default, mnemonic key bindings unless the user has chosen to customize them +# function fzf-cd-widget -d "Change directory" +# set -l commandline (__fzf_parse_commandline) +# set -l dir $commandline[1] +# set -l fzf_query $commandline[2] +# set -l prefix $commandline[3] + +# test -n "$FZF_ALT_C_COMMAND"; or set -l FZF_ALT_C_COMMAND " +# command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \ +# -o -type d -print 2> /dev/null | sed 's@^\./@@'" +# test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% +# begin +# set -lx FZF_DEFAULT_OPTS "--height $FZF_TMUX_HEIGHT --reverse --bind=ctrl-z:ignore $FZF_DEFAULT_OPTS $FZF_ALT_C_OPTS" +# eval "$FZF_ALT_C_COMMAND | "(__fzfcmd)' +m --query "'$fzf_query'"' | read -l result + +# if [ -n "$result" ] +# cd $result + +# # Remove last token from commandline. +# commandline -t "" +# commandline -it -- $prefix +# end +# end + +# commandline -f repaint +# end +# }}} === Function: fzf-cd-widget "Change directory" === + +# {{{ === Function: fzf "Main fzf function. User fzf-tmux if in Tmux." === +# Check if fzf is being ran inside of TMUX or not. +# function fzf --wraps=fzf --description="Use fzf-tmux if in tmux session" +# if set --query TMUX +# fzf-tmux $argv +# else +# command fzf $argv +# end +# }}} === Function: fzf "Main fzf function. User fzf-tmux if in Tmux." === + +# {{{ === Function: __fzfcmd "Fzf Tmux Test." === +function __fzfcmd + test -n "$FZF_TMUX"; or set FZF_TMUX 0 + test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40% + if [ -n "$FZF_TMUX_OPTS" ] + echo "fzf-tmux $FZF_TMUX_OPTS -- " + else if [ $FZF_TMUX -eq 1 ] + echo "fzf-tmux -d$FZF_TMUX_HEIGHT -- " + else + echo "fzf" + end +end +# }}} === Function: __fzfcmd "Fzf Tmux Test." === + +# {{{ === Function: __fzf_parse_commandline === +function __fzf_parse_commandline -d 'Parse the current command line token and return split of existing filepath, fzf query, and optional -option= prefix' + set -l commandline (commandline -t) + + # strip -option= from token if present + set -l prefix (string match -r -- '^-[^\s=]+=' $commandline) + set commandline (string replace -- "$prefix" '' $commandline) + + # eval is used to do shell expansion on paths + eval set commandline $commandline + + if [ -z $commandline ] + # Default to current directory with no --query + set dir '.' + set fzf_query '' + else + set dir (__fzf_get_dir $commandline) + if [ "$dir" = "." -a (string sub -l 1 -- $commandline) != '.' ] + # if $dir is "." but commandline is not a relative path, this means no file path found + set fzf_query $commandline + else + # Also remove trailing slash after dir, to "split" input properly + set fzf_query (string replace -r "^$dir/?" -- '' "$commandline") + end + end + echo $dir + echo $fzf_query + echo $prefix +end +# }}} === Function: __fzf_parse_commandline === + +# {{{ === Function: __fzf_get_dir === +function __fzf_get_dir -d 'Find the longest existing filepath from input string' + set dir $argv + + # Strip all trailing slashes. Ignore if $dir is root dir (/) + if [ (string length -- $dir) -gt 1 ] + set dir (string replace -r '/*$' -- '' $dir) + end + + # Iteratively check if dir exists and strip tail end of path + while [ ! -d "$dir" ] + # If path is absolute, this can keep going until ends up at / + # If path is relative, this can keep going until entire input is consumed, dirname returns "." + set dir (dirname -- "$dir") + end + echo $dir +end +# }}} === Function: __fzf_get_dir === + +# {{{ === Configure FZF Keybindings === +# if not set --query fzf_fish_custom_keybindings +# # \cf is Ctrl+f +# # bind \cf __fzf_search_current_dir +# # bind \cr __fzf_search_history +# # # The following two key binding use Alt as an additional modifier key to avoid conflicts +# # bind \e\cl __fzf_search_git_log + +# # set up the same key bindings for insert mode if using fish_vi_key_bindings +# if test "$fish_key_bindings" = fish_vi_key_bindings -o "$fish_key_bindings" = fish_hybrid_key_bindings +# # bind --mode insert \cf __fzf_search_current_dir +# # bind --mode insert \cr __fzf_search_history +# # bind --mode insert \e\cl __fzf_search_git_log +# end +# end + +# function _mgk-fzf_uninstall --on-event fzf_uninstall +# # Not going to erase FZF_DEFAULT_OPTS because too hard to tell if it was set by the user or by this plugin +# if not set --query fzf_fish_custom_keybindings +# # bind --erase --all \cf +# # bind --erase --all \cr +# # bind --erase --all \e\cl + +# set_color --italics cyan +# echo "mgk-fzf.fish key bindings removed" +# set_color normal +# end + +# #set --erase __fzf_search_vars_cmd +# functions --erase _mgk_fzf_uninstall +# end + +# Vi View Mode FZF Bindings +#bind \ec fzf-cd-widget +bind \ec '__fzf_cd' +bind \eC '__fzf_cd --hidden' +bind \cg '__fzf_open' +bind \co '__fzf_open --editor' +bind \cf '__fzf_search_current_dir' +bind \cr '__fzf_search_history' +bind \e\cs '__fzf_search_git_status' +bind \e\cl '__fzf_search_git_log' + +# Vi Insert Mode FZF Bindings +if bind -M insert > /dev/null 2>&1 + # bind --mode insert \ec fzf-cd-widget + bind --mode insert \ec '__fzf_cd' + bind --mode insert \eC '__fzf_cd --hidden' + bind --mode insert \cg '__fzf_open' + bind --mode insert \co '__fzf_open --editor' + bind --mode insert \cf '__fzf_search_current_dir' + bind --mode insert \cr '__fzf_search_history' + bind --mode insert \e\cs '__fzf_search_git_status' + bind --mode insert \e\cl '__fzf_search_git_log' +end +# }}} === Configure FZF Keybindings === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/conf.d/load-posix-profiles.fish b/.config/fish/conf.d/load-posix-profiles.fish new file mode 100644 index 0000000..a8332f8 --- /dev/null +++ b/.config/fish/conf.d/load-posix-profiles.fish @@ -0,0 +1,64 @@ +# ~/.config/fish/conf.d/load-posix-profiles.fish +set LOCATION "fish/conf.d/load-posix-profiles.fish" + +# This file will help ensure our shell environment is in compliance with the +# distribution / operating systems standards by sourcing /etc/profile. Which +# will hopefully pull in /etc/profile.d/*.sh settings as well. +# +# Also, we will pull in the environment variables, aliases, and functions from +# our posix configuration. This lets us to avoid having to repeat ourselves +# with some basic things like setting environment variables. (Would not be a +# problem if I did not insist on wanting to run so many different shells.) + +# {{{ === Script Debug Settings === +#set -l DEBUG y # Comment this out to disable DEBUGing. +function _mordu + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nl + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source login.fish (If interactive.) === +# If this instance is found to be a Login Shell, ensure all environment +# variables and other OS-specific gets loaded. +if status --is-login + _mordu "This appears to be a Login Shell. Sourcing ~/.config/fish/login.fish." + source "$HOME"/.config/fish/login.fish + set -l LOCATION "fish/conf.d/load-posix-profiles.fish" + _mordu "Finished sourcing ~/.config/fish/login.fish." +end +# }}} === Source login.fish (If interactive.) === + +# {{{ === Source interactive.fish (If interactive.) === +# For Interactive Shell instances, be sure that the user has access to all the +# expected functions, aliases, etc. I try to centralize the really simple +# stuff under ~/.config/posix-common so I have access to those resources from +# both Bash, Fish, or other. +if status --is-interactive + _mordu "This appears to be an Interactive Shell. Sourcing ~/.config/fish/interactive.fish." + source "$HOME"/.config/fish/interactive.fish + set -l LOCATION "fish/conf.d/load-posix-profiles.fish" + _mordu "Finished sourcing ~/.config/fish/interactive.fish." +end +# }}} === Source interactive.fish (If interactive.) === + +# {{{ === Source logout.fish (If logging out.) === +# Fish doesn't have a '.logout' file, but does have support for the +# functionality through the use of a shell hook. Another opportunity to +# centralize settings under ~/.config/posix-common. +_mordu "Coupling Fish logout function with ~/.config/posix-common/logout.sh through ~/.config/fish/logout.fish." +function on_exit --on-event fish_exit + source "$HOME"/.config/fish/logout.fish + set -l LOCATION "fish/conf.d/load-posix-profiles.fish" +end +# }}} === Source logout.fish (If logging out.) === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..15aca31 --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,33 @@ +# ~/.config/fish/config.fish +set LOCATION "fish/config.fish" + +# Fish specific configuration file. Generally speaking, try to +# prioritize POSIX compatability for any added functionality. If +# possible, try to add any desired function, alias, or the like to +# ~/.config/posix-common/[..] where possible. + +# {{{ === Script Debug Settings === +#set -l DEBUG y # Comment this out to disable DEBUGing. +function _mordu + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nl + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Primary Fish Configuration Section === +set fish_greeting # Disable fish greeting. + +# Prepend hostname tocommand history file if possible + +set -x fish_history (echo "$HOST"|sed 's/\./_/g')_fish +# }}} === Primary Fish Configuration Section === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/functions-old/blkpng2jpg.fish b/.config/fish/functions-old/blkpng2jpg.fish new file mode 100644 index 0000000..3b9d1bb --- /dev/null +++ b/.config/fish/functions-old/blkpng2jpg.fish @@ -0,0 +1,9 @@ +# ~/.config/fish/functions/blkpng2jpg.fish +# Author: Lord_Devi +# Desc: Bulk convert all png files to jpg. Saves on space when +# working with papez. (Will remove transparencies.) +if type -qf parallel and type -qf convert + function blkpng2jpg + parallel convert '{}' '{.}.jpg' ::: *.png + end +end diff --git a/.config/fish/functions-old/catp.fish b/.config/fish/functions-old/catp.fish new file mode 100644 index 0000000..4116c35 --- /dev/null +++ b/.config/fish/functions-old/catp.fish @@ -0,0 +1,12 @@ +# ~/.config/fish/functions/catp.fish +# Author: Lord_Devi +# Desc: Fish function to be a really quick 'cat picture' +# command. Using 'pixcat' for Kitty. +if type -qf pixcat + function catp + for i in $argv + echo "Displaying Image: $i" + command pixcat r -W 800 -H 600 --align left $i + end + end +end diff --git a/.config/fish/functions-old/fixperms.fish b/.config/fish/functions-old/fixperms.fish new file mode 100644 index 0000000..264ac9b --- /dev/null +++ b/.config/fish/functions-old/fixperms.fish @@ -0,0 +1,11 @@ +# ~/.config/fish/functions/fixperms.fish +# Author: Lord_Devi +# Desc: Function for helping to quickly set the perms on both files +# and directories in a home directory. +# +# Directories = 755 (drwxr-xr-x) +# Files = 644 (.rw-r--r--) +function fixperms + find $argv -type d -exec chmod 755 {} \; + find $argv -type f -exec chmod 644 {} \; +end diff --git a/.config/fish/functions-old/getdate.fish b/.config/fish/functions-old/getdate.fish new file mode 100644 index 0000000..e92df03 --- /dev/null +++ b/.config/fish/functions-old/getdate.fish @@ -0,0 +1,7 @@ +# ~/.config/fish/functions/getdate.fish +# Author: Lord_Devi +# Desc: Just a command I find handy to insert readable American style +# dates into filenames and shit. +function getdate + command date +%m-%d-%Y +end diff --git a/.config/fish/functions-old/gsu.fish b/.config/fish/functions-old/gsu.fish new file mode 100644 index 0000000..d27523b --- /dev/null +++ b/.config/fish/functions-old/gsu.fish @@ -0,0 +1,35 @@ +# ~/.config/fish/functions/gsu.fish +# Screenshotting tool which allows for screenshotting of seperate screens more easily than others. + +if type -qf gsu + function gsu1 + command gsu \ + -d 1 \ + ~/pix/scrots/$argv.jpg + end + function gsu2 + command gsu \ + -d 2 \ + ~/pix/scrots/$argv.jpg + end + function gsu3 + command gsu \ + -d 3 \ + ~/pix/scrots/$argv.jpg + end + function gsu4 + command gsu \ + -d 4 \ + ~/pix/scrots/$argv.jpg + end + function gsu5 + command gsu \ + -d 5 \ + ~/pix/scrots/$argv.jpg + end + function gsu6 + command gsu \ + -d 6 \ + ~/pix/scrots/$argv.jpg + end +end diff --git a/.config/fish/functions-old/ls.fish b/.config/fish/functions-old/ls.fish new file mode 100644 index 0000000..19167d0 --- /dev/null +++ b/.config/fish/functions-old/ls.fish @@ -0,0 +1,25 @@ +# Look for ls's cooler brother 'lsd' and default to it if found. + +if type -qf lsd + function ls + command lsd \ + -F \ + --color=always \ + --icon=always \ + --date relative \ + --size short \ + $argv + end +else if type -qf colorls + function ls + command colorls -FG $argv + end +else + function ls + command ls -F $argv + end +end + +alias ll="ls -l" +alias la="ls -A" +alias lla="ls -lA" diff --git a/.config/fish/functions-old/rands.fish b/.config/fish/functions-old/rands.fish new file mode 100644 index 0000000..7a6959b --- /dev/null +++ b/.config/fish/functions-old/rands.fish @@ -0,0 +1,8 @@ +# ~/.config/fish/functions/rands.fish +# Author: Lord_Devi +# Desc: Generates a short random string. Useful for inserting random +# strings into filenames. +function rands + set -l LENGTH 12 + tr -dc A-Za-z0-9 >> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nl + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common Aliases === +# Load the posix-common Interactive Shell settings we have setup too. +# Initially I was just loading ~/.config/posix-common/interactive.sh like +# sh and bash were doing. But Fish cannot actually import functions from +# posix-common/functions.d/*. Which is more than half of what +# posix-common/interactive.sh does. The other half is sourcing all the +# aliases from posix-common/aliases.d/*. +# So now we will skip ahead for Fish and just source that aliases directory +# directly, skipping posix-common/interactive.sh. + +# >>> DON'T USE THIS BLOCK +# _mordu "Sourcing Interactive Shell settings from ~/.config/posix-common/interactive.sh" +# replay "source ~/.config/posix-common/interactive.sh" +# set -l LOCATION "fish/interactive.fish" +# _mordu "Finished sourcing Interactive Shell settings from ~/.config/posix-common/interactive.sh" +# <<< DON'T USE THIS BLOCK + +# >>> USE THIS BLOCK +# Aliases Second +#_mordu "Sourcing Aliases from ~/.config/posix-common/aliases.d/*." +#for alias_file in ~/.config/posix-common/aliases.d/*.sh +# _mordu "Sourcing $alias_file." +# set -l LOCATION "posix-common/aliases.d/$alias_file" +# #replay "source $alias_file" +#end +#set -l LOCATION interactive.fish +#_mordu "Finished sourcing Aliases from ~/.config/posix-common/aliases.d/*." +# <<< USE THIS BLOCK +# }}} === Source Posix Common Aliases === + +# {{{ === Source Posix Common Environment Variables === +#_mordu "Sourcing Common Env Vars from ~/.config/posix-common/env.sh." +#replay "source ~/.config/posix-common/env.sh" +#set -l LOCATION "fish/interactive.fish" +#_mordu "Finished sourcing Common Env Vars from ~/.config/posix-common/env.sh." +# }}} === Source Posix Common Environment Variables === + +# {{{ === Source prompt.fish === +_mordu "Sourcing Fish prompt from ~/.config/fish/prompt.fish." +source "$HOME"/.config/fish/prompt.fish +set -l LOCATION "fish/interactive.fish" +_mordu "Finished sourcing Fish prompt from ~/.config/fish/prompt.fish." +# }}} === Source prompt.fish === + +# {{{ === Enable VI Mode === +_mordu "Enabling VI mode for command line editing." +function fish_hybrid_key_bindings --description \ +"Vi-style bindings that inherit emacs-style bindings in all modes" + for mode in default insert visual + fish_default_key_bindings -M $mode + end + fish_vi_key_bindings --no-erase +end +set -g fish_key_bindings fish_hybrid_key_bindings +# }}} === Enable VI Mode === + +# {{{ === Configure LS_COLORS === +# ColorLS. Yes, 'lsd' will use it. ;) +# Sauce: https://github.com/trapd00r/LS_COLORS +#_mordu "Sourcing LS Colors from ~/.config/posix-common/lscolors.sh" +#replay 'source ~/.config/posix-common/lscolors.sh' +#_mordu "Finished LS Colors from ~/.config/posix-common/lscolors.sh" +# }}} === Configure LS_COLORS === + +# {{{ === Configure 'thefuck' / 'uwu' === +# Neat little tool. Not sure how to load it from +# posix-common/aliases.d/ yet. That would be preferred. Right now I +# am loading it from interactive.fish and interactive.sh files. +if type -qf thefuck + _mordu "Configuring 'thefuck' to be referenced as 'uwu'." + thefuck --alias uwu | source +end +# }}} === Configure 'thefuck' / 'uwu' === + +# {{{ === FZF Completions === +# Load default fzf keybindings +# fzf_key_bindings + +# bind --erase --all \ct +# bind --erase --all \cr + +# if not set --query fzf_fish_custom_keybindings +# # \cf is Ctrl+f +# # bind \cf __fzf_search_current_dir +# # bind \cr __fzf_search_history +# # # The following two key binding use Alt as an additional modifier key to avoid conflicts +# # bind \e\cl __fzf_search_git_log + +# # set up the same key bindings for insert mode if using fish_vi_key_bindings +# if test "$fish_key_bindings" = fish_vi_key_bindings -o "$fish_key_bindings" = fish_hybrid_key_bindings +# # bind --mode insert \cf __fzf_search_current_dir +# # bind --mode insert \cr __fzf_search_history +# # bind --mode insert \e\cl __fzf_search_git_log +# end +# end + +# function _mgk-fzf_uninstall --on-event fzf_uninstall +# # Not going to erase FZF_DEFAULT_OPTS because too hard to tell if it was set by the user or by this plugin +# if not set --query fzf_fish_custom_keybindings +# # bind --erase --all \cf +# # bind --erase --all \cr +# # bind --erase --all \e\cl + +# set_color --italics cyan +# echo "mgk-fzf.fish key bindings removed" +# set_color normal +# end + +# #set --erase __fzf_search_vars_cmd +# functions --erase _mgk_fzf_uninstall +# end +# }}} === FZF Completions === + +# {{{ === Aliases: Sudo === +_mordu "Setting up sudo aliases." +alias firewall-cmd='sudo firewall-cmd' +alias fwc='sudo firewall-cmd' +alias dnf='sudo dnf' +alias systemctl='sudo systemctl' +alias lsof='sudo lsof' +alias service='sudo service' +alias snap='sudo snap' +alias sysupdate='dnf mc --refresh && dnf -y update' +alias lxc='sudo lxc' +# }}} === Aliases: Sudo === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/login.fish b/.config/fish/login.fish new file mode 100644 index 0000000..af7e693 --- /dev/null +++ b/.config/fish/login.fish @@ -0,0 +1,40 @@ +# ~/.config/fish/login.fish +set LOCATION "fish/login.fish" + +# Intended to be used to run items we want to load only on login shells. +# Env vars that affect non-interactive shells or interactive shells alike. +# But perhaps not things like aliases for 'ls' quite yet. + +# {{{ === Script Debug Settings === +#set -l DEBUG y # Comment this out to disable DEBUGing. +function _mordu + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nlk + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Souce System Posix Profile TODO: FIX === +# Load Operating System POSIX environment. Important on Arch, Gentoo +# and likely others. +#_mordu "Sourcing OS-Specific /etc/profile." +#replay "source /etc/profile" +#_mordu "Finished sourcing OS-Specific /etc/profile." +# }}} === Souce System Posix Profile === + +# {{{ === Souce User Common Posix Profile TODO: FIX=== +# Load the posix-common Login Shell settings we have setup too. +#_mordu "Sourcing Login Shell settings from ~/.config/posix-common/login.sh" +#replay "source ~/.config/posix-common/login.sh" +#set -l LOCATIONl "fish/login.fish" +#_mordu "Finished sourcing Login Shell settings from ~/.config/posix-common/login.sh" +# }}} === Souce User Common Posix Profile === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/logout.fish b/.config/fish/logout.fish new file mode 100644 index 0000000..9fcbae5 --- /dev/null +++ b/.config/fish/logout.fish @@ -0,0 +1,27 @@ +# ~/.config/fish/logout.fish +set LOCATION "fish/logout.fish" + +# {{{ === Script Debug Settings === +#set -l DEBUG y # Comment this out to disable DEBUGing. +function _mordu + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nl + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Sourcing Posix Common Logout === +#_mordu "Sourcing POSIX logout from ~/.config/posix-common/logout.sh" +#replay "source ~/.config/posix-common/logout.sh" +#set -l LOCATION "fish/logout.fish" +#_mordu "Finished sourcing POSIX logout from ~/.config/posix-common/logout.sh" +# }}} === Sourcing Posix Common Logout === + +_mordu "Finished processing $LOCATION." diff --git a/.config/fish/prompt.fish b/.config/fish/prompt.fish new file mode 100644 index 0000000..4be67f1 --- /dev/null +++ b/.config/fish/prompt.fish @@ -0,0 +1,27 @@ +# ~/.config/fish/prompt.fish +set LOCATION "fish/prompt.fish" + +# {{{ === Script Debug Settings === +#set -l DEBUG y # Comment this out to disable DEBUGing. +function _mordu + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_n + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $argv" +end + +function _mordu_nl + [ "$DEBUG" ] && echo "$argv" +end +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Run Starfish Init === +if type -qf starship + _mordu "Starship found. Setting as shell prompt." + starship init fish | source +end +# }}} === Run Starfish Init === + +_mordu "Finished processing $LOCATION." diff --git a/.config/git/config b/.config/git/config new file mode 100644 index 0000000..df010df --- /dev/null +++ b/.config/git/config @@ -0,0 +1,43 @@ +[init] + defaultBranch = master + +[core] + askPass = + +[user] + email = lord@mgk.one + name = Lord_Devi + +[gc] + reflogExpire = 200 + +[diff] + submodule = log + +[status] + submodulesummary = 1 + +[alias] + sdiff = !git diff && git submodule foreach 'git diff' + spush = push --recurse-submodules=on-demand + supdate = submodule update --remote --merge + clone-for-worktrees = "!sh $HOME/.local/bin/git-clone-bare-for-worktrees.sh" + clone-bare = "!sh $HOME/.local/bin/git-clone-bare.sh" + +[submodule] + recurse = true +[pull] + rebase = false + +[credential] + helper = cache --timeout 7200 + +[filter "lfs"] + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true + clean = git-lfs clean -- %f + +[ghq] + root = ~/proj/git + root = ~/.local/opt/git diff --git a/.config/git/ignore b/.config/git/ignore new file mode 100644 index 0000000..5c936e3 --- /dev/null +++ b/.config/git/ignore @@ -0,0 +1,69 @@ +# Other Backup Types +*.bak +*.tmp + +# Archives +*.7z +*.jar +*.rar +*.zip +*.tgz +*.gz +*.bzip +*.xz +*.lzma +*.iso +*.tar +*.dmg +*.xpi +*.gem +*.egg +*.deb +*.rpm + +# Emacs & Vim Stuff +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +## Org-mode +.org-id-locations +*_archive + +## flymake-mode +*_flymake.* + +## eshell files +/eshell/history +/eshell/lastdir + +## elpa packages +/elpa/ + +## reftex files +*.rel + +## cask packages +.cask/ +dist/ + +## Flycheck +flycheck_*.el + +## projectiles files +.projectile + +## directory configuration +.dir-locals.el + +## network security +/network-security.data + +## Fish Shell +fish_variables +fish_history diff --git a/.config/posix-common/LS_COLORS b/.config/posix-common/LS_COLORS new file mode 120000 index 0000000..f161acb --- /dev/null +++ b/.config/posix-common/LS_COLORS @@ -0,0 +1 @@ +../../.local/opt/git/git.mgk.one/utils-shell/trapd00r.LS_COLORS/LS_COLORS \ No newline at end of file diff --git a/.config/posix-common/aliases.d/common_aliases.sh b/.config/posix-common/aliases.d/common_aliases.sh new file mode 100644 index 0000000..9b3a44f --- /dev/null +++ b/.config/posix-common/aliases.d/common_aliases.sh @@ -0,0 +1,72 @@ +# ~/.config/posix-common/aliases.d/common-aliases.sh +LOCATION="posix-common/aliases.d/common-aliases.sh" + +# Generally speaking, put items that are intended for INTERACTIVE +# shells in here. If it is a setting that might be needed by an piece +# of software that might get ran during non-interactive shells - put +# that in common-envs.sh instead. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Aliases: 'cd' Related === +# Change Directory shortcuts, commonly needed on BSD's. +_mordu "Setting cd related aliases." +alias ..='cd ..' # Traverse 1 dir down. +alias ...='cd ../..' # Traverse 2 dirs down. +alias ....='cd ../../..' # Traverse 3 dirs down. +# }}} === Aliases: 'cd' Related === + +# {{{ === Aliases: Sorting Related === +_mordu "Setting sorting related aliases." +# Make sort easier to |s to. +alias s='sort' + +# 'esl': "env | sort | less" quickly. +alias esl="env|sort|less" +# }}} === Aliasess: Sorting Related === + +# {{{ === Aliases: Emacs Related === +# If Emacs is in in the path, create an alias 'cmacs' for 'console emacs'. +if command -v emacs > /dev/null ; then + _mordu "Setting emacs related aliases." + alias e='emacs' # Because I'm lazy. + alias cmacs='emacs -nw' # Start emacs with no window system. +fi +# }}} === Aliases: Emacs Related === + +# {{{ === Aliases: 'getdate' - Used for Dating Files === +# getdate - Used to create a date string in my preferred format. I +# use it when creating files and such. +alias getdate='date +%Y-%m-%d' +# }}} === Aliases: 'getdate' - Used for Dating Files === + +# {{{ === Aliases: 'purgebaks' - Used for Purging Vim and Emacs Backups === +# purgebaks - An incredibly destructive recursive vim/emacs backup +# file deleter. Use with caution. I would prefer enhancing this +# to move the files into a backup folder inside of +# ~/.cache/something with (getdate) applied to the filenames. But +# for now, this will simply search a subdirectory for anything +# like ~foobar.txt or #foobar.txt# and deletes them +alias purgebaks='find -name "\#*" -print -delete;find -name "*~" -print -delete' +# }}} === Aliases: 'purgebaks' - Used for Purging Vim and Emacs Backups === + +# {{{ === Aliases: 'grep' Related. === +# Grep, handy to do things like 'cat foobar.txt|g secretcode' +alias g='grep -i' +# }}} === Aliases: 'grep' Related. === + +# {{{ === Misc Leftover Aliases. === +alias reload-fonts="sudo fc-cache -v" + +pghq() { + GHQ_ROOT="$HOME/proj/git" ghq $* +} +# }}} === Misc Leftover Aliases. === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/aliases.d/less-and-bat.sh b/.config/posix-common/aliases.d/less-and-bat.sh new file mode 100644 index 0000000..9b58842 --- /dev/null +++ b/.config/posix-common/aliases.d/less-and-bat.sh @@ -0,0 +1,61 @@ +# ~/.config/posix-common/aliases.d/less-and-bat.sh +LOCATION="posix-common/aliases.d/less-and-bat.sh" + +# Generally speaking, put items that are intended for INTERACTIVE +# shells in here. If it is a setting that might be needed by an piece +# of software that might get ran during non-interactive shells - put +# that in common-envs.sh instead. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Environment Setup: Less & Bat Related === +# Themes that work: ansi, gruvbox-dark +# Note: 'bat' is also configured as our default pager, but is +# referenced from ~/.config/posix-common/env.d/common-envs.sh. +_mordu "Setting up 'less', and 'bat' related environment." + +# First clean up after less, and make sure a cache dir exists for it. +if [ ! -d "$HOME"/.cache/less ]; then + _mordu "$HOME/.cache/less/ not found. Creating." + mkdir -p "$HOME"/.cache/less # Make the less cache dir for the history if needed. +fi + +# We will set up less's preferred env even if we end up using +# 'bat'. Just to keep things clean for those edge cases. +_mordu "Setting LESSKEY and LESSHISTFILE." +LESSKEY="$XDG_CONFIG_HOME"/less/lesskey +LESSHISTFILE="$XDG_CACHE_HOME"/less/$(echo "$HOST"|sed 's/\./_/g')_less_history +export LESSKEY LESSHISTFILE + +# Check if there is a '.lesshst' making a mess in our homedir or +# not and get rid of it if there is. +if [ -f "$HOME/.lesshst" ]; then + _mordu "Found a stale ~/.lesshst file. Deleting." + rm "$HOME"/.lesshst # Just get rid of it. I don't need it. +fi +# }}} === Environment Setup: Less & Bat Related === + +# {{{ === Aliases: Less and Bat Related === +# Now the important part - Try to use 'bat' as our default pager +# if it is possible. Sometimes bat doesn't always play nice, but +# let's assume it will 99% of the time. +if command -v bat > /dev/null ; then + #alias bat='bat --style=changes,header,grid,numbers,snip --color=always' + #alias batnl='bat --style=header,grid,snip' + alias l='less' + alias c='cat' + #alias b='bat' + alias man='batman' + alias diff='batdiff' +fi +PAGER=less +export PAGER +# }}} === Aliases: Less and Bat Related === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/aliases.d/ls-and-lsd.sh b/.config/posix-common/aliases.d/ls-and-lsd.sh new file mode 100644 index 0000000..7d7a2f1 --- /dev/null +++ b/.config/posix-common/aliases.d/ls-and-lsd.sh @@ -0,0 +1,47 @@ +# ~/.config/posix-common/aliases.d/ls-and-lsd.sh +LOCATION="posix-common/aliases.d/ls-and-lsd.sh" + +# Generally speaking, put items that are intended for INTERACTIVE +# shells in here. If it is a setting that might be needed by an piece +# of software that might get ran during non-interactive shells - put +# that in common-envs.sh instead. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Aliases: 'ls' Related === +# 'ls' - Colorize if possible, and create shortcuts +if command -v lsd > /dev/null 2>&1; then # Typically I have this on Linux. + _mordu "Found 'lsd', configuring aliases for it." + alias ls='lsd -F --color=auto --icon=auto --date relative --size short' + elif command -v colorls > /dev/null ; then # This is OpenBSD usually. + alias ls='colorls -FGh' + elif [ "$(uname)" = 'Linux' ]; then # If it is Linux we can assume gnu ls. + alias ls='ls -Fh --color=auto --time-style=long-iso' # Set color to auto and enable classify. + else + alias ls='ls -Fh' # At least ensure --classify is on. +fi + +_mordu "Creating 'ls' related aliases." +alias ll="exa -l" +alias la="exa -A" +alias lla="exa -lA" + +# 'lt' Tree basically, but for all files minus '.' and '..'. +# Also with preference for 'lsd --tree' over 'tree -a' +if command -v lsd > /dev/null ; then # Typically I have this on Linux. + _mordu "Creating tree related aliases using lsd'." + alias lt='lsd --tree' + alias lta='lt -A' +elif command -v tree > /dev/null ; then + alias lt='tree' + alias lta='lt -a' +fi +# }}} === Aliases: 'ls' Related === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/aliases.d/net-aliases.sh b/.config/posix-common/aliases.d/net-aliases.sh new file mode 100644 index 0000000..0d1a084 --- /dev/null +++ b/.config/posix-common/aliases.d/net-aliases.sh @@ -0,0 +1,24 @@ +# ~/.config/posix-common/aliases.d/net-aliases.sh +LOCATION="posix-common/aliases.d/net-aliases.sh" + +# These are shortcuts for comming networking things I do. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Aliases === + +# Firewall-cmd stuff. + +alias fw='firewall-cmd' +alias fwls='fw --list-all' +alias fwlsa='fw --list-all-zones' +alias fwgaz='fw --get-active-zones' +# }}} === Aliases === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/aliases.d/sudo-related.sh b/.config/posix-common/aliases.d/sudo-related.sh new file mode 100644 index 0000000..0f3ea99 --- /dev/null +++ b/.config/posix-common/aliases.d/sudo-related.sh @@ -0,0 +1,28 @@ +# ~/.config/posix-common/aliases.d/sudo-related.sh +LOCATION="posix-common/aliases.d/sudo-related.sh" + +# Generally speaking, put items that are intended for INTERACTIVE +# shells in here. If it is a setting that might be needed by an piece +# of software that might get ran during non-interactive shells - put +# that in common-envs.sh instead. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Aliases: Sudo Related === +alias firewall-cmd='sudo firewall-cmd' +alias dnf='sudo dnf' +alias lsof='sudo lsof' +alias service='sudo service' +alias nmcli='sudo nmcli' +#alias systemctl='sudo systemctl' +#alias journalctl='sudo journalctl' + +# }}} === Aliases: Sudo Related === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/aliases.d/xdg-related.sh b/.config/posix-common/aliases.d/xdg-related.sh new file mode 100644 index 0000000..daf8981 --- /dev/null +++ b/.config/posix-common/aliases.d/xdg-related.sh @@ -0,0 +1,29 @@ +# ~/.config/posix-common/aliases.d/xdg-related.sh +LOCATION="posix-common/aliases.d/xdg-related.sh" + +# Generally speaking, put items that are intended for INTERACTIVE +# shells in here. If it is a setting that might be needed by an piece +# of software that might get ran during non-interactive shells - put +# that in common-envs.sh instead. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Aliases: XDG Related === +# XDG wget +WGETRC="$XDG_CONFIG_HOME"/wget/wgetrc +alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget_hsts"' +export WGETRC + +# XDG Weechat +WEECHAT_HOME="$XDG_CONFIG_HOME"/weechat +alias weechat='weechat -d "$XDG_CONFIG_HOME"/weechat' +export WEECHAT_HOME +# }}} === Aliases: XDG Related === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/env.d/common_envs.sh b/.config/posix-common/env.d/common_envs.sh new file mode 100644 index 0000000..0f63496 --- /dev/null +++ b/.config/posix-common/env.d/common_envs.sh @@ -0,0 +1,128 @@ +# ~/.config/posix-common/env.d/common_envs.sh +LOCATION=".config/posix-common/env.d/common_envs.sh" + +# Not just for exporting Environment Variables, but also useful for +# running conditional tests, creating directories, moving files, etc. +# +# There is some cross over between this file and +# ~/.config/posix-common/env_local.sh. Both are intended for +# environment variables which are going to be needed frequently. And +# both will be polled for non-login as well as login shells. As well +# as interactive shells. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source env_functions.sh === +_mordu "Sourcing env_functions.sh." +. "$HOME"/.config/posix-common/env_functions.sh +LOCATION=".config/posix-common/env.d/common_envs.sh" +_mordu "Finished sourcing env_functions.sh." +# }}} === Source env_functions.sh === + +# {{{ === Configure Cargo's Environment === +_mordu "Configuring CARGO_HOME and adding to PATH." +export CARGO_HOME="$HOME"/.local/opt/cargo +pathprepend "$HOME"/.local/opt/cargo/bin PATH + +if [ ! -d "$HOME"/.local/opt/cargo/bin ]; then + _mordu "Did not find ~/.local/opt/cargo/bin. Creating." + mkdir -p "$HOME"/.local/opt/cargo/bin +fi +# }}} === Configure Cargo's Environment === + +# {{{ === Configure Go's Environment === +_mordu "Configuring GO_HOME and adding to PATH." +export GOPATH="$HOME"/.local/opt/go +pathprepend "$HOME"/.local/opt/go/bin PATH + +if [ ! -d "$HOME"/.local/opt/go/bin ]; then + _mordu "Did not find ~/.local/opt/go/bin. Creating." + mkdir -p "$HOME"/.local/opt/go/bin +fi +# }}} === Configure GO's Environment === + +# {{{ === Configure GUIX's Environment === +## GUIX bin and Profile can be set if it looks like it exists. +#if [ -d "$HOME"/.config/guix/current/bin ]; then +# _mordu "Found GUIX installed. Setting up PATH and GUIX_PROFILE." +# pathprepend "$HOME"/.config/guix/current/bin +# GUIX_PROFILE="$HOME/.config/guix/current" +# export GUIX_PROFILE +#fi +# }}} === Configure GUIX's Environment === + +# {{{ === Manage ~/.local/bin === +## Add ~/.local/bin to PATH, make it if it doesn't exist. +if [ ! -d "$HOME"/.local/bin ]; then + _mordu "Did not find ~/.local/bin. Creating." + mkdir -p "$HOME"/.local/bin +fi +_mordu "Adding ~/.local/bin to PATH" +pathprepend "$HOME"/.local/bin PATH +# }}} === Manage ~/.local/bin === + +# {{{ === PATH Sanity Checking === +# The current directory ( . ) should never be in $PATH +_mordu "Trimming current dir from PATH." +pathremove . PATH +pathremove "" PATH +# }}} === PATH Sanity Checking === + +# {{{ === Manage ~/.local/share/man === +if [ ! -d "$HOME"/.local/share/man ]; then + _mordu "Did not find ~/.local/share/man. Creating." + mkdir -p "$HOME"/.local/share/man +fi + +_mordu "Adding ~/.local/share/man to MANPATH." +MANPATH=":$HOME/.local/share/man" +export MANPATH +# }}} === Manage ~/.local/share/man === + +# {{{ === Editor Related: Emacs, NeoVim, Vim, etc. === +_mordu "Configuring EDITOR." +if command -v emacs > /dev/null ; then + _mordu "Setting EDITOR to: emacs" + EDITOR='emacs' +elif command -v nvim > /dev/null ; then + _mordu "Setting EDITOR to: nvim" + EDITOR='nvim' +elif command -v vim > /dev/null ; then + _mordu "Setting EDITOR to: vim" + EDITOR='vim' +elif command -v vi > /dev/null ; then + _mordu "Setting EDITOR to: vi" + EDITOR='vi' +elif command -v nano > /dev/null ; then + _mordu "Setting EDITOR to: nano" + EDITOR='nano' +fi + +VISUAL=$EDITOR +export EDITOR VISUAL +# }}} === Editor Related: Emacs, NeoVim, Vim, etc. === + +# {{{ === Shell Related === +# Set FZF's appearance. +export FZF_DEFAULT_OPTS="--color=dark --border=rounded" +# }}} === Shell Related === + +# {{{ === Xorg Related Environment === +GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc" +export GTK2_RC_FILES + +# For QT Theme management via qt5ct +QT_QPA_PLATFORMTHEME=qt5ct +export QT_QPA_PLATFORMTHEME + +#GDK_SCALE=2 +#GDK_DPI_SCALE=0.5 +# }}} === Xorg Related Environment === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/env.sh b/.config/posix-common/env.sh new file mode 100644 index 0000000..322ae58 --- /dev/null +++ b/.config/posix-common/env.sh @@ -0,0 +1,49 @@ +# ~/.config/posix-common/env.sh +LOCATION="posix-common/env.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Set ENV Variable for Sanity Proofing Init === +# We need to set $ENV so that if you use shell X as your login shell, +# and then start "sh" as a non-login interactive shell the startup scripts will +# correctly run. +_mordu "Protecting Interactive functionality by setting ENV." +ENV="$HOME"/.config/sh/interactive.sh +export ENV +# }}} === Set ENV Variable for Sanity Proofing Init === + +# {{{ === Configure UMASK === +# 0022 is more common with its g+rw. But 0077's strict o+rw only is good enough likely. +_mordu "Setting umask to g-rw from g+rw on new files." +umask 0077 +# }}} === Configure UMASK === + +# {{{ === Source Posix Common env_local.sh === +# env_local is a useful place to put high priority Env Vars that could be +# expected to be used in both interactive and non-interactive shells. (I think. +# lol) +_mordu "Sourcing Env Vars from ~/.config/posix-common/env_local.sh." +. "$HOME"/.config/posix-common/env_local.sh +LOCATION="posix-common/env.sh" +_mordu "Finished sourcing Env Vars from ~/.config/posix-common/env_local.sh." +# }}} === Source Posix Common env_local.sh === + +# {{{ === Source Posix Common env.d/*.sh === +_mordu "Sourcing Env Vars from ~/.config/posix-common/env.d/*.sh." +for env_file in "$HOME"/.config/posix-common/env.d/*.sh; do + _mordu "Sourcing $env_file." + # shellcheck source=/dev/null + . "$env_file" +done +unset -v env_file +LOCATION="posix-common/env.sh" +_mordu "Finished sourcing Env Vars from ~/.config/posix-common/env.d/*.sh." +# }}} === Source Posix Common env.d/*.sh === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/env_functions.sh b/.config/posix-common/env_functions.sh new file mode 100644 index 0000000..518b99b --- /dev/null +++ b/.config/posix-common/env_functions.sh @@ -0,0 +1,62 @@ +# ~/.config/posix-common/env_functions.sh +LOCATION="posix-common/env_functions.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === PATH Management Functions === +_mordu "Creating PATH management functions." +# Usage: indirect_expand PATH -> $PATH +indirect_expand () { + env |sed -n "s/^$1=//p" +} + +# Usage: pathremove /path/to/bin [PATH] +# Eg, to remove ~/bin from $PATH +# pathremove ~/bin PATH +pathremove () { + local IFS=':' + local newpath + local dir + local var=${2:-PATH} + # Bash has ${!var}, but this is not portable. + for dir in $(indirect_expand "$var"); do + IFS='' + if [ "$dir" != "$1" ]; then + newpath="$newpath:$dir" + fi + done + export "$var"="${newpath#:}" +} + +# Usage: pathprepend /path/to/bin [PATH] +# Eg, to prepend ~/bin to $PATH +# pathprepend ~/bin PATH +pathprepend () { + # if the path is already in the variable, + # remove it so we can move it to the front + pathremove "$1" "$2" + #[ -d "${1}" ] || return + local var="${2:-PATH}" + local value=$(indirect_expand "$var") + export "${var}=${1}${value:+:${value}}" +} + +# Usage: pathappend /path/to/bin [PATH] +# Eg, to append ~/bin to $PATH +# pathappend ~/bin PATH +pathappend () { + pathremove "${1}" "${2}" + #[ -d "${1}" ] || return + var=${2:-PATH} + value=$(indirect_expand "$var") + export "$var=${value:+${value}:}${1}" +} +# }}} === PATH Management Functions === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/env_local.sh b/.config/posix-common/env_local.sh new file mode 100644 index 0000000..fd3fd90 --- /dev/null +++ b/.config/posix-common/env_local.sh @@ -0,0 +1,89 @@ +# ~/.config/posix-common/env_local.sh +LOCATION="posix-common/env_local.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Set HOST === +# Set HOST as per FQDN of currently running host. +_mordu "Setting HOST." +if [ "$(uname)" = "Linux" ] ; then + HOST="$(hostname -f)" +elif [ "$(uname)" = "OpenBSD" ] ; then + HOST="$(hostname)" +fi +export HOST +# }}} === Set HOST === + +# {{{ === Load XDG Environment Variables === +_mordu "Setting XDG Environment Variables." +XDG_CONFIG_HOME="$HOME/.config" +XDG_CACHE_HOME="$HOME/.cache" +XDG_DATA_HOME="$HOME/.local/share" +XDG_DATA_DIRS="/usr/local/share:/usr/share" +XDG_CONFIG_DIRS="/etc/xdg" +# The xdg user-dirs below usually aren't handled as Env Vars. I +# find it simplifies things for me right now. +XDG_DESKTOP_DIR="$HOME/.local/desktop" +XDG_DOCUMENTS_DIR="$HOME/dox" +XDG_DOWNLOAD_DIR="$HOME/dl" +XDG_MUSIC_DIR="$HOME/mzk" +XDG_PICTURES_DIR="$HOME/pix" +XDG_PROJECTS_DIR="$HOME/dox/proj" +XDG_PUBLICSHARE_DIR="$HOME/pub" +XDG_TEMPLATES_DIR="$HOME/.local/templates" +XDG_VIDEOS_DIR="$HOME/vidz" + +export XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_DATA_DIRS \ + XDG_CONFIG_DIRS XDG_DESKTOP_DIR XDG_DOCUMENTS_DIR XDG_DOWNLOAD_DIR \ + XDG_MUSIC_DIR XDG_PICTURES_DIR XDG_PROJECTS_DIR XDG_PUBLICSHARE_DIR \ + XDG_TEMPLATES_DIR XDG_VIDEOS_DIR +# }}} === Load XDG Environment Variables === + +# {{{ === Configure XDG-USER-DIRS with xdg-user-dirs-update === +if command -v xdg-user-dirs-update > /dev/null ; then + _mordu "Configuring XDG-USER-DIRS with xdg-user-dirs-update." + xdg-user-dirs-update --set DOCUMENTS "$XDG_DOCUMENTS_DIR" + xdg-user-dirs-update --set DESKTOP "$XDG_DESKTOP_DIR" + xdg-user-dirs-update --set DOWNLOAD "$XDG_DOWNLOAD_DIR" + xdg-user-dirs-update --set MUSIC "$XDG_MUSIC_DIR" + xdg-user-dirs-update --set PICTURES "$XDG_PICTURES_DIR" + xdg-user-dirs-update --set TEMPLATES "$XDG_TEMPLATES_DIR" + xdg-user-dirs-update --set VIDEOS "$XDG_VIDEOS_DIR" + xdg-user-dirs-update --set PUBLICSHARE "$XDG_PUBLICSHARE_DIR" +fi +# }}} === Configure XDG-USER-DIRS with xdg-user-dirs-update === + +# {{{ === Create XDG-USER-DIRS if Not Already Made === +# Let's make sure the XDG dirs exist. There is a good argument to +# be made that we keep this mkdir stuff solely in a boostrap +# phase, and not in a login or interactive shell phase of things. +# I will try to see if this helps with my sanity or if it is a bad +# idea later after trying for a while. +_mordu "Creating XDD-USER-DIRS that do not already exist." +for _xdgdir in "$XDG_CONFIG_HOME" "$XDG_CACHE_HOME" \ + "$XDG_DATA_HOME" "$XDG_DESKTOP_DIR" "$XDG_DOCUMENTS_DIR" \ + "$XDG_DOCUMENTS_DIR" "$XDG_DOWNLOAD_DIR" "$XDG_MUSIC_DIR" \ + "$XDG_PICTURES_DIR" "$XDG_PUBLICSHARE_DIR" \ + "$XDG_TEMPLATES_DIR" "$XDG_VIDEOS_DIR" "$XDG_PROJECTS_DIR" +do + [ ! -d "$_xdgdir" ] && mkdir -p "$_xdgdir" +done +# }}} === Create XDG-USER-DIRS if Not Already Made === + +# {{{ === XDG Misc Remaining === +_mordu "XDGing readline." +INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc +export INPUTRC + +CALCHISTFILE="$HOME/.cache/calc_history" +export CALCHISTFILE + +# }}} === XDG Misc Remaining === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/fastfetch-logo.jpg b/.config/posix-common/fastfetch-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc0e7108988b890b8394ed7ce2022b2cee63ad32 GIT binary patch literal 79281 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%0Ax7YDWnkQOr4(7jB}O?zf+`XG+(|Cu2b*Vz| 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 Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Buku Stuff === +_mordu "Creating buku bookmark functions." + + +alias b='buku --suggest' + +b-taglist() { + buku --np -t | awk 'gsub( /\(|\)$/, "" ) { $1 = $NF; $NF = ""; print }' +} +# }}} === Buku Stuff === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/functions.d/common_functions.sh b/.config/posix-common/functions.d/common_functions.sh new file mode 100644 index 0000000..92edf7c --- /dev/null +++ b/.config/posix-common/functions.d/common_functions.sh @@ -0,0 +1,53 @@ +# ~/.config/posix-common/functions.d/common_functions.sh +LOCATION="posix-common/functions.d/common_functions.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Func: 'fixperms' === +# Recursively set DIRS to 755, and FILES to 644. +# Function to help me quickly set the perms on both files +# and directories in a home directory. Also helps sanitize shit I grab +# off of USB's or NTFS drives. +_mordu "Creating fixperms function." +fixperms() { + find "$@" -type d -exec chmod 755 {} \; + find "$@" -type f -exec chmod 644 {} \; +} +# }}} === Func: 'fixperms' === + +# {{{ === Func: 'rands' === +# 'rands' stands for "Random String". It generates a +# short 12 character random string. I use it to help name bulk-name +# files like pictures and such. +_mordu "Creating rands function." +rands() { + LENGTH=12 + tr -dc A-Za-z0-9 >> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source all Functions === +_mordu "Sourcing Functions from ~/.config/posix-common/functions.d/*." +for functions_file in "$HOME"/.config/posix-common/functions.d/*.sh; do + # shellcheck source=/dev/null + LOCATION="posix-common/functions.d/$functions_file" + . "$functions_file" +done +unset -v functions_file +LOCATION="posix-common/interactive.sh" +_mordu "Finished sourcing Functions from ~/.config/posix-common/functions.d/*." +# }}} === Source all Functions === + +# {{{ === Source all Aliases === +_mordu "Sourcing Aliases from ~/.config/posix-common/aliases.d/*." +for alias_file in "$HOME"/.config/posix-common/aliases.d/*.sh; do + # shellcheck source=/dev/null + _mordu "Sourcing $alias_file." + LOCATION="posix-common/aliases.d/$alias_file" + . "$alias_file" +done +unset -v alias_file +LOCATION="posix-common/interactive.sh" +_mordu "Finished sourcing Aliases from ~/.config/posix-common/aliases.d/*." +# }}} === Source all Aliases === + +# {{{ === LS_COLORS === +# Sauce: https://github.com/trapd00r/LS_COLORS +_mordu "Sourcing LS_COLORS from ~/.config/posix-common/lscolors.sh" +. "$HOME"/.config/posix-common/lscolors.sh +_mordu "Finished sourcing LS_COLORS from ~/.config/posix-common/lscolors.sh" +# }}} === LS_COLORS === + +# {{{ === Configure 'thefuck' as 'uwu'. === +# Pretty awesome little tool. +if [ ! "$0" = "sh" ] ; then + if command -v thefuck >/dev/null ; then + eval "$(thefuck --alias uwu)" + fi +fi +# }}} === Configure 'thefuck' as 'uwu'. === + +# {{{ === Garbage Collection === +# Last minute homedir cleanup. Just to present the user (me) with +# as 'clean' a working environment, let's check for some commonly +# left over files in HOME that shouldn't be there, and delete +# them. Files like shell_history files that were not removed yet. + +# Remove any stale .bash_history files still sitting around the homedir. +if [ -f "$HOME"/.bash_history ] ; then + _mordu "Deleting stale ~/.bash_history." + rm "$HOME"/.bash_history +fi +# }}} === Garbage Collection === + +# {{{ === Post Login Fun i.e. Fortune === +# Post-login fun. Right now just fortune, but would like other. Disabled temporarily. +#if command -v fortune > /dev/null ; then +# fortune ~/.local/share/fortunes/lotr +#fi +#fastfetch --logo-type kitty --kitty ~/.config/posix-common/fastfetch-logo.jpg --logo-height 17 --logo-padding-left 3 --logo-padding-right 1 -s Title:Separator:OS:Kernel:Packages:Processes:CPU:GPU:Memory:LocalIP:Shell:Uptime:Player:Media:Theme:Font + +fortune ~/.local/share/fortunes/lotr | lolcat +# }}} === Post Login Fun i.e. Fortune === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/login.sh b/.config/posix-common/login.sh new file mode 100644 index 0000000..75e3926 --- /dev/null +++ b/.config/posix-common/login.sh @@ -0,0 +1,36 @@ +# ~/.config/posix-common/login.sh +LOCATION="posix-common/login.sh" + +# Environment variables that don't need to be set for every terminal you open, +# put here. These envrionment variables get set once upon login and that's it. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Personal Information === +_mordu "Setting PIM data." +NAME='Lord_Devi' +EMAIL='lord@mgk.one' +export NAME EMAIL +# }}} === Personal Information === + +# {{{ === Localizations === +_mordu "Setting localization environment variables." +LANG='en_US.UTF-8' +LC_ALL=$LANG +LC_COLLATE=$LANG +LC_CTYPE=$LANG +LC_MESSAGES=$LANG +LC_MONETARY=$LANG +LC_NUMERIC=$LANG +LC_TIME=$LANG +export LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC \ + LC_TIME +# }}} === Localizations === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/logout.sh b/.config/posix-common/logout.sh new file mode 100644 index 0000000..5ee2664 --- /dev/null +++ b/.config/posix-common/logout.sh @@ -0,0 +1,17 @@ +# ~/.config/posix-common/logout.sh +LOCATION="posix-common/logout.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Clear Screen on Logout === +# When leaving the console, clear the screen to increase privacy +clear +# }}} === Clear Screen on Logout === + +_mordu "Finished processing $LOCATION." diff --git a/.config/posix-common/lscolors.sh b/.config/posix-common/lscolors.sh new file mode 100755 index 0000000..279e50a --- /dev/null +++ b/.config/posix-common/lscolors.sh @@ -0,0 +1,2 @@ +LS_COLORS='bd=38;5;68:ca=38;5;17:cd=38;5;113;1:di=38;5;30:do=38;5;127:ex=38;5;208;1:pi=38;5;126:fi=0:ln=target:mh=38;5;222;1:no=0:or=48;5;196;38;5;232;1:ow=38;5;220;1:sg=48;5;3;38;5;0:su=38;5;220;1;3;100;1:so=38;5;197:st=38;5;86;48;5;234:tw=48;5;235;38;5;139;3:*LS_COLORS=48;5;89;38;5;197;1;3;4;7:*.txt=38;5;253:*README=38;5;220;1:*README.rst=38;5;220;1:*README.md=38;5;220;1:*LICENSE=38;5;220;1:*LICENSE.md=38;5;220;1:*COPYING=38;5;220;1:*INSTALL=38;5;220;1:*COPYRIGHT=38;5;220;1:*AUTHORS=38;5;220;1:*HISTORY=38;5;220;1:*CONTRIBUTORS=38;5;220;1:*CONTRIBUTING=38;5;220;1:*CONTRIBUTING.md=38;5;220;1:*CHANGELOG=38;5;220;1:*CHANGELOG.md=38;5;220;1:*CODEOWNERS=38;5;220;1:*PATENTS=38;5;220;1:*VERSION=38;5;220;1:*NOTICE=38;5;220;1:*CHANGES=38;5;220;1:*.log=38;5;190:*.adoc=38;5;184:*.asciidoc=38;5;184:*.etx=38;5;184:*.info=38;5;184:*.markdown=38;5;184:*.md=38;5;184:*.mkd=38;5;184:*.mdx=38;5;184:*.nfo=38;5;184:*.org=38;5;184:*.norg=38;5;184:*.pod=38;5;184:*.rst=38;5;184:*.tex=38;5;184:*.textile=38;5;184:*.bib=38;5;178:*.json=38;5;178:*.jsonc=38;5;178:*.json5=38;5;178:*.hjson=38;5;178:*.jsonl=38;5;178:*.jsonnet=38;5;178:*.libsonnet=38;5;142:*.ndjson=38;5;178:*.msg=38;5;178:*.pgn=38;5;178:*.rss=38;5;178:*.xml=38;5;178:*.fxml=38;5;178:*.toml=38;5;178:*.yaml=38;5;178:*.yml=38;5;178:*.RData=38;5;178:*.rdata=38;5;178:*.xsd=38;5;178:*.dtd=38;5;178:*.sgml=38;5;178:*.rng=38;5;178:*.rnc=38;5;178:*.accdb=38;5;60:*.accde=38;5;60:*.accdr=38;5;60:*.accdt=38;5;60:*.db=38;5;60:*.fmp12=38;5;60:*.fp7=38;5;60:*.localstorage=38;5;60:*.mdb=38;5;60:*.mde=38;5;60:*.sqlite=38;5;60:*.typelib=38;5;60:*.nc=38;5;60:*.cbr=38;5;141:*.cbz=38;5;141:*.chm=38;5;141:*.djvu=38;5;141:*.pdf=38;5;141:*.PDF=38;5;141:*.mobi=38;5;141:*.epub=38;5;141:*.docm=38;5;111;4:*.doc=38;5;111:*.docx=38;5;111:*.odb=38;5;111:*.odt=38;5;111:*.rtf=38;5;111:*.pages=38;5;111:*.odp=38;5;166:*.pps=38;5;166:*.ppt=38;5;166:*.pptx=38;5;166:*.ppts=38;5;166:*.pptxm=38;5;166;4:*.pptsm=38;5;166;4:*.prisma=38;5;222:*.csv=38;5;78:*.tsv=38;5;78:*.numbers=38;5;112:*.ods=38;5;112:*.xla=38;5;76:*.xls=38;5;112:*.xlsx=38;5;112:*.xlsxm=38;5;112;4:*.xltm=38;5;73;4:*.xltx=38;5;73:*.key=38;5;166:*config=1:*cfg=1:*conf=1:*rc=1:*authorized_keys=1:*known_hosts=1:*.ini=1:*.plist=1:*.profile=1:*.bash_profile=1:*.bash_login=1:*.bash_logout=1:*.zshenv=1:*.zprofile=1:*.zlogin=1:*.zlogout=1:*.viminfo=1:*.pcf=1:*.psf=1:*.hidden-color-scheme=1:*.hidden-tmTheme=1:*.last-run=1:*.merged-ca-bundle=1:*.sublime-build=1:*.sublime-commands=1:*.sublime-keymap=1:*.sublime-settings=1:*.sublime-snippet=1:*.sublime-project=1:*.sublime-workspace=1:*.tmTheme=1:*.user-ca-bundle=1:*.rstheme=1:*.epf=1:*.git=38;5;197:*.github=38;5;197:*.gitignore=38;5;240:*.gitattributes=38;5;240:*.gitmodules=38;5;240:*.awk=38;5;172:*.bash=38;5;172:*.bat=38;5;172:*.BAT=38;5;172:*.sed=38;5;172:*.sh=38;5;172:*.zsh=38;5;172:*.fish=38;5;172:*.vim=38;5;172:*.kak=38;5;172:*.ahk=38;5;41:*.py=38;5;41:*.ipynb=38;5;41:*.xsh=38;5;41:*.rb=38;5;41:*.gemspec=38;5;41:*.pl=38;5;208:*.PL=38;5;160:*.pm=38;5;203:*.t=38;5;114:*.msql=38;5;222:*.mysql=38;5;222:*.prql=38;5;222:*.pgsql=38;5;222:*.sql=38;5;222:*.tcl=38;5;64;1:*.r=38;5;49:*.R=38;5;49:*.gs=38;5;81:*.clj=38;5;41:*.cljs=38;5;41:*.cljc=38;5;41:*.cljw=38;5;41:*.scala=38;5;41:*.sc=38;5;41:*.dart=38;5;51:*.asm=38;5;81:*.cl=38;5;81:*.ml=38;5;81:*.lisp=38;5;81:*.rkt=38;5;81:*.el=38;5;81:*.elc=38;5;241:*.eln=38;5;241:*.lua=38;5;81:*.moon=38;5;81:*.c=38;5;81:*.C=38;5;81:*.h=38;5;110:*.H=38;5;110:*.tcc=38;5;110:*.c++=38;5;81:*.h++=38;5;110:*.hpp=38;5;110:*.hxx=38;5;110:*.ii=38;5;110:*.M=38;5;110:*.m=38;5;110:*.cc=38;5;81:*.cs=38;5;81:*.cp=38;5;81:*.cpp=38;5;81:*.cxx=38;5;81:*.cr=38;5;81:*.go=38;5;81:*.f=38;5;81:*.F=38;5;81:*.for=38;5;81:*.ftn=38;5;81:*.f90=38;5;81:*.F90=38;5;81:*.f95=38;5;81:*.F95=38;5;81:*.f03=38;5;81:*.F03=38;5;81:*.f08=38;5;81:*.F08=38;5;81:*.nim=38;5;81:*.nimble=38;5;81:*.s=38;5;110:*.S=38;5;110:*.rs=38;5;81:*.scpt=38;5;219:*.swift=38;5;219:*.sx=38;5;81:*.vala=38;5;81:*.vapi=38;5;81:*.hi=38;5;110:*.hs=38;5;81:*.lhs=38;5;81:*.agda=38;5;81:*.lagda=38;5;81:*.lagda.tex=38;5;81:*.lagda.rst=38;5;81:*.lagda.md=38;5;81:*.agdai=38;5;110:*.zig=38;5;81:*.v=38;5;81:*.pyc=38;5;240:*.tf=38;5;168:*.tfstate=38;5;168:*.tfvars=38;5;168:*.http=38;5;90;1:*.eml=38;5;90;1:*.css=38;5;105;1:*.less=38;5;105;1:*.sass=38;5;105;1:*.scss=38;5;105;1:*.htm=38;5;125;1:*.html=38;5;125;1:*.jhtm=38;5;125;1:*.mht=38;5;125;1:*.mustache=38;5;135;1:*.ejs=38;5;135;1:*.pug=38;5;135;1:*.svelte=38;5;135;1:*.vue=38;5;135;1:*.astro=38;5;135;1:*.js=38;5;074;1:*.jsx=38;5;074;1:*.ts=38;5;074;1:*.tsx=38;5;074;1:*.mjs=38;5;074;1:*.cjs=38;5;074;1:*.coffee=38;5;079;1:*.java=38;5;079;1:*.jsm=38;5;079;1:*.jsp=38;5;079;1:*.php=38;5;81:*.ctp=38;5;81:*.twig=38;5;81:*.vb=38;5;81:*.vba=38;5;81:*.vbs=38;5;81:*Containerfile=38;5;155:*.containerignore=38;5;240:*Dockerfile=38;5;155:*.dockerignore=38;5;240:*Makefile=38;5;155:*MANIFEST=38;5;243:*pm_to_blib=38;5;240:*.nix=38;5;155:*.dhall=38;5;178:*.rake=38;5;155:*.am=38;5;242:*.in=38;5;242:*.hin=38;5;242:*.scan=38;5;242:*.m4=38;5;242:*.old=38;5;242:*.out=38;5;242:*.SKIP=38;5;244:*.diff=48;5;197;38;5;232:*.patch=48;5;197;38;5;232;1:*.bmp=38;5;97:*.dicom=38;5;97:*.tiff=38;5;97:*.tif=38;5;97:*.TIFF=38;5;97:*.cdr=38;5;97:*.flif=38;5;97:*.gif=38;5;97:*.icns=38;5;97:*.ico=38;5;97:*.jpeg=38;5;97:*.JPG=38;5;97:*.jpg=38;5;97:*.jxl=38;5;97:*.nth=38;5;97:*.png=38;5;97:*.psd=38;5;97:*.pxd=38;5;97:*.pxm=38;5;97:*.xpm=38;5;97:*.webp=38;5;97:*.ai=38;5;99:*.eps=38;5;99:*.epsf=38;5;99:*.drw=38;5;99:*.ps=38;5;99:*.svg=38;5;99:*.avi=38;5;114:*.divx=38;5;114:*.IFO=38;5;114:*.m2v=38;5;114:*.m4v=38;5;114:*.mkv=38;5;114:*.MOV=38;5;114:*.mov=38;5;114:*.mp4=38;5;114:*.mpeg=38;5;114:*.mpg=38;5;114:*.ogm=38;5;114:*.rmvb=38;5;114:*.sample=38;5;114:*.wmv=38;5;114:*.3g2=38;5;115:*.3gp=38;5;115:*.gp3=38;5;115:*.webm=38;5;115:*.gp4=38;5;115:*.asf=38;5;115:*.flv=38;5;115:*.ogv=38;5;115:*.f4v=38;5;115:*.VOB=38;5;115;1:*.vob=38;5;115;1:*.ass=38;5;117:*.srt=38;5;117:*.ssa=38;5;117:*.sub=38;5;117:*.sup=38;5;117:*.vtt=38;5;117:*.3ga=38;5;137;1:*.S3M=38;5;137;1:*.aac=38;5;137;1:*.amr=38;5;137;1:*.au=38;5;137;1:*.caf=38;5;137;1:*.dat=38;5;137;1:*.dts=38;5;137;1:*.fcm=38;5;137;1:*.m4a=38;5;137;1:*.mod=38;5;137;1:*.mp3=38;5;137;1:*.mp4a=38;5;137;1:*.oga=38;5;137;1:*.ogg=38;5;137;1:*.opus=38;5;137;1:*.s3m=38;5;137;1:*.sid=38;5;137;1:*.wma=38;5;137;1:*.ape=38;5;136;1:*.aiff=38;5;136;1:*.cda=38;5;136;1:*.flac=38;5;136;1:*.alac=38;5;136;1:*.mid=38;5;136;1:*.midi=38;5;136;1:*.pcm=38;5;136;1:*.wav=38;5;136;1:*.wv=38;5;136;1:*.wvc=38;5;136;1:*.afm=38;5;66:*.fon=38;5;66:*.fnt=38;5;66:*.pfb=38;5;66:*.pfm=38;5;66:*.ttf=38;5;66:*.otf=38;5;66:*.woff=38;5;66:*.woff2=38;5;66:*.PFA=38;5;66:*.pfa=38;5;66:*.7z=38;5;40:*.a=38;5;40:*.arj=38;5;40:*.br=38;5;40:*.bz2=38;5;40:*.cpio=38;5;40:*.gz=38;5;40:*.lrz=38;5;40:*.lz=38;5;40:*.lzma=38;5;40:*.lzo=38;5;40:*.rar=38;5;40:*.s7z=38;5;40:*.sz=38;5;40:*.tar=38;5;40:*.tbz=38;5;40:*.tgz=38;5;40:*.warc=38;5;40:*.WARC=38;5;40:*.xz=38;5;40:*.z=38;5;40:*.zip=38;5;40:*.zipx=38;5;40:*.zoo=38;5;40:*.zpaq=38;5;40:*.zst=38;5;40:*.zstd=38;5;40:*.zz=38;5;40:*.apk=38;5;215:*.ipa=38;5;215:*.deb=38;5;215:*.rpm=38;5;215:*.jad=38;5;215:*.jar=38;5;215:*.ear=38;5;215:*.war=38;5;215:*.cab=38;5;215:*.pak=38;5;215:*.pk3=38;5;215:*.vdf=38;5;215:*.vpk=38;5;215:*.bsp=38;5;215:*.dmg=38;5;215:*.crx=38;5;215:*.xpi=38;5;215:*.iso=38;5;124:*.img=38;5;124:*.bin=38;5;124:*.nrg=38;5;124:*.qcow=38;5;124:*.fvd=38;5;124:*.sparseimage=38;5;124:*.toast=38;5;124:*.vcd=38;5;124:*.vdi=38;5;124:*.vhd=38;5;124:*.vhdx=38;5;124:*.vfd=38;5;124:*.vmdk=38;5;124:*.swp=38;5;244:*.swo=38;5;244:*.tmp=38;5;244:*.sassc=38;5;244:*.pacnew=38;5;33:*.un~=38;5;241:*.orig=38;5;241:*.BUP=38;5;241:*.bak=38;5;241:*.o=38;5;241:*core=38;5;241:*.mdump=38;5;241:*.rlib=38;5;241:*.dll=38;5;241:*.aria2=38;5;241:*.dump=38;5;241:*.stackdump=38;5;241:*.zcompdump=38;5;241:*.zwc=38;5;241:*.part=38;5;239:*.r[0-9]{0,2}=38;5;239:*.zx[0-9]{0,2}=38;5;239:*.z[0-9]{0,2}=38;5;239:*.pid=38;5;248:*.state=38;5;248:*lockfile=38;5;248:*lock=38;5;248:*.err=38;5;160;1:*.error=38;5;160;1:*.stderr=38;5;160;1:*.pcap=38;5;29:*.cap=38;5;29:*.dmp=38;5;29:*.allow=38;5;112:*.deny=38;5;196:*.service=38;5;45:*@.service=38;5;45:*.socket=38;5;45:*.swap=38;5;45:*.device=38;5;45:*.mount=38;5;45:*.automount=38;5;45:*.target=38;5;45:*.path=38;5;45:*.timer=38;5;45:*.snapshot=38;5;45:*.lnk=38;5;39:*.application=38;5;116:*.cue=38;5;116:*.description=38;5;116:*.directory=38;5;116:*.m3u=38;5;116:*.m3u8=38;5;116:*.md5=38;5;116:*.properties=38;5;116:*.sfv=38;5;116:*.theme=38;5;116:*.torrent=38;5;116:*.urlview=38;5;116:*.webloc=38;5;116:*.asc=38;5;192;3:*.bfe=38;5;192;3:*.enc=38;5;192;3:*.gpg=38;5;192;3:*.signature=38;5;192;3:*.sig=38;5;192;3:*.p12=38;5;192;3:*.pem=38;5;192;3:*.pgp=38;5;192;3:*.p7s=38;5;192;3:*id_dsa=38;5;192;3:*id_rsa=38;5;192;3:*id_ecdsa=38;5;192;3:*id_ed25519=38;5;192;3:*.32x=38;5;213:*.cdi=38;5;213:*.fm2=38;5;213:*.rom=38;5;213:*.sav=38;5;213:*.st=38;5;213:*.a00=38;5;213:*.a52=38;5;213:*.A64=38;5;213:*.a64=38;5;213:*.a78=38;5;213:*.adf=38;5;213:*.atr=38;5;213:*.gb=38;5;213:*.gba=38;5;213:*.gbc=38;5;213:*.gel=38;5;213:*.gg=38;5;213:*.ggl=38;5;213:*.ipk=38;5;213:*.j64=38;5;213:*.nds=38;5;213:*.nes=38;5;213:*.sms=38;5;213:*.8xp=38;5;121:*.8eu=38;5;121:*.82p=38;5;121:*.83p=38;5;121:*.8xe=38;5;121:*.stl=38;5;216:*.dwg=38;5;216:*.ply=38;5;216:*.wrl=38;5;216:*.vert=38;5;136:*.comp=38;5;136:*.frag=38;5;136:*.spv=38;5;217:*.wgsl=38;5;97:*.xib=38;5;208:*.iml=38;5;166:*.DS_Store=38;5;239:*.localized=38;5;239:*.CFUserTextEncoding=38;5;239:*CodeResources=38;5;239:*PkgInfo=38;5;239:*.nib=38;5;57:*.car=38;5;57:*.dylib=38;5;241:*.entitlements=1:*.pbxproj=1:*.strings=1:*.storyboard=38;5;196:*.xcconfig=1:*.xcsettings=1:*.xcuserstate=1:*.xcworkspacedata=1:*.pot=38;5;7:*.pcb=38;5;7:*.mm=38;5;7:*.gbr=38;5;7:*.scm=38;5;7:*.xcf=38;5;7:*.spl=38;5;7:*.Rproj=38;5;11:*.sis=38;5;7:*.1p=38;5;7:*.3p=38;5;7:*.cnc=38;5;7:*.def=38;5;7:*.ex=38;5;7:*.example=38;5;7:*.feature=38;5;7:*.ger=38;5;7:*.ics=38;5;7:*.map=38;5;7:*.mf=38;5;7:*.mfasl=38;5;7:*.mi=38;5;7:*.mtx=38;5;7:*.pc=38;5;7:*.pi=38;5;7:*.plt=38;5;7:*.rdf=38;5;7:*.ru=38;5;7:*.sch=38;5;7:*.sty=38;5;7:*.sug=38;5;7:*.tdy=38;5;7:*.tfm=38;5;7:*.tfnt=38;5;7:*.tg=38;5;7:*.vcard=38;5;7:*.vcf=38;5;7:*.xln=38;5;7:'; +export LS_COLORS diff --git a/.config/posix-common/profile.sh b/.config/posix-common/profile.sh new file mode 100644 index 0000000..1cc5175 --- /dev/null +++ b/.config/posix-common/profile.sh @@ -0,0 +1,31 @@ +# ~/.config/posix-common/profile.sh +LOCATION="posix-common/profile.sh" + +# Sourced by 'sh', or bash in 'sh' compatability mode. +# WARNING: if you delete .bash_profile, this file becomes part of bash's startup +# sequence, which means this file suddenly has to cater for two different +# shells. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source env.sh === +_mordu "Sourcing Env Vars from ~/.config/sh/env.sh." +. "$HOME"/.config/sh/env.sh +LOCATION="posix-common/profile.sh" +_mordu "Finished sourcing Env Vars from ~/.config/sh/env.sh." +# }}} === Source env.sh === + +# {{{ === Source login.sh === +_mordu "Sourcing Login Shell settings from ~/.config/sh/login.sh." +. "$HOME"/.config/sh/login.sh +LOCATION="posix-common/profile.sh" +_mordu "Finished sourcing Login Shell settings from ~/.config/sh/login.sh." +# }}} === Source login.sh === + +_mordu "Finished processing $LOCATION." diff --git a/.config/readline/inputrc b/.config/readline/inputrc new file mode 100644 index 0000000..26f015e --- /dev/null +++ b/.config/readline/inputrc @@ -0,0 +1,19 @@ +# Vi mode for all the readline apps. +$include /etc/inputrc + +TAB:complete +set editing-mode vi + +"\C-p":history-search-backward +"\C-n":history-search-forward + +set bell-style none +set colored-stats On +set completion-ignore-case On +set completion-prefix-display-length 3 +set disable-completion Off +set mark-symlinked-directories On +set show-all-if-ambiguous On +set show-all-if-unmodified On +set visible-stats On + diff --git a/.config/sh/env.sh b/.config/sh/env.sh new file mode 100644 index 0000000..597b863 --- /dev/null +++ b/.config/sh/env.sh @@ -0,0 +1,22 @@ +# ~/.config/sh/env.sh +LOCATION="sh/env.sh" + +# WARNING: this will not be run for non-login, non-env.shells. + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common env.sh === +_mordu "Sourcing Env Vars from ~/.config/posix-common/env.sh." +# Run ~/.config/posix-common/env.sh, to get $ENV. +. "$HOME"/.config/posix-common/env.sh +LOCATION="sh/env.sh" +_mordu "Finished sourcing Env Vars from ~/.config/posix-common/env.sh." +# }}} === Source Posix Common env.sh === + +_mordu "Finished processing $LOCATION." diff --git a/.config/sh/interactive.sh b/.config/sh/interactive.sh new file mode 100644 index 0000000..600ba03 --- /dev/null +++ b/.config/sh/interactive.sh @@ -0,0 +1,65 @@ +# ~/.config/sh/interactive.sh +LOCATION="sh/interactive.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common interactive.sh === +_mordu "Sourcing Interactive Shell settings from ~/.config/posix-common/interactive.sh." +. "$HOME"/.config/posix-common/interactive.sh +LOCATION="sh/interactive.sh" +_mordu "Finished sourcing Interactive Shell settings from ~/.config/posix-common/interactive.sh." +# }}} === Source Posix Common interactive.sh === + +# {{{ === FreeBSD Tweaks === +# Some FreeBSD related sh(1) nicities. +# Let sh(1) know it's at home, despite /home being a symlink. +# shellcheck disable=SC3000-SC4000 +if [ "$PWD" != "$HOME" ] && [ "$PWD" -ef "$HOME" ] ; then cd || exit ; fi + +# Query terminal size; useful for serial lines. +if [ -x /usr/bin/resizewin ] ; then /usr/bin/resizewin -z ; fi +# }}} === FreeBSD Tweaks === + +# {{{ === Configure the HISTFILE for sh === +# Set HISTFILE. Normally I put this in env.sh or similar, but +# ~/.config/sh/env.sh doesn't get called by interactive sh shells, +# and I want it to be. +_mordu "Setting HISTFILE to avoid homedir spam." +if [ -d "$HOME"/.local/share/sh/ ] ; then + _mordu "$HOME/.local/share/sh/ not found. Creating." + mkdir -p "$HOME"/.local/share/sh +fi +HISTFILE="$HOME/.local/share/sh/$(echo "$HOST"|sed 's/\./_/g')_sh_history" +export HISTFILE +# }}} === Configure the HISTFILE for sh === + +# {{{ === Sourcing prompt.sh === +_mordu "Sourcing sh prompt from ~/.config/sh/prompt.sh." +. "$HOME"/.config/sh/prompt.sh +LOCATION="sh/interactive.sh" +_mordu "Finished sourcing sh prompt from ~/.config/sh/prompt.sh." +# }}} === Sourcing prompt.sh === + +# {{{ === Enable vi mode for 'sh' === +# This had a surprise for me when bash's sh emulation mode is +# being used for 'sh'. Bash (sh) disables TAB completion when set +# to vi mode. So we have to rebind completion to TAB. But 'bind' +# is not available on Ksh, which also uses our 'sh' scripts for +# this level of init. So we need to have a conditional testing +# for bind first. Then if it is available, we can go ahead and +# tell it to ensure TAB is properly calling the completion +# framework for bash. +# Update: Can't actually get 'bind TAB:complete" to work! It works +# fine in a live shell, but when that same shell calls this from an +# init script: no go. +_mordu "Enabling Vi mode for command line." +set -o vi +# }}} === Enable vi mode for 'sh' === + +_mordu "Finished processing $LOCATION." diff --git a/.config/sh/login.sh b/.config/sh/login.sh new file mode 100644 index 0000000..2567d9e --- /dev/null +++ b/.config/sh/login.sh @@ -0,0 +1,19 @@ +# ~/.config/sh/login.sh +LOCATION="sh/login.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Sourcing Posix Common login.sh === +_mordu "Sourcing Login Shell settings from ~/.config/posix-common/login.sh." +. "$HOME"/.config/posix-common/login.sh +LOCATION="sh/login.sh" +_mordu "Finished sourcing Login Shell settings from ~/.config/posix-common/login.sh." +# }}} === Sourcing Posix Common login.sh === + +_mordu "Finished processing $LOCATION." diff --git a/.config/sh/prompt.sh b/.config/sh/prompt.sh new file mode 100644 index 0000000..8517d16 --- /dev/null +++ b/.config/sh/prompt.sh @@ -0,0 +1,28 @@ +# ~/.config/sh/prompt.sh +LOCATION="sh/prompt.sh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +_mordu() { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Setup Starship as Prompt (with fallback) === +if command -v starship >/dev/null ; then + _mordu "Starship found. Setting as shell prompt." + STATUS=$? + NUM_JOBS=$(jobs -p | wc -l) + PS1="$(starship prompt --status="$STATUS" --jobs="$NUM_JOBS")" +else + _mordu "Starship not found. Falling back to plain prompt." + # Basic plain prompt. + HOST=$(uname -n) + export HOST + PS1='[$USER@$HOST:$PWD]\n(sh) $ ' + export PS1 +fi +# }}} === Setup Starship as Prompt (with fallback) === + +_mordu "Finished processing $LOCATION." diff --git a/.config/zsh/.zcompcache/RPMs b/.config/zsh/.zcompcache/RPMs new file mode 100644 index 0000000..0fea997 --- /dev/null +++ b/.config/zsh/.zcompcache/RPMs @@ -0,0 +1,4 @@ +_rpms=( ${(Q)"${(z)$(<<\EO:_rpms +'fonts-filesystem-2.0.5-14.fc40.noarch' 'xkeyboard-config-2.41-1.fc40.noarch' 'libreport-filesystem-2.17.15-1.fc40.noarch' 'hunspell-filesystem-1.7.2-7.fc40.x86_64' 'google-noto-fonts-common-20240301-2.fc40.noarch' 'google-noto-sans-vf-fonts-20240301-2.fc40.noarch' 'abattis-cantarell-vf-fonts-0.301-12.fc40.noarch' 'setup-2.14.5-2.fc40.noarch' 'filesystem-3.18-8.fc40.x86_64' 'efi-filesystem-5-11.fc40.noarch' 'basesystem-11-20.fc40.noarch' 'google-noto-sans-mono-vf-fonts-20240301-2.fc40.noarch' 'google-noto-serif-vf-fonts-20240301-2.fc40.noarch' 'whois-nls-5.5.20-3.fc40.noarch' 'quota-nls-4.09-5.fc40.noarch' 'publicsuffix-list-dafsa-20240107-3.fc40.noarch' 'pkgconf-m4-2.1.0-1.fc40.noarch' 'pcre2-syntax-10.42-2.fc40.2.noarch' 'ncurses-base-6.4-12.20240127.fc40.noarch' 'ncurses-libs-6.4-12.20240127.fc40.x86_64' 'bash-5.2.26-3.fc40.x86_64' 'xz-libs-5.4.6-3.fc40.x86_64' 'popt-1.19-6.fc40.x86_64' 'json-c-0.17-3.fc40.x86_64' 'bzip2-libs-1.0.8-18.fc40.x86_64' 'elfutils-libelf-0.191-4.fc40.x86_64' 'readline-8.2-8.fc40.x86_64' 'libcom_err-1.47.0-5.fc40.x86_64' 'libxcrypt-4.4.36-5.fc40.x86_64' 'gmp-6.2.1-8.fc40.x86_64' 'keyutils-libs-1.6.3-3.fc40.x86_64' 'libcap-ng-0.8.4-4.fc40.x86_64' 'audit-libs-4.0.1-1.fc40.x86_64' 'pcre2-10.42-2.fc40.2.x86_64' 'grep-3.11-7.fc40.x86_64' 'libtalloc-2.4.2-1.fc40.x86_64' 'sqlite-libs-3.45.1-2.fc40.x86_64' 'jansson-2.13.1-9.fc40.x86_64' 'libunistring-1.1-7.fc40.x86_64' 'libidn2-2.3.7-1.fc40.x86_64' 'libffi-3.4.4-7.fc40.x86_64' 'libmnl-1.0.5-5.fc40.x86_64' 'libnl3-3.9.0-3.fc40.x86_64' 'lz4-libs-1.9.4-6.fc40.x86_64' 'libtevent-0.16.1-1.fc40.x86_64' 'nettle-3.9.1-6.fc40.x86_64' 'gdbm-libs-1.23-6.fc40.x86_64' 'libattr-2.5.2-3.fc40.x86_64' 'libacl-2.3.2-1.fc40.x86_64' 'libsepol-3.6-3.fc40.x86_64' 'libselinux-3.6-4.fc40.x86_64' 'sed-4.9-1.fc40.x86_64' 'libtasn1-4.19.0-6.fc40.x86_64' 'p11-kit-0.25.3-4.fc40.x86_64' 'libtdb-1.4.10-1.fc40.x86_64' 'augeas-libs-1.13.0-7.fc40.x86_64' 'findutils-4.9.0-8.fc40.x86_64' 'libsemanage-3.6-3.fc40.x86_64' 'e2fsprogs-libs-1.47.0-5.fc40.x86_64' 'libref_array-0.1.5-56.fc40.x86_64' 'libyaml-0.2.5-14.fc40.x86_64' 'protobuf-c-1.5.0-3.fc40.x86_64' 'p11-kit-trust-0.25.3-4.fc40.x86_64' 'libgcrypt-1.10.3-3.fc40.x86_64' 'libpsl-0.21.5-3.fc40.x86_64' 'gawk-5.3.0-3.fc40.x86_64' 'cpio-2.15-1.fc40.x86_64' 'libaio-0.3.111-19.fc40.x86_64' 'libbasicobjects-0.1.1-56.fc40.x86_64' 'libbrotli-1.1.0-3.fc40.x86_64' 'libcollection-0.7.0-56.fc40.x86_64' 'libdhash-0.5.0-56.fc40.x86_64' 'dbus-libs-1.14.10-3.fc40.x86_64' 'libatasmart-0.19-28.fc40.x86_64' 'libverto-0.3.2-8.fc40.x86_64' 'lua-libs-5.4.6-5.fc40.x86_64' 'lzo-2.10-12.fc40.x86_64' 'userspace-rcu-0.14.0-4.fc40.x86_64' 'libselinux-utils-3.6-4.fc40.x86_64' 'cyrus-sasl-lib-2.1.28-19.fc40.x86_64' 'libnftnl-1.2.6-5.fc40.x86_64' 'libassuan-2.5.7-1.fc40.x86_64' 'keyutils-1.6.3-3.fc40.x86_64' 'libbpf-1.2.0-3.fc40.x86_64' 'libxkbcommon-1.6.0-2.fc40.x86_64' 'hunspell-en-GB-0.20201207-9.fc40.noarch' 'hunspell-en-0.20201207-9.fc40.noarch' 'hunspell-en-US-0.20201207-9.fc40.noarch' 'hunspell-1.7.2-7.fc40.x86_64' 'libicu-74.2-1.fc40.x86_64' 'file-libs-5.45-4.fc40.x86_64' 'file-5.45-4.fc40.x86_64' 'libpng-1.6.40-3.fc40.x86_64' 'diffutils-3.10-5.fc40.x86_64' 'duktape-2.7.0-7.fc40.x86_64' 'efivar-libs-39-1.fc40.x86_64' 'fuse-libs-2.9.9-21.fc40.x86_64' 'libcbor-0.11.0-1.fc40.x86_64' 'libpasswdqc-2.0.3-4.fc40.x86_64' 'ntfs-3g-libs-2022.10.3-5.fc40.x86_64' 'pcsc-lite-libs-2.0.3-1.fc40.x86_64' 'xxhash-libs-0.8.2-2.fc40.x86_64' 'ntfs-3g-2022.10.3-5.fc40.x86_64' 'pam_passwdqc-2.0.3-4.fc40.x86_64' 'passwdqc-utils-2.0.3-4.fc40.x86_64' 'ipcalc-1.0.3-9.fc40.x86_64' 'libb2-0.98.1-11.fc40.x86_64' 'squashfs-tools-4.6.1-4.fc40.x86_64' 'ctags-6.0.0-5.fc40.x86_64' 'source-highlight-3.1.9-22.fc40.x86_64' 'dbus-tools-1.14.10-3.fc40.x86_64' 'procps-ng-4.0.4-3.fc40.x86_64' 'libbytesize-2.10-3.fc40.x86_64' 'gettext-libs-0.22.5-2.fc40.x86_64' 'gdbm-1.23-6.fc40.x86_64' 'libcomps-0.1.20-5.fc40.x86_64' 'iw-6.7-2.fc40.x86_64' 'libibverbs-48.0-4.fc40.x86_64' 'libpcap-1.10.4-4.fc40.x86_64' 'libnl3-cli-3.9.0-3.fc40.x86_64' 'libksba-1.6.6-1.fc40.x86_64' 'xz-5.4.6-3.fc40.x86_64' 'groff-base-1.23.0-6.fc40.x86_64' 'libss-1.47.0-5.fc40.x86_64' 'e2fsprogs-1.47.0-5.fc40.x86_64' 'unzip-6.0-63.fc40.x86_64' 'xml-common-0.6.3-63.fc40.noarch' 'graphite2-1.3.14-15.fc40.x86_64' 'snappy-1.1.10-4.fc40.x86_64' 'tcl-8.6.13-2.fc40.x86_64' 'dbus-common-1.14.10-3.fc40.noarch' 'dbus-1.14.10-3.fc40.x86_64' 'hostname-3.23-12.fc40.x86_64' 'jemalloc-5.3.0-6.fc40.x86_64' 'less-643-4.fc40.x86_64' 'psmisc-23.6-6.fc40.x86_64' 'checkpolicy-3.6-3.fc40.x86_64' 'device-mapper-persistent-data-1.0.12-1.fc40.x86_64' 'dosfstools-4.2-11.fc40.x86_64' 'fstrm-0.6.1-10.fc40.x86_64' 'gettext-envsubst-0.22.5-2.fc40.x86_64' 'gettext-runtime-0.22.5-2.fc40.x86_64' 'gpm-libs-1.20.7-46.fc40.x86_64' 'inih-58-1.fc40.x86_64' 'xfsprogs-6.5.0-3.fc40.x86_64' 'libXau-1.0.11-6.fc40.x86_64' 'libdaemon-0.14-29.fc40.x86_64' 'libestr-0.1.11-9.fc40.x86_64' 'libev-4.33-11.fc40.x86_64' 'libverto-libev-0.3.2-8.fc40.x86_64' 'libfastjson-1.2304.0-4.fc40.x86_64' 'libipt-2.1-3.fc40.x86_64' 'libndp-1.8-9.fc40.x86_64' 'libnfnetlink-1.0.1-27.fc40.x86_64' 'libnetfilter_conntrack-1.0.9-5.fc40.x86_64' 'iptables-libs-1.8.10-7.fc40.x86_64' 'nftables-1.0.9-3.fc40.x86_64' 'libpath_utils-0.2.1-56.fc40.x86_64' 'libini_config-1.3.1-56.fc40.x86_64' 'libpipeline-1.5.7-5.fc40.x86_64' 'libpkgconf-2.1.0-1.fc40.x86_64' 'pkgconf-2.1.0-1.fc40.x86_64' 'pkgconf-pkg-config-2.1.0-1.fc40.x86_64' 'libstemmer-2.2.0-10.fc40.x86_64' 'libtool-ltdl-2.4.7-10.fc40.x86_64' 'liburing-2.5-3.fc40.x86_64' 'libuv-1.48.0-1.fc40.x86_64' 'mpdecimal-2.5.1-9.fc40.x86_64' 'npth-1.7-1.fc40.x86_64' 'numactl-libs-2.0.16-5.fc40.x86_64' 'oniguruma-6.9.9-3.fc40.x86_64' 'libssh-config-0.10.6-5.fc40.noarch' 'libXext-1.3.6-1.fc40.x86_64' 'libXrender-0.9.11-6.fc40.x86_64' 'kbd-misc-2.6.4-3.fc40.noarch' 'kbd-legacy-2.6.4-3.fc40.noarch' 'kbd-2.6.4-3.fc40.x86_64' 'dhcp-common-4.4.3-13.P1.fc40.noarch' 'coreutils-common-9.4-6.fc40.x86_64' 'json-glib-1.8.0-3.fc40.x86_64' 'libgudev-238-5.fc40.x86_64' 'polkit-libs-124-2.fc40.x86_64' 'python-pip-wheel-23.3.2-1.fc40.noarch' 'libevent-2.1.12-12.fc40.x86_64' 'libfprint-1.94.6-1.fc40.x86_64' 'fprintd-1.94.2-11.fc40.x86_64' 'libssh-0.10.6-5.fc40.x86_64' 'openldap-2.6.7-1.fc40.x86_64' 'libkcapi-1.4.0-10.fc40.x86_64' 'libkcapi-hmaccalc-1.4.0-10.fc40.x86_64' 'krb5-libs-1.21.2-5.fc40.x86_64' 'libtirpc-1.3.4-1.rc3.fc40.x86_64' 'libnsl2-2.0.1-1.fc40.x86_64' 'fprintd-pam-1.94.2-11.fc40.x86_64' 'kpartx-0.9.7-7.fc40.x86_64' 'device-mapper-1.02.197-1.fc40.x86_64' 'device-mapper-libs-1.02.197-1.fc40.x86_64' 'elfutils-default-yama-scope-0.191-4.fc40.noarch' 'cracklib-dicts-2.9.11-5.fc40.x86_64' 'cracklib-2.9.11-5.fc40.x86_64' 'libpwquality-1.4.5-9.fc40.x86_64' 'gzip-1.13-1.fc40.x86_64' 'elfutils-debuginfod-client-0.191-4.fc40.x86_64' 'elfutils-libs-0.191-4.fc40.x86_64' 'authselect-1.5.0-5.fc40.x86_64' 'libutempter-1.2.1-13.fc40.x86_64' 'authselect-libs-1.5.0-5.fc40.x86_64' 'coreutils-9.4-6.fc40.x86_64' 'ca-certificates-2023.2.62_v7.0.401-6.fc40.noarch' 'openssl-libs-3.2.1-2.fc40.x86_64' 'kmod-libs-31-5.fc40.x86_64' 'kmod-31-5.fc40.x86_64' 'libfido2-1.14.0-4.fc40.x86_64' 'grubby-8.40-75.fc40.x86_64' 'os-prober-1.81-6.fc40.x86_64' 'polkit-124-2.fc40.x86_64' 'polkit-pkla-compat-0.1-28.fc40.x86_64' 'python3-dbus-1.3.2-6.fc40.x86_64' 'python3-systemd-235-9.fc40.x86_64' 'libmbim-1.30.0-3.fc40.x86_64' 'logrotate-3.21.0-6.fc40.x86_64' 'device-mapper-event-libs-1.02.197-1.fc40.x86_64' 'python3-libselinux-3.6-4.fc40.x86_64' 'ModemManager-glib-1.22.0-3.fc40.x86_64' 'libqrtr-glib-1.2.2-5.fc40.x86_64' 'libudisks2-2.10.1-5.fc40.x86_64' 'libqmi-1.34.0-5.fc40.x86_64' 'pcsc-lite-ccid-1.5.5-3.fc40.x86_64' 'pcsc-lite-2.0.3-1.fc40.x86_64' 'gnupg2-2.4.4-1.fc40.x86_64' 'gpgme-1.23.2-3.fc40.x86_64' 'openssh-9.6p1-1.fc40.2.x86_64' 'crontabs-1.11^20190603git9e74f2d-3.fc40.noarch' 'cronie-1.7.1-1.fc40.x86_64' 'cronie-anacron-1.7.1-1.fc40.x86_64' 'audit-rules-4.0.1-1.fc40.x86_64' 'audit-4.0.1-1.fc40.x86_64' 'iputils-20240117-4.fc40.x86_64' 'libnvme-1.8-1.fc40.x86_64' 'zchunk-libs-1.4.0-2.fc40.x86_64' 'iptables-nft-1.8.10-7.fc40.x86_64' 'which-2.21-41.fc40.x86_64' 'python3-audit-4.0.1-1.fc40.x86_64' 'python3-distro-1.9.0-3.fc40.noarch' 'python3-urllib3-1.26.18-3.fc40.noarch' 'python3-six-1.16.0-14.fc40.noarch' 'python3-dasbus-1.7-6.fc40.noarch' 'python3-dateutil-2.8.2-13.fc40.noarch' 'libjcat-0.2.1-2.fc40.x86_64' 'volume_key-libs-0.3.12-21.fc40.x86_64' 'libqmi-utils-1.34.0-5.fc40.x86_64' 'python3-libsemanage-3.6-3.fc40.x86_64' 'device-mapper-event-1.02.197-1.fc40.x86_64' 'lvm2-libs-2.03.23-1.fc40.x86_64' 'lvm2-2.03.23-1.fc40.x86_64' 'libmbim-utils-1.30.0-3.fc40.x86_64' 'ModemManager-1.22.0-3.fc40.x86_64' 'elfutils-0.191-4.fc40.x86_64' 'gssproxy-0.9.2-3.fc40.x86_64' 'mdadm-4.2-8.fc40.x86_64' 'rpcbind-1.2.6-4.rc3.fc40.x86_64' 'usb_modeswitch-2.6.1-10.fc40.x86_64' 'usb_modeswitch-data-20191128-11.fc40.noarch' 'wireless-regdb-2024.01.23-1.fc40.noarch' 'wpa_supplicant-2.10-10.fc40.x86_64' 'ima-evm-utils-1.5-4.fc40.x86_64' 'isns-utils-libs-0.101-9.fc40.x86_64' 'iscsi-initiator-utils-iscsiuio-6.2.1.9-20.gita65a472.fc40.x86_64' 'iscsi-initiator-utils-6.2.1.9-20.gita65a472.fc40.x86_64' 'libfsverity-1.4-12.fc40.x86_64' 'mokutil-0.7.1-1.fc40.x86_64' 'openssl-3.2.1-2.fc40.x86_64' 'rpm-libs-4.19.1.1-1.fc40.x86_64' 'satyr-0.43-2.fc40.x86_64' 'libreport-2.17.15-1.fc40.x86_64' 'abrt-libs-2.17.5-1.fc40.x86_64' 'libreport-web-2.17.15-1.fc40.x86_64' 'libreport-plugin-ureport-2.17.15-1.fc40.x86_64' 'libreport-plugin-kerneloops-2.17.15-1.fc40.x86_64' 'libreport-cli-2.17.15-1.fc40.x86_64' 'libreport-fedora-2.17.15-1.fc40.x86_64' 'libreport-plugin-logger-2.17.15-1.fc40.x86_64' 'libreport-plugin-systemd-journal-2.17.15-1.fc40.x86_64' 'python3-satyr-0.43-2.fc40.x86_64' 'rpm-4.19.1.1-1.fc40.x86_64' 'policycoreutils-3.6-3.fc40.x86_64' 'rpm-build-libs-4.19.1.1-1.fc40.x86_64' 'rpm-sign-libs-4.19.1.1-1.fc40.x86_64' 'python3-rpm-4.19.1.1-1.fc40.x86_64' 'cairo-1.18.0-3.fc40.x86_64' 'freetype-2.13.2-5.fc40.x86_64' 'libbabeltrace-1.5.11-7.fc40.x86_64' 'device-mapper-multipath-libs-0.9.7-7.fc40.x86_64' 'device-mapper-multipath-0.9.7-7.fc40.x86_64' 'quota-4.09-5.fc40.x86_64' 'python3-charset-normalizer-3.3.2-3.fc40.noarch' 'python3-requests-2.31.0-3.fc40.noarch' 'python3-libcomps-0.1.20-5.fc40.x86_64' 'python3-libreport-2.17.15-1.fc40.x86_64' 'libreport-plugin-bugzilla-2.17.15-1.fc40.x86_64' 'python3-nftables-1.0.9-3.fc40.x86_64' 'python3-packaging-23.2-4.fc40.noarch' 'python3-ply-3.11-23.fc40.noarch' 'python3-pycparser-2.20-14.fc40.noarch' 'python3-cffi-1.16.0-4.fc40.x86_64' 'python3-augeas-1.1.0-12.fc40.noarch' 'abrt-dbus-2.17.5-1.fc40.x86_64' 'python3-abrt-2.17.5-1.fc40.x86_64' 'abrt-2.17.5-1.fc40.x86_64' 'abrt-addon-kerneloops-2.17.5-1.fc40.x86_64' 'abrt-addon-ccpp-2.17.5-1.fc40.x86_64' 'abrt-tui-2.17.5-1.fc40.noarch' 'abrt-addon-pstoreoops-2.17.5-1.fc40.x86_64' 'abrt-addon-xorg-2.17.5-1.fc40.x86_64' 'abrt-plugin-bodhi-2.17.5-1.fc40.x86_64' 'python3-abrt-addon-2.17.5-1.fc40.noarch' 'python3-ptyprocess-0.7.0-7.fc40.noarch' 'python3-pexpect-4.9.0-4.fc40.noarch' 'python3-pyyaml-6.0.1-14.fc40.x86_64' 'python3-setuptools-69.0.3-3.fc40.noarch' 'python3-policycoreutils-3.6-3.fc40.noarch' 'policycoreutils-python-utils-3.6-3.fc40.noarch' 'setroubleshoot-plugins-3.3.14-9.fc40.noarch' 'setroubleshoot-server-3.3.33-1.fc40.x86_64' 'smartmontools-selinux-7.4-3.fc40.noarch' 'avahi-libs-0.8-26.fc40.x86_64' 'NetworkManager-libnm-1.46.0-2.fc40.x86_64' 'NetworkManager-1.46.0-2.fc40.x86_64' 'NetworkManager-team-1.46.0-2.fc40.x86_64' 'NetworkManager-wwan-1.46.0-2.fc40.x86_64' 'kexec-tools-2.0.28-4.fc40.x86_64' 'abrt-addon-vmcore-2.17.5-1.fc40.x86_64' 'desktop-file-utils-0.26-12.fc40.x86_64' 'xdg-utils-1.2.1-1.fc40.noarch' 'gsettings-desktop-schemas-46.0-1.fc40.x86_64' 'glib-networking-2.80.0-1.fc40.x86_64' 'ntfsprogs-2022.10.3-5.fc40.x86_64' 'udisks2-2.10.1-5.fc40.x86_64' 'udisks2-iscsi-2.10.1-5.fc40.x86_64' 'udisks2-lvm2-2.10.1-5.fc40.x86_64' 'appstream-1.0.2-2.fc40.x86_64' 'pinfo-0.6.13-6.fc40.x86_64' 'abrt-cli-2.17.5-1.fc40.x86_64' 'NetworkManager-bluetooth-1.46.0-2.fc40.x86_64' 'NetworkManager-wifi-1.46.0-2.fc40.x86_64' 'cifs-utils-7.0-4.fc40.x86_64' 'smartmontools-7.4-3.fc40.x86_64' 'deltarpm-3.6.3-13.fc40.x86_64' 'rpm-plugin-selinux-4.19.1.1-1.fc40.x86_64' 'shim-x64-15.8-3.x86_64' 'sudo-1.9.15-2.p5.fc40.x86_64' 'iptstate-2.2.7-4.fc40.x86_64' 'nvme-cli-2.8-1.fc40.x86_64' 'dhcp-client-4.4.3-13.P1.fc40.x86_64' 'openssh-clients-9.6p1-1.fc40.2.x86_64' 'openssh-server-9.6p1-1.fc40.2.x86_64' 'opensc-0.25.0-1.fc40.x86_64' 'rsyslog-8.2312.0-1.fc40.x86_64' 'realmd-0.17.1-12.fc40.x86_64' 'at-3.2.5-9.fc40.x86_64' 'chrony-4.5-3.fc40.x86_64' 'dnsmasq-2.90-1.fc40.x86_64' 'mcelog-175-10.fc40.x86_64' 'net-tools-2.0-0.69.20160912git.fc40.x86_64' 'psacct-6.6.4-21.fc40.x86_64' 'b43-openfwwf-5.2-33.fc40.noarch' 'man-db-2.12.0-6.fc40.x86_64' 'parted-3.6-4.fc40.x86_64' 'lsof-4.98.0-4.fc40.x86_64' 'fpaste-0.4.5.1-1.fc40.noarch' 'usbutils-017-2.fc40.x86_64' 'plocate-1.1.22-2.fc40.x86_64' 'bash-completion-2.11-14.fc40.noarch' 'zip-3.0-40.fc40.x86_64' 'passwdqc-2.0.3-4.fc40.x86_64' 'efibootmgr-18-6.fc40.x86_64' 'cyrus-sasl-plain-2.1.28-19.fc40.x86_64' 'tar-1.35-3.fc40.x86_64' 'acl-2.3.2-1.fc40.x86_64' 'attr-2.5.2-3.fc40.x86_64' 'whois-5.5.20-3.fc40.x86_64' 'mtr-0.95-9.fc40.x86_64' 'man-pages-6.06-1.fc40.noarch' 'bc-1.07.1-21.fc40.x86_64' 'bzip2-1.0.8-18.fc40.x86_64' 'traceroute-2.1.5-2.fc40.x86_64' 'ncurses-6.4-12.20240127.fc40.x86_64' 'compsize-1.5-8.fc40.x86_64' 'dos2unix-7.5.2-1.fc40.x86_64' 'symlinks-1.7-10.fc40.x86_64' 'time-1.9-23.fc40.x86_64' 'tree-2.1.0-5.fc40.x86_64' 'words-3.0-45.fc40.noarch' 'rootfiles-8.1-36.fc40.noarch' 'microcode_ctl-2.1-61.fc40.x86_64' 'mailcap-2.1.54-5.fc40.noarch' 'alsa-sof-firmware-2024.03-2.fc40.noarch' 'gpg-pubkey-a15b79cc-63d04c2c' 'linux-firmware-whence-20240610-1.fc40.noarch' 'grub2-common-2.06-123.fc40.noarch' 'tzdata-2024a-5.fc40.noarch' 'zlib-ng-compat-2.1.6-5.fc40.x86_64' 'libuuid-2.40.1-1.fc40.x86_64' 'libblkid-2.40.1-1.fc40.x86_64' 'libzstd-1.5.6-1.fc40.x86_64' 'libmount-2.40.1-1.fc40.x86_64' 'libfdisk-2.40.1-1.fc40.x86_64' 'libnghttp2-1.59.0-3.fc40.x86_64' 'libcurl-8.6.0-8.fc40.x86_64' 'libsmartcols-2.40.1-1.fc40.x86_64' 'alternatives-1.27-1.fc40.x86_64' 'expat-2.6.2-1.fc40.x86_64' 'python3-3.12.3-2.fc40.x86_64' 'python3-libs-3.12.3-2.fc40.x86_64' 'libeconf-0.6.2-2.fc40.x86_64' 'pam-libs-1.6.1-3.fc40.x86_64' 'libcap-2.69-8.fc40.x86_64' 'systemd-libs-255.7-1.fc40.x86_64' 'shadow-utils-4.15.1-3.fc40.x86_64' 'tpm2-tss-4.1.3-1.fc40.x86_64' 'util-linux-core-2.40.1-1.fc40.x86_64' 'default-fonts-core-sans-4.0-13.fc40.noarch' 'crypto-policies-scripts-20240510-1.gitd287a42.fc40.noarch' 'crypto-policies-20240510-1.gitd287a42.fc40.noarch' 'gnutls-3.8.5-1.fc40.x86_64' 'libblockdev-utils-3.1.1-1.fc40.x86_64' 'shared-mime-info-2.3-5.fc40.x86_64' 'gobject-introspection-1.80.1-1.fc40.x86_64' 'libmodulemd-2.15.0-12.fc40.x86_64' 'libsolv-0.7.29-1.fc40.x86_64' 'grub2-tools-minimal-2.06-123.fc40.x86_64' 'jq-1.7.1-7.fc40.x86_64' 'libnfsidmap-2.6.4-0.rc6.fc40.x86_64' 'libsss_certmap-2.9.5-1.fc40.x86_64' 'libsss_idmap-2.9.5-1.fc40.x86_64' 'lmdb-libs-0.9.33-1.fc40.x86_64' 'vim-data-9.1.452-1.fc40.noarch' 'fedora-release-identity-server-40-39.noarch' 'sssd-nfs-idmap-2.9.5-1.fc40.x86_64' 'PackageKit-glib-1.2.8-5.fc40.x86_64' 'python3-gobject-base-3.48.2-1.fc40.x86_64' 'python3-firewall-2.1.2-2.fc40.noarch' 'libxmlb-0.3.19-2.fc40.x86_64' 'reportd-0.7.4-13.fc40.x86_64' 'librepo-1.17.1-1.fc40.x86_64' 'libdnf-0.73.1-1.fc40.x86_64' 'python3-libdnf-0.73.1-1.fc40.x86_64' 'python3-hawkey-0.73.1-1.fc40.x86_64' 'passim-libs-0.1.7-1.fc40.x86_64' 'langpacks-core-en-4.0-13.fc40.noarch' 'langpacks-fonts-en-4.0-13.fc40.noarch' 'tpm2-tss-fapi-4.1.3-1.fc40.x86_64' 'tpm2-tools-5.7-1.fc40.x86_64' 'unbound-libs-1.20.0-1.fc40.x86_64' 'gnutls-dane-3.8.5-1.fc40.x86_64' 'wget2-libs-2.1.0-9.fc40.x86_64' 'wget2-2.1.0-9.fc40.x86_64' 'libusb1-1.0.27-2.fc40.x86_64' 'libgusb-0.4.9-1.fc40.x86_64' 'iproute-6.7.0-2.fc40.x86_64' 'pam-1.6.1-3.fc40.x86_64' 'binutils-gold-2.41-37.fc40.x86_64' 'binutils-2.41-37.fc40.x86_64' 'libarchive-3.7.2-4.fc40.x86_64' 'sqlite-3.45.1-2.fc40.x86_64' 'rpm-plugin-systemd-inhibit-4.19.1.1-1.fc40.x86_64' 'c-ares-1.28.1-1.fc40.x86_64' 'libseccomp-2.5.5-1.fc40.x86_64' 'systemd-pam-255.7-1.fc40.x86_64' 'systemd-resolved-255.7-1.fc40.x86_64' 'util-linux-2.40.1-1.fc40.x86_64' 'systemd-255.7-1.fc40.x86_64' 'systemd-udev-255.7-1.fc40.x86_64' 'dracut-101-1.fc40.x86_64' 'grub2-tools-2.06-123.fc40.x86_64' 'PackageKit-1.2.8-5.fc40.x86_64' 'bluez-5.76-1.fc40.x86_64' 'zram-generator-1.1.2-11.fc40.x86_64' 'libsodium-1.0.20-1.fc40.x86_64' 'libsss_nss_idmap-2.9.5-1.fc40.x86_64' 'sssd-client-2.9.5-1.fc40.x86_64' 'libsss_sudo-2.9.5-1.fc40.x86_64' 'sssd-common-2.9.5-1.fc40.x86_64' 'libteam-1.32-7.fc40.x86_64' 'libxcb-1.17.0-1.fc40.x86_64' 'mpfr-4.2.1-4.fc40.x86_64' 'pciutils-libs-3.12.0-1.fc40.x86_64' 'xmlrpc-c-1.59.03-1.fc40.x86_64' 'xxd-9.1.452-1.fc40.x86_64' 'amd-gpu-firmware-20240610-1.fc40.noarch' 'amd-ucode-firmware-20240610-1.fc40.noarch' 'atheros-firmware-20240610-1.fc40.noarch' 'brcmfmac-firmware-20240610-1.fc40.noarch' 'cirrus-audio-firmware-20240610-1.fc40.noarch' 'intel-audio-firmware-20240610-1.fc40.noarch' 'intel-gpu-firmware-20240610-1.fc40.noarch' 'mt7xxx-firmware-20240610-1.fc40.noarch' 'nvidia-gpu-firmware-20240610-1.fc40.noarch' 'nxpwireless-firmware-20240610-1.fc40.noarch' 'realtek-firmware-20240610-1.fc40.noarch' 'tiwilink-firmware-20240610-1.fc40.noarch' 'linux-firmware-20240610-1.fc40.noarch' 'kernel-modules-core-6.8.11-300.fc40.x86_64' 'kernel-core-6.8.11-300.fc40.x86_64' 'kernel-modules-6.8.11-300.fc40.x86_64' 'vim-filesystem-9.1.452-1.fc40.noarch' 'vim-common-9.1.452-1.fc40.x86_64' 'vim-enhanced-9.1.452-1.fc40.x86_64' 'vim-default-editor-9.1.452-1.fc40.noarch' 'libX11-common-1.8.9-1.fc40.noarch' 'hwdata-0.383-1.fc40.noarch' 'firewalld-filesystem-2.1.2-2.fc40.noarch' 'fedora-gpg-keys-40-2.noarch' 'fedora-release-server-40-39.noarch' 'fedora-repos-40-2.noarch' 'fedora-release-common-40-39.noarch' 'dnf-data-4.19.2-1.fc40.noarch' 'python3-dnf-4.19.2-1.fc40.noarch' 'dnf-4.19.2-1.fc40.noarch' 'python3-dnf-plugins-core-4.6.0-1.fc40.noarch' 'bind-license-9.18.26-1.fc40.noarch' 'bind-libs-9.18.26-1.fc40.x86_64' 'bind-utils-9.18.26-1.fc40.x86_64' 'dnf-plugins-core-4.6.0-1.fc40.noarch' 'yum-4.19.2-1.fc40.noarch' 'firewalld-2.1.2-2.fc40.noarch' 'pciutils-3.12.0-1.fc40.x86_64' 'libX11-1.8.9-1.fc40.x86_64' 'default-editor-7.2-7.fc40.noarch' 'kernel-6.8.11-300.fc40.x86_64' 'xmlrpc-c-client-1.59.03-1.fc40.x86_64' 'gdb-headless-14.2-2.fc40.x86_64' 'teamd-1.32-7.fc40.x86_64' 'sssd-kcm-2.9.5-1.fc40.x86_64' 'sssd-proxy-2.9.5-1.fc40.x86_64' 'zram-generator-defaults-1.1.2-11.fc40.noarch' 'grub2-efi-x64-2.06-123.fc40.x86_64' 'dracut-config-rescue-101-1.fc40.x86_64' 'dracut-network-101-1.fc40.x86_64' 'dracut-squash-101-1.fc40.x86_64' 'systemd-oomd-defaults-255.7-1.fc40.noarch' 'initscripts-service-10.23-1.fc40.noarch' 'nfs-utils-2.6.4-0.rc6.fc40.x86_64' 'libblockdev-part-3.1.1-1.fc40.x86_64' 'libblockdev-swap-3.1.1-1.fc40.x86_64' 'libblockdev-crypto-3.1.1-1.fc40.x86_64' 'wget2-wget-2.1.0-9.fc40.x86_64' 'langpacks-en-4.0-13.fc40.noarch' 'vim-minimal-9.1.452-1.fc40.x86_64' 'grub2-tools-extra-2.06-123.fc40.x86_64' 'libblockdev-3.1.1-1.fc40.x86_64' 'libblockdev-fs-3.1.1-1.fc40.x86_64' 'libblockdev-loop-3.1.1-1.fc40.x86_64' 'libblockdev-lvm-3.1.1-1.fc40.x86_64' 'libblockdev-mdraid-3.1.1-1.fc40.x86_64' 'libblockdev-nvme-3.1.1-1.fc40.x86_64' 'harfbuzz-8.4.0-1.fc40.x86_64' 'irqbalance-1.9.4-3.fc40.x86_64' 'libproxy-0.5.5-1.fc40.x86_64' 'fontconfig-2.15.0-6.fc40.x86_64' 'dbus-broker-36-2.fc40.x86_64' 'tcpdump-4.99.4-7.fc40.x86_64' 'btrfs-progs-6.8.1-1.fc40.x86_64' 'python3-argcomplete-3.3.0-2.fc40.noarch' 'python3-idna-3.7-1.fc40.noarch' 'python3-setools-4.5.1-2.fc40.x86_64' 'sos-4.7.1-1.fc40.noarch' 'nmap-ncat-7.95-1.fc40.x86_64' 'curl-8.6.0-8.fc40.x86_64' 'boost-regex-1.83.0-5.fc40.x86_64' 'rsync-3.3.0-1.fc40.x86_64' 'b43-fwcutter-019-36.fc40.x86_64' 'bluez-libs-5.76-1.fc40.x86_64' 'dmidecode-3.6-1.fc40.x86_64' 'ed-1.20.2-1.fc40.x86_64' 'ethtool-6.9-1.fc40.x86_64' 'libedit-3.1-51.20240517cvs.fc40.x86_64' 'libgpg-error-1.49-1.fc40.x86_64' 'pixman-0.43.4-1.fc40.x86_64' 'rpm-sequoia-1.6.0-3.fc40.x86_64' 'iwlegacy-firmware-20240610-1.fc40.noarch' 'iwlwifi-dvm-firmware-20240610-1.fc40.noarch' 'iwlwifi-mvm-firmware-20240610-1.fc40.noarch' 'libertas-firmware-20240610-1.fc40.noarch' 'emacs-filesystem-29.3-6.fc40.noarch' 'appstream-data-40-8.fc40.noarch' 'libX11-xcb-1.8.9-1.fc40.x86_64' 'libxshmfence-1.3.2-3.fc40.x86_64' 'llvm-libs-18.1.6-2.fc40.x86_64' 'libpciaccess-0.16-12.fc40.x86_64' 'libdrm-2.4.121-1.fc40.x86_64' 'libXfixes-6.0.1-3.fc40.x86_64' 'libXrandr-1.5.4-3.fc40.x86_64' 'mtdev-1.1.6-8.fc40.x86_64' 'libxkbfile-1.1.3-1.fc40.x86_64' 'libwayland-server-1.22.0-3.fc40.x86_64' 'libwayland-client-1.22.0-3.fc40.x86_64' 'libglvnd-1.7.0-4.fc40.x86_64' 'libXinerama-1.1.5-6.fc40.x86_64' 'libXi-1.8.1-5.fc40.x86_64' 'libICE-1.1.1-3.fc40.x86_64' 'libSM-1.2.4-3.fc40.x86_64' 'libXt-1.3.0-3.fc40.x86_64' 'libXmu-1.2.1-1.fc40.x86_64' 'xhost-1.0.9-6.fc40.x86_64' 'xorg-x11-xauth-1.1.2-6.fc40.x86_64' 'libXtst-1.2.4-6.fc40.x86_64' 'vulkan-loader-1.3.283.0-2.fc40.x86_64' 'setxkbmap-1.3.4-3.fc40.x86_64' 'xkbcomp-1.4.7-1.fc40.x86_64' 'xorg-x11-server-common-1.20.14-35.fc40.x86_64' 'libXcursor-1.2.1-7.fc40.x86_64' 'libXdamage-1.1.6-3.fc40.x86_64' 'xorg-x11-drv-wacom-serial-support-1.2.2-1.fc40.x86_64' 'libwacom-data-2.11.0-1.fc40.noarch' 'libwacom-2.11.0-1.fc40.x86_64' 'libinput-1.25.0-5.fc40.x86_64' 'xmodmap-1.0.11-6.fc40.x86_64' 'xcb-util-0.4.1-5.fc40.x86_64' 'lm_sensors-libs-3.6.0-18.fc40.x86_64' 'libglvnd-egl-1.7.0-4.fc40.x86_64' 'libunwind-1.8.0-3.fc40.x86_64' 'libmpc-1.3.1-5.fc40.x86_64' 'xrdb-1.2.2-3.fc40.x86_64' 'libfontenc-1.1.7-3.fc40.x86_64' 'libXfont2-2.0.6-3.fc40.x86_64' 'libepoxy-1.5.10-6.fc40.x86_64' 'libdatrie-0.2.13-9.fc40.x86_64' 'libthai-0.1.29-8.fc40.x86_64' 'libXxf86vm-1.1.5-6.fc40.x86_64' 'libglvnd-glx-1.7.0-4.fc40.x86_64' 'xdriinfo-1.0.7-2.fc40.x86_64' 'libXv-1.0.12-3.fc40.x86_64' 'libXvMC-1.0.13-5.fc40.x86_64' 'libXft-2.3.8-6.fc40.x86_64' 'libXdmcp-1.1.4-3.fc40.x86_64' 'xorg-x11-drv-libinput-1.4.0-2.fc40.x86_64' 'xorg-x11-server-Xorg-1.20.14-35.fc40.x86_64' 'libXScrnSaver-1.2.4-3.fc40.x86_64' 'fedora-logos-38.1.0-5.fc40.noarch' 'abattis-cantarell-fonts-0.301-12.fc40.noarch' 'xorg-x11-drv-intel-2.99.917-57.20210115.fc40.x86_64' 'xorg-x11-drv-amdgpu-23.0.0-3.fc40.x86_64' 'xorg-x11-drv-ati-19.1.0-11.fc40.x86_64' 'xorg-x11-drv-evdev-2.10.6-15.fc40.x86_64' 'xorg-x11-drv-fbdev-0.5.0-15.fc40.x86_64' 'xorg-x11-drv-nouveau-1.0.17-7.fc40.x86_64' 'xorg-x11-drv-openchrome-0.6.400-7.20210215git5dbad06.fc40.x86_64' 'xorg-x11-drv-qxl-0.1.6-3.fc40.x86_64' 'xorg-x11-drv-vesa-2.5.0-7.fc40.x86_64' 'xorg-x11-drv-vmware-13.4.0-4.fc40.x86_64' 'xorg-x11-drv-wacom-1.2.2-1.fc40.x86_64' 'glx-utils-9.0.0-6.fc40.x86_64' 'xorg-x11-xinit-1.4.2-2.fc40.x86_64' 'tmux-3.4-1.fc40.x86_64' 'dejavu-sans-mono-fonts-2.37-23.fc40.noarch' 'm4-1.4.19-9.fc40.x86_64' 'bison-3.8.2-7.fc40.x86_64' 'flex-2.6.4-16.fc40.x86_64' 'perl-Digest-1.20-502.fc40.noarch' 'perl-Digest-MD5-2.59-3.fc40.x86_64' 'perl-B-1.88-506.fc40.x86_64' 'perl-FileHandle-2.05-506.fc40.noarch' 'perl-Data-Dumper-2.188-503.fc40.x86_64' 'perl-libnet-3.15-503.fc40.noarch' 'perl-URI-5.28-1.fc40.noarch' 'perl-AutoLoader-5.74-506.fc40.noarch' 'perl-Text-Tabs+Wrap-2024.001-1.fc40.noarch' 'perl-Mozilla-CA-20231213-3.fc40.noarch' 'perl-if-0.61.000-506.fc40.noarch' 'perl-locale-1.10-506.fc40.noarch' 'perl-Time-Local-1.350-5.fc40.noarch' 'perl-File-Path-2.18-503.fc40.noarch' 'perl-Pod-Escapes-1.07-503.fc40.noarch' 'perl-IO-Socket-IP-0.42-2.fc40.noarch' 'perl-IO-Socket-SSL-2.085-1.fc40.noarch' 'perl-Net-SSLeay-1.94-3.fc40.x86_64' 'perl-Class-Struct-0.68-506.fc40.noarch' 'perl-Term-ANSIColor-5.01-504.fc40.noarch' 'perl-POSIX-2.13-506.fc40.x86_64' 'perl-Term-Cap-1.18-503.fc40.noarch' 'perl-File-Temp-0.231.100-503.fc40.noarch' 'perl-IPC-Open3-1.22-506.fc40.noarch' 'perl-Pod-Simple-3.45-6.fc40.noarch' 'perl-HTTP-Tiny-0.088-5.fc40.noarch' 'perl-SelectSaver-1.02-506.fc40.noarch' 'perl-Symbol-1.09-506.fc40.noarch' 'perl-File-stat-1.13-506.fc40.noarch' 'perl-Socket-2.038-1.fc40.x86_64' 'perl-podlators-5.01-502.fc40.noarch' 'perl-Pod-Perldoc-3.28.01-503.fc40.noarch' 'perl-Fcntl-1.15-506.fc40.x86_64' 'perl-Text-ParseWords-3.31-502.fc40.noarch' 'perl-base-2.27-506.fc40.noarch' 'perl-mro-1.28-506.fc40.x86_64' 'perl-overloading-0.02-506.fc40.noarch' 'perl-IO-1.52-506.fc40.x86_64' 'perl-Pod-Usage-2.03-504.fc40.noarch' 'perl-Errno-1.37-506.fc40.x86_64' 'perl-File-Basename-2.86-506.fc40.noarch' 'perl-Getopt-Std-1.13-506.fc40.noarch' 'perl-MIME-Base64-3.16-503.fc40.x86_64' 'perl-Scalar-List-Utils-1.63-503.fc40.x86_64' 'perl-constant-1.33-503.fc40.noarch' 'perl-overload-1.37-506.fc40.noarch' 'perl-parent-0.241-502.fc40.noarch' 'perl-vars-1.05-506.fc40.noarch' 'perl-Storable-3.32-502.fc40.x86_64' 'perl-Getopt-Long-2.57-4.fc40.noarch' 'perl-Carp-1.54-502.fc40.noarch' 'perl-Exporter-5.78-3.fc40.noarch' 'perl-NDBM_File-1.16-506.fc40.x86_64' 'perl-PathTools-3.89-502.fc40.x86_64' 'perl-DynaLoader-1.54-506.fc40.x86_64' 'perl-Encode-3.21-505.fc40.x86_64' 'perl-libs-5.38.2-506.fc40.x86_64' 'perl-interpreter-5.38.2-506.fc40.x86_64' 'zlib-ng-compat-devel-2.1.6-5.fc40.x86_64' 'xorg-x11-proto-devel-2024.1-2.fc40.noarch' 'libXau-devel-1.0.11-6.fc40.x86_64' 'libzstd-devel-1.5.6-1.fc40.x86_64' 'elfutils-libelf-devel-0.191-4.fc40.x86_64' 'openssl-devel-3.2.1-2.fc40.x86_64' 'libxcrypt-devel-4.4.36-5.fc40.x86_64' 'gc-8.2.2-6.fc40.x86_64' 'guile30-3.0.7-12.fc40.x86_64' 'make-4.4.1-6.fc40.x86_64' 'kernel-devel-6.8.11-300.fc40.x86_64' 'libxcb-devel-1.17.0-1.fc40.x86_64' 'pam-devel-1.6.1-3.fc40.x86_64' 'git-core-2.45.2-2.fc40.x86_64' 'git-core-doc-2.45.2-2.fc40.noarch' 'perl-lib-0.65-506.fc40.x86_64' 'perl-TermReadKey-2.38-21.fc40.x86_64' 'perl-File-Find-1.43-506.fc40.noarch' 'perl-Error-0.17029-15.fc40.noarch' 'git-2.45.2-2.fc40.x86_64' 'perl-Git-2.45.2-2.fc40.noarch' 'llvm16-libs-16.0.6-9.fc40.x86_64' 'lld16-libs-16.0.6-3.fc40.x86_64' 'urw-base35-fonts-common-20200910-20.fc40.noarch' 'libjpeg-turbo-3.0.2-1.fc40.x86_64' 'libwebp-1.3.2-5.fc40.x86_64' 'gdk-pixbuf2-2.42.10-8.fc40.x86_64' 'openjpeg2-2.5.2-1.fc40.x86_64' 'lcms2-2.16-3.fc40.x86_64' 'libogg-1.3.5-8.fc40.x86_64' 'svt-av1-libs-2.1.0-1.fc40.x86_64' 'rav1e-libs-0.7.1-2.fc40.x86_64' 'jbigkit-libs-2.1-29.fc40.x86_64' 'imath-3.1.10-1.fc40.x86_64' 'cairo-gobject-1.18.0-3.fc40.x86_64' 'librsvg2-2.57.1-6.fc40.x86_64' 'rsvg-pixbuf-loader-2.57.1-6.fc40.x86_64' 'adobe-mappings-cmap-20230622-3.fc40.noarch' 'adobe-mappings-cmap-deprecated-20230622-3.fc40.noarch' 'openexr-libs-3.1.10-6.fc40.x86_64' 'flac-libs-1.4.3-4.fc40.x86_64' 'libvorbis-1.3.7-10.fc40.x86_64' 'jasper-libs-4.2.1-1.fc40.x86_64' 'LibRaw-0.21.2-5.fc40.x86_64' 'urw-base35-bookman-fonts-20200910-20.fc40.noarch' 'urw-base35-c059-fonts-20200910-20.fc40.noarch' 'urw-base35-d050000l-fonts-20200910-20.fc40.noarch' 'urw-base35-gothic-fonts-20200910-20.fc40.noarch' 'urw-base35-nimbus-mono-ps-fonts-20200910-20.fc40.noarch' 'urw-base35-nimbus-roman-fonts-20200910-20.fc40.noarch' 'urw-base35-nimbus-sans-fonts-20200910-20.fc40.noarch' 'urw-base35-p052-fonts-20200910-20.fc40.noarch' 'urw-base35-standard-symbols-ps-fonts-20200910-20.fc40.noarch' 'urw-base35-z003-fonts-20200910-20.fc40.noarch' 'urw-base35-fonts-20200910-20.fc40.noarch' 'yyjson-0.9.0-1.fc40.x86_64' 'fftw-libs-double-3.3.10-12.fc40.x86_64' 'cups-libs-2.4.8-3.fc40.x86_64' 'xrandr-1.5.2-5.fc40.x86_64' 'poppler-data-0.4.11-7.fc40.noarch' 'opus-1.5.1-1.fc40.x86_64' 'open-sans-fonts-1.10-21.fc40.noarch' 'ocl-icd-2.3.2-5.fc40.x86_64' 'netpbm-11.02.00-6.fc40.x86_64' 'gts-0.7.6-48.20121130.fc40.x86_64' 'mpg123-libs-1.31.3-4.fc40.x86_64' 'lsb_release-3.3-3.fc40.noarch' 'libzip-1.10.1-3.fc40.x86_64' 'libwmf-lite-0.2.13-5.fc40.x86_64' 'libvmaf-2.3.0-7.fc40.x86_64' 'libraqm-0.8.0-7.fc40.x86_64' 'libpaper-2.1.1-3.fc40.x86_64' 'liblqr-1-0.4.2-24.fc40.x86_64' 'liblerc-4.0.0-6.fc40.x86_64' 'libtiff-4.6.0-2.fc40.x86_64' 'libimagequant-4.0.3-3.fc40.x86_64' 'libijs-0.35-22.fc40.x86_64' 'libi2c-4.3-10.fc40.x86_64' 'i2c-tools-4.3-10.fc40.x86_64' 'ddcutil-2.1.2-1.fc40.x86_64' 'libasyncns-0.8-28.fc40.x86_64' 'libXpm-3.5.17-3.fc40.x86_64' 'lasi-1.1.3-13.fc40.x86_64' 'lame-libs-3.100-17.fc40.x86_64' 'jbig2dec-libs-0.20-4.fc40.x86_64' 'libjxl-0.8.2-6.fc40.x86_64' 'jxl-pixbuf-loader-0.8.2-6.fc40.x86_64' 'libaom-3.9.0-1.fc40.x86_64' 'libavif-1.0.4-3.fc40.x86_64' 'gd-2.3.3-16.fc40.x86_64' 'libheif-1.17.6-1.fc40.x86_64' 'gsm-1.0.22-6.fc40.x86_64' 'libsndfile-1.2.2-2.fc40.x86_64' 'pulseaudio-libs-16.1-7.fc40.x86_64' 'gpgmepp-1.23.2-3.fc40.x86_64' 'poppler-24.02.0-2.fc40.x86_64' 'poppler-glib-24.02.0-2.fc40.x86_64' 'google-droid-sans-fonts-20200215-19.fc40.noarch' 'dconf-0.40.0-12.fc40.x86_64' 'chafa-libs-1.10.3-7.fc40.x86_64' 'adobe-mappings-pdf-20190401-7.fc40.noarch' 'graphviz-9.0.0-11.fc40.x86_64' 'chafa-1.10.3-7.fc40.x86_64' 'fastfetch-2.15.0-1.fc40.x86_64' 'cockpit-bridge-318-1.fc40.x86_64' 'cockpit-system-318-1.fc40.noarch' 'cockpit-networkmanager-318-1.fc40.noarch' 'cockpit-selinux-318-1.fc40.noarch' 'cockpit-storaged-318-1.fc40.noarch' 'cockpit-packagekit-318-1.fc40.noarch' 'cockpit-ws-318-1.fc40.x86_64' 'cockpit-318-1.fc40.x86_64' 'libX11-devel-1.8.9-1.fc40.x86_64' 'libglvnd-opengl-1.7.0-4.fc40.x86_64' 'libglvnd-gles-1.7.0-4.fc40.x86_64' 'libglvnd-core-devel-1.7.0-4.fc40.x86_64' 'libglvnd-devel-1.7.0-4.fc40.x86_64' 'dkms-3.0.13-1.fc40.noarch' 'acpid-2.0.34-7.fc40.x86_64' 'rpmfusion-free-release-40-1.noarch' 'rpmfusion-nonfree-release-40-1.noarch' 'gpg-pubkey-94843c65-5dadbc64' 'libplist-2.3.0-4.fc40.x86_64' 'libsoup3-3.4.4-3.fc40.x86_64' 'libimobiledevice-glue-1.0.0-3.fc40.x86_64' 'avahi-glib-0.8-26.fc40.x86_64' 'xorg-x11-drv-nvidia-cuda-libs-550.90.07-1.fc40.x86_64' 'nvidia-modprobe-550.90.07-1.fc40.x86_64' 'libwayland-egl-1.22.0-3.fc40.x86_64' 'libwayland-cursor-1.22.0-3.fc40.x86_64' 'kmodtool-1.1-10.fc40.noarch' 'fuse3-libs-3.16.2-3.fc40.x86_64' 'dwz-0.15-6.fc40.x86_64' 'debugedit-5.0-14.fc40.x86_64' 'libusbmuxd-2.0.2^20230620git8d30a55-5.fc40.x86_64' 'usbmuxd-1.1.1^20230720git61b99ab-2.fc40.x86_64' 'libimobiledevice-1.3.0^20230705git6fc41f5-4.fc40.x86_64' 'upower-libs-1.90.4-2.fc40.x86_64' 'upower-1.90.4-2.fc40.x86_64' 'osinfo-db-tools-1.11.0-5.fc40.x86_64' 'exiv2-libs-0.27.6-7.fc40.x86_64' 'exiv2-0.27.6-7.fc40.x86_64' 'libgexiv2-0.14.2-3.fc40.x86_64' 'xorg-x11-drv-nvidia-kmodsrc-550.90.07-1.fc40.x86_64' 'nvidia-persistenced-550.90.07-1.fc40.x86_64' 'fdk-aac-2.0.3-2.fc40.x86_64' 'zstd-1.5.6-1.fc40.x86_64' 'rust-srpm-macros-26.3-1.fc40.noarch' 'qt6-srpm-macros-6.7.1-1.fc40.noarch' 'qt5-srpm-macros-5.15.14-1.fc40.noarch' 'python3-babel-2.15.0-1.fc40.noarch' 'osinfo-db-20240523-1.fc40.noarch' 'libosinfo-1.11.0-5.fc40.x86_64' 'liblc3-1.1.1-1.fc40.x86_64' 'gtk-update-icon-cache-3.24.42-2.fc40.x86_64' 'fakeroot-libs-1.34-1.fc40.x86_64' 'fakeroot-1.34-1.fc40.x86_64' 'avif-pixbuf-loader-1.0.4-3.fc40.x86_64' 'adwaita-icon-theme-legacy-46.2-1.fc40.noarch' 'adwaita-cursor-theme-46.2-2.fc40.noarch' 'adwaita-icon-theme-46.2-2.fc40.noarch' 'zig-srpm-macros-1-2.fc40.noarch' 'xprop-1.2.7-1.fc40.x86_64' 'at-spi2-core-2.52.0-1.fc40.x86_64' 'atk-2.52.0-1.fc40.x86_64' 'at-spi2-atk-2.52.0-1.fc40.x86_64' 'webrtc-audio-processing-1.3-1.fc40.x86_64' 'webp-pixbuf-loader-0.2.7-1.fc40.x86_64' 'gdk-pixbuf2-modules-2.42.10-8.fc40.x86_64' 'uchardet-0.0.8-5.fc40.x86_64' 'totem-pl-parser-3.26.6-9.fc40.x86_64' 'sound-theme-freedesktop-0.8-21.fc40.noarch' 'libcanberra-0.30-35.fc40.x86_64' 'rtkit-0.11-63.fc40.x86_64' 'python3-typing-extensions-4.9.0-3.fc40.noarch' 'python3-utils-3.7.0-3.fc40.noarch' 'python3-progressbar2-3.53.2-11.fc40.noarch' 'python3-rpmautospec-core-0.1.4-3.fc40.noarch' 'perl-srpm-macros-1-53.fc40.noarch' 'patch-2.7.6-24.fc40.x86_64' 'package-notes-srpm-macros-0.5-11.fc40.noarch' 'orc-0.4.38-2.fc40.x86_64' 'opencl-filesystem-1.0-20.fc40.noarch' 'openblas-srpm-macros-2-16.fc40.noarch' 'ocaml-srpm-macros-9-3.fc40.noarch' 'lua-srpm-macros-1-13.fc40.noarch' 'low-memory-monitor-2.1-10.fc40.x86_64' 'libvisual-0.4.1-4.fc40.x86_64' 'libvdpau-1.5-6.fc40.x86_64' 'libtheora-1.1.1-36.fc40.x86_64' 'libssh2-1.11.0-4.fc40.x86_64' 'libsoup-2.74.3-6.fc40.x86_64' 'libgrss-0.7.0-19.fc40.x86_64' 'libsbc-2.0-4.fc40.x86_64' 'libnotify-0.8.3-3.fc40.x86_64' 'geoclue2-2.7.0-5.fc40.x86_64' 'libldac-2.0.2.3-15.fc40.x86_64' 'wireplumber-0.5.3-1.fc40.x86_64' 'wireplumber-libs-0.5.3-1.fc40.x86_64' 'libiptcdata-1.0.5-17.fc40.x86_64' 'libgxps-0.3.2-8.fc40.x86_64' 'libgsf-1.14.51-4.fc40.x86_64' 'libexif-0.6.24-7.fc40.x86_64' 'libcue-2.3.0-3.fc40.x86_64' 'libcloudproviders-0.3.5-3.fc40.x86_64' 'libXcomposite-0.4.6-3.fc40.x86_64' 'kernel-srpm-macros-1.0-23.fc40.noarch' 'iso-codes-4.16.0-3.fc40.noarch' 'http-parser-2.9.4-11.fc40.x86_64' 'libgit2-1.7.2-1.fc40.x86_64' 'python3-pygit2-1.14.0-1.fc40.x86_64' 'hicolor-icon-theme-0.17-18.fc40.noarch' 'graphene-1.10.6-8.fc40.x86_64' 'gnat-srpm-macros-6-5.fc40.noarch' 'giflib-5.2.2-1.fc40.x86_64' 'ghc-srpm-macros-1.9-1.fc40.noarch' 'fuse-common-3.16.2-3.fc40.x86_64' 'fuse3-3.16.2-3.fc40.x86_64' 'xdg-desktop-portal-1.18.4-1.fc40.x86_64' 'fpc-srpm-macros-1.3-12.fc40.noarch' 'exempi-2.6.4-5.fc40.x86_64' 'egl-wayland-1.1.13-3.fc40.x86_64' 'egl-gbm-1.1.1-4.fc40.x86_64' 'xorg-x11-drv-nvidia-libs-550.90.07-1.fc40.x86_64' 'efi-srpm-macros-5-11.fc40.noarch' 'colord-libs-1.4.7-3.fc40.x86_64' 'cdparanoia-libs-10.2-44.fc40.x86_64' 'libtracker-sparql-3.7.3-1.fc40.x86_64' 'tracker-3.7.3-1.fc40.x86_64' 'tracker-miners-3.7.3-1.fc40.x86_64' 'libcanberra-gtk3-0.30-35.fc40.x86_64' 'gtk3-3.24.42-2.fc40.x86_64' 'xdg-desktop-portal-gtk-1.15.1-5.fc40.x86_64' 'ansible-srpm-macros-1-14.fc40.noarch' 'python-srpm-macros-3.12-7.fc40.noarch' 'pyproject-srpm-macros-1.12.0-1.fc40.noarch' 'rpm-build-4.19.1.1-1.fc40.x86_64' 'fonts-srpm-macros-2.0.5-14.fc40.noarch' 'go-srpm-macros-3.5.0-1.fc40.noarch' 'forge-srpm-macros-0.3.1-1.fc40.noarch' 'redhat-rpm-config-286-1.fc40.noarch' 'rpmdevtools-9.6-7.fc40.noarch' 'akmods-0.5.8-8.fc40.noarch' 'nvidia-settings-550.90.07-1.fc40.x86_64' 'xorg-x11-drv-nvidia-power-550.90.07-1.fc40.x86_64' 'xorg-x11-drv-nvidia-550.90.07-1.fc40.x86_64' 'akmod-nvidia-550.90.07-1.fc40.x86_64' 'xorg-x11-drv-nvidia-cuda-550.90.07-1.fc40.x86_64' 'systemd-rpm-macros-255.7-1.fc40.noarch' 'kmod-nvidia-6.8.11-300.fc40.x86_64-550.90.07-1.fc40.x86_64' 'lynx-2.9.0-4.fc40.x86_64' 'perl-File-Copy-2.41-506.fc40.noarch' 'perl-File-Compare-1.100.700-506.fc40.noarch' 'autoconf-2.71-10.fc40.noarch' 'info-7.1-2.fc40.x86_64' 'perl-threads-2.36-503.fc40.x86_64' 'perl-threads-shared-1.68-502.fc40.x86_64' 'perl-Thread-Queue-3.14-503.fc40.noarch' 'automake-1.16.5-16.fc40.noarch' 'libcurl-devel-8.6.0-8.fc40.x86_64' 'xcb-util-xrm-1.3-13.fc40.x86_64' 'xcb-util-wm-0.4.2-5.fc40.x86_64' 'xcb-util-renderutil-0.3.10-5.fc40.x86_64' 'xcb-util-keysyms-0.4.1-5.fc40.x86_64' 'xcb-util-image-0.4.1-5.fc40.x86_64' 'xcb-util-cursor-0.1.4-4.fc40.x86_64' 'startup-notification-0.12-29.fc40.x86_64' 'perl-File-Slurp-9999.32-13.fc40.noarch' 'rlwrap-0.46.1-4.fc40.x86_64' 'mkfontscale-1.2.2-6.fc40.x86_64' 'xorg-x11-fonts-misc-7.5-38.fc40.noarch' 'lua-lgi-0.9.2-19.fc40.x86_64' 'libxkbcommon-x11-1.6.0-2.fc40.x86_64' 'libxdg-basedir-1.2.0-33.fc40.x86_64' 'libXaw-1.0.15-3.fc40.x86_64' 'xterm-389-2.fc40.x86_64' 'awesome-4.3-16.fc40.x86_64' 'ripgrep-14.1.0-3.fc40.x86_64' 'libva-2.21.0-3.fc40.x86_64' 'libraw1394-2.1.2-20.fc40.x86_64' 'serd-0.30.16-3.fc40.x86_64' 'libvpx-1.14.0-2.fc40.x86_64' 'openh264-2.4.1-2.fc40.x86_64' 'zimg-3.0.5-2.fc40.x86_64' 'mozilla-filesystem-1.9-33.fc40.x86_64' 'mozilla-openh264-2.4.1-2.fc40.x86_64' 'vapoursynth-libs-65-2.fc40.x86_64' 'libavc1394-0.5.4-22.fc40.x86_64' 'libdc1394-2.2.7-5.fc40.x86_64' 'libiec61883-1.2.0-34.fc40.x86_64' 'libavutil-free-6.1.1-14.fc40.x86_64' 'libpostproc-free-6.1.1-14.fc40.x86_64' 'libswscale-free-6.1.1-14.fc40.x86_64' 'spirv-tools-libs-2024.2-1.fc40.x86_64' 'libshaderc-2024.0-1.fc40.x86_64' 'mbedtls-2.28.8-1.fc40.x86_64' 'libv4l-1.26.1-4.fc40.x86_64' 'librabbitmq-0.14.0-2.fc40.x86_64' 'libopenmpt-0.7.6-1.fc40.x86_64' 'libdovi-3.3.0-2.fc40.x86_64' 'libplacebo-6.338.2-1.fc40.x86_64' 'cjson-1.7.17-1.fc40.x86_64' 'librist-0.2.7-4.fc40.x86_64' 'zvbi-0.2.35-22.fc40.x86_64' 'xvidcore-1.3.7-11.fc40.x86_64' 'vo-amrwbenc-0.1.3-20.fc40.x86_64' 'vid.stab-1.1.1-2.fc40.x86_64' 'vamp-plugin-sdk-2.9.0-9.fc40.x86_64' 'twolame-libs-0.4.0-4.fc40.x86_64' 'tesseract-tessdata-doc-4.1.0-7.fc40.noarch' 'srt-libs-1.5.3-2.fc40.x86_64' 'speex-1.2.0-17.fc40.x86_64' 'soxr-0.1.3-15.fc40.x86_64' 'libswresample-free-6.1.1-14.fc40.x86_64' 'slang-2.3.3-5.fc40.x86_64' 'pcre-8.45-1.fc40.6.x86_64' 'sord-0.16.14-3.fc40.x86_64' 'sratom-0.6.14-3.fc40.x86_64' 'lilv-libs-0.24.20-3.fc40.x86_64' 'openpgm-5.2.122-34.fc40.x86_64' 'zeromq-4.3.5-16.fc40.x86_64' 'opencore-amr-0.1.6-6.fc40.x86_64' 'openal-soft-1.23.1-5.fc40.x86_64' 'mesa-libGLU-9.0.3-4.fc40.x86_64' 'lv2-1.18.8-8.fc40.x86_64' 'lpcnetfreedv-0.5-5.fc40.x86_64' 'codec2-1.2.0-4.fc40.x86_64' 'libudfread-1.1.2-8.fc40.x86_64' 'libbluray-1.3.4-5.fc40.x86_64' 'libsamplerate-0.2.2-8.fc40.x86_64' 'libmysofa-1.2.1-7.fc40.x86_64' 'libmodplug-0.8.9.0-19.fc40.x86_64' 'libdecor-0.2.2-3.fc40.x86_64' 'SDL2-2.30.3-1.fc40.x86_64' 'libcdio-2.1.0-12.fc40.x86_64' 'libcdio-paranoia-10.2+2.0.1-12.fc40.x86_64' 'libbs2b-3.1.0-33.fc40.x86_64' 'libass-0.17.1-4.fc40.x86_64' 'leptonica-1.84.1-3.fc40.x86_64' 'tesseract-langpack-eng-4.1.0-7.fc40.noarch' 'tesseract-5.3.4-4.fc40.x86_64' 'ladspa-1.17-4.fc40.x86_64' 'rubberband-3.3.0-6.fc40.x86_64' 'ilbc-3.0.4-10.fc40.x86_64' 'libavcodec-free-6.1.1-14.fc40.x86_64' 'libchromaprint-1.5.1-17.fc40.x86_64' 'game-music-emu-0.6.3-14.fc40.x86_64' 'libavformat-free-6.1.1-14.fc40.x86_64' 'libcaca-0.99-0.73.beta20.fc40.x86_64' 'flite-2.2-8.fc40.x86_64' 'libavfilter-free-6.1.1-14.fc40.x86_64' 'libavdevice-free-6.1.1-14.fc40.x86_64' 'ffmpeg-free-6.1.1-14.fc40.x86_64' 'firefox-langpacks-127.0-1.fc40.x86_64' 'firefox-127.0-1.fc40.x86_64' 'libXext-devel-1.3.6-1.fc40.x86_64' 'libXfixes-devel-6.0.1-3.fc40.x86_64' 'libXi-devel-1.8.1-5.fc40.x86_64' 'libXtst-devel-1.2.4-6.fc40.x86_64' 'newt-0.52.24-3.fc40.x86_64' 'NetworkManager-tui-1.46.0-2.fc40.x86_64' 'glibc-common-2.39-15.fc40.x86_64' 'glibc-gconv-extra-2.39-15.fc40.x86_64' 'glibc-langpack-en-2.39-15.fc40.x86_64' 'glibc-2.39-15.fc40.x86_64' 'nspr-4.35.0-24.fc40.x86_64' 'nss-util-3.101.0-1.fc40.x86_64' 'nss-softokn-freebl-3.101.0-1.fc40.x86_64' 'nss-softokn-3.101.0-1.fc40.x86_64' 'nss-3.101.0-1.fc40.x86_64' 'nss-sysinit-3.101.0-1.fc40.x86_64' 'glibc-headers-x86-2.39-15.fc40.noarch' 'glibc-devel-2.39-15.fc40.x86_64' 'alsa-lib-1.2.12-1.fc40.x86_64' 'libevdev-1.13.2-2.fc40.x86_64' 'openssh-askpass-9.6p1-1.fc40.2.x86_64' 'fuse-sshfs-3.7.3-9.fc40.x86_64' 'libsss_autofs-2.9.5-1.fc40.x86_64' 'autofs-5.1.9-7.fc40.x86_64' 'xfontsel-1.1.0-8.fc40.x86_64' 'fuse-2.9.9-21.fc40.x86_64' 'bat-0.24.0-6.fc40.x86_64' 'libtree-sitter-0.22.5-1.fc40.x86_64' 'enchant2-2.6.9-1.fc40.x86_64' 'libotf-0.9.16-4.fc40.x86_64' 'libdvdread-6.1.3-6.fc40.x86_64' 'gssdp-1.6.3-2.fc40.x86_64' 'gupnp-1.6.6-2.fc40.x86_64' 'gupnp-igd-1.6.0-4.fc40.x86_64' 'libnice-0.1.22-1.fc40.x86_64' 'libdvdnav-6.1.1-8.fc40.x86_64' 'libtree-sitter-java-0.20.2-2.fc40.x86_64' 'libsecret-0.21.4-2.fc40.x86_64' 'harfbuzz-icu-8.4.0-1.fc40.x86_64' 'xdg-dbus-proxy-0.1.5-2.fc40.x86_64' 'woff2-1.0.2-19.fc40.x86_64' 'wavpack-5.6.0-6.fc40.x86_64' 'taglib-1.12-10.fc40.x86_64' 'soundtouch-2.3.1-6.fc40.x86_64' 'm17n-db-1.8.5-3.fc40.noarch' 'm17n-lib-1.8.4-3.fc40.x86_64' 'libsrtp-2.3.0-14.fc40.x86_64' 'libshout-2.4.6-6.fc40.x86_64' 'libmanette-0.2.7-1.fc40.x86_64' 'liblockfile-1.17-8.fc40.x86_64' 'hyphen-2.8.8-24.fc40.x86_64' 'bubblewrap-0.8.0-3.fc40.x86_64' 'emacs-29.3-6.fc40.x86_64' 'emacs-common-29.3-6.fc40.x86_64' 'emacs-gtk+x11-29.3-6.fc40.x86_64' 'nodejs-docs-20.12.2-1.fc40.noarch' 'nodejs-undici-6.11.1-2.fc40.noarch' 'nodejs-libs-20.12.2-1.fc40.x86_64' 'nodejs-full-i18n-20.12.2-1.fc40.x86_64' 'nodejs-npm-10.5.0-1.20.12.2.1.fc40.x86_64' 'nodejs-20.12.2-1.fc40.x86_64' 'nodejs-cjs-module-lexer-1.2.3-5.fc40.noarch' 'cmake-rpm-macros-3.28.2-1.fc40.noarch' 'cmake-filesystem-3.28.2-1.fc40.x86_64' 'rhash-1.4.3-4.fc40.x86_64' 'jsoncpp-1.9.5-7.fc40.x86_64' 'cmake-data-3.28.2-1.fc40.noarch' 'cmake-3.28.2-1.fc40.x86_64' 'libtool-2.4.7-10.fc40.x86_64' 'apr-1.7.3-8.fc40.x86_64' 'apr-util-lmdb-1.6.3-16.fc40.x86_64' 'apr-util-openssl-1.6.3-16.fc40.x86_64' 'apr-util-1.6.3-16.fc40.x86_64' 'libserf-1.3.10-5.fc40.x86_64' 'golang-src-1.22.4-1.fc40.noarch' 'utf8proc-2.7.0-7.fc40.x86_64' 'subversion-libs-1.14.3-5.fc40.x86_64' 'subversion-1.14.3-5.fc40.x86_64' 're2-20220601-5.fc40.x86_64' 'python3-fb-re2-1.0.7-15.fc40.x86_64' 'mercurial-6.7.3-1.fc40.x86_64' 'go-filesystem-3.5.0-1.fc40.x86_64' 'golang-1.22.4-1.fc40.x86_64' 'golang-bin-1.22.4-1.fc40.x86_64' 'libconfig-1.7.3-8.fc40.x86_64' 'picom-11.2-1.fc40.x86_64' 'glib2-2.80.3-1.fc40.x86_64' 'pipewire-1.0.7-2.fc40.x86_64' 'pipewire-libs-1.0.7-2.fc40.x86_64' 'kernel-modules-core-6.9.4-200.fc40.x86_64' 'kernel-core-6.9.4-200.fc40.x86_64' 'plymouth-core-libs-24.004.60-12.fc40.x86_64' 'plymouth-scripts-24.004.60-12.fc40.x86_64' 'plymouth-24.004.60-12.fc40.x86_64' 'plymouth-graphics-libs-24.004.60-12.fc40.x86_64' 'pango-1.54.0-1.fc40.x86_64' 'libxml2-2.12.8-1.fc40.x86_64' 'kitty-kitten-0.35.1-4.fc40.x86_64' 'kitty-shell-integration-0.35.1-4.fc40.noarch' 'plymouth-plugin-label-24.004.60-12.fc40.x86_64' 'plymouth-plugin-two-step-24.004.60-12.fc40.x86_64' 'plymouth-theme-spinner-24.004.60-12.fc40.x86_64' 'kernel-modules-6.9.4-200.fc40.x86_64' 'pipewire-jack-audio-connection-kit-libs-1.0.7-2.fc40.x86_64' 'javascriptcoregtk4.1-2.44.2-2.fc40.x86_64' 'kitty-terminfo-0.35.1-4.fc40.noarch' 'intel-mediasdk-23.2.2-5.fc40.x86_64' 'libvpl-2.11.0-1.fc40.x86_64' 'intel-vpl-gpu-rt-24.2.4-1.fc40.x86_64' 'cryptsetup-libs-2.7.3-1.fc40.x86_64' 'annobin-docs-12.57-1.fc40.noarch' 'kernel-devel-6.9.4-200.fc40.x86_64' 'annobin-plugin-gcc-12.57-1.fc40.x86_64' 'cryptsetup-2.7.3-1.fc40.x86_64' 'kitty-0.35.1-4.fc40.x86_64' 'webkit2gtk4.1-2.44.2-2.fc40.x86_64' 'pipewire-jack-audio-connection-kit-1.0.7-2.fc40.x86_64' 'kernel-6.9.4-200.fc40.x86_64' 'plymouth-system-theme-24.004.60-12.fc40.x86_64' 'python3-libxml2-2.12.8-1.fc40.x86_64' 'pipewire-alsa-1.0.7-2.fc40.x86_64' 'pipewire-pulseaudio-1.0.7-2.fc40.x86_64' 'fwupd-1.9.21-1.fc40.x86_64' 'python3-rpmautospec-0.6.4-1.fc40.noarch' 'mtools-4.0.44-1.fc40.x86_64' 'libgs-10.02.1-9.fc40.x86_64' 'libdav1d-1.4.3-1.fc40.x86_64' 'kernel-headers-6.9.4-200.fc40.x86_64' 'highway-1.2.0-2.fc40.x86_64' 'bash-color-prompt-0.4.2-1.fc40.noarch' 'kmod-nvidia-6.9.4-200.fc40.x86_64-550.90.07-1.fc40.x86_64' 'dbus-daemon-1.14.10-3.fc40.x86_64' 'dbus-x11-1.14.10-3.fc40.x86_64' 'nnn-4.9-3.fc40.x86_64' 'pcre2-utf32-10.42-2.fc40.2.x86_64' 'fish-3.7.0-2.fc40.x86_64' 'zsh-5.9-14.fc40.x86_64' 'compat-lua-libs-5.1.5-25.fc40.x86_64' 'lua5.1-lpeg-1.0.2-13.fc40.x86_64' 'luajit2.1-luv-1.48.0.2-1.fc40.x86_64' 'tree-sitter-cli-0.22.5-2.fc40.x86_64' 'luajit-2.1.1713773202-1.fc40.x86_64' 'xsel-1.2.1-1.fc40.x86_64' 'wl-clipboard-2.2.1-2.fc40.x86_64' 'unibilium-2.1.1-6.fc40.x86_64' 'msgpack-3.1.0-14.fc40.x86_64' 'libvterm-0.3.3-3.fc40.x86_64' 'libluv-1.48.0.2-1.fc40.x86_64' 'neovim-0.10.0-5.fc40.x86_64' 'recode-3.7.14-4.fc40.x86_64' 'fortune-mod-3.20.0-4.fc40.x86_64' 'texlive-base-20230311-82.fc40.x86_64' 'perl-version-0.99.32-1.fc40.x86_64' 'perl-Time-HiRes-1.9775-502.fc40.x86_64' 'perl-Compress-Raw-Zlib-2.209-1.fc40.x86_64' 'libarrow-doc-15.0.2-3.fc40.noarch' 'protobuf-3.19.6-8.fc40.x86_64' 'perl-ExtUtils-Manifest-1.75-5.fc40.noarch' 'perl-CPAN-Meta-Requirements-2.143-6.fc40.noarch' 'texlive-lib-20230311-82.fc40.x86_64' 'abseil-cpp-20240116.2-1.fc40.x86_64' 'python3-lxml-5.1.0-7.fc40.x86_64' 'perl-Module-Load-0.36-503.fc40.noarch' 'perl-ExtUtils-ParseXS-3.51-503.fc40.noarch' 'perl-Digest-SHA-6.04-503.fc40.x86_64' 'python3-protobuf-3.19.6-8.fc40.x86_64' 'perl-Module-Metadata-1.000038-5.fc40.noarch' 'perl-Module-CoreList-5.20240420-1.fc40.noarch' 'python3-wcwidth-0.2.13-2.fc40.noarch' 'python3-cryptography-41.0.7-1.fc40.x86_64' 'python-rpm-macros-3.12-7.fc40.noarch' 'perl-subs-1.04-506.fc40.noarch' 'perl-meta-notation-5.38.2-506.fc40.noarch' 'perl-Unicode-Normalize-1.32-502.fc40.x86_64' 'perl-Tie-4.6-506.fc40.noarch' 'perl-Term-ReadLine-1.17-506.fc40.noarch' 'perl-Perl-OSType-1.010-503.fc40.noarch' 'perl-I18N-Langinfo-0.22-506.fc40.x86_64' 'perl-Encode-Locale-1.05-29.fc40.noarch' 'perl-Filter-1.64-503.fc40.x86_64' 'perl-Devel-Peek-1.33-506.fc40.x86_64' 'perl-Dumpvalue-2.27-506.fc40.noarch' 'perl-encoding-3.00-505.fc40.x86_64' 'perl-open-1.13-506.fc40.noarch' 'perl-Opcode-1.64-506.fc40.x86_64' 'perl-Safe-2.44-506.fc40.noarch' 'python3-rpm-macros-3.12-7.fc40.noarch' 'python3-googleapis-common-protos-1.63.0-1.fc40.noarch' 'perl-Net-Ping-2.76-502.fc40.noarch' 'rust-std-static-1.79.0-3.fc40.x86_64' 'rust-1.79.0-3.fc40.x86_64' 'python3-matplotlib-data-fonts-3.8.4-1.fc40.noarch' 'python3-matplotlib-data-3.8.4-1.fc40.noarch' 'python3-fsspec-2024.3.1-1.fc40.noarch' 'python3-xlrd-2.0.1-15.fc40.noarch' 'python3-pyparsing-3.1.2-2.fc40.noarch' 'python3-pyasn1-0.5.1-3.fc40.noarch' 'python3-psutil-5.9.8-1.fc40.x86_64' 'python3-multidict-6.0.4-3.fc39.x86_64' 'python3-frozenlist-1.4.1-3.fc40.x86_64' 'python3-decorator-5.1.1-9.fc40.noarch' 'python3-cpuinfo-9.0.0-7.fc40.noarch' 'python3-brotli-1.1.0-3.fc40.x86_64' 'perl-doc-5.38.2-506.fc40.noarch' 'perl-autouse-1.11-506.fc40.noarch' 'perl-User-pwent-1.04-506.fc40.noarch' 'perl-Tie-RefHash-1.40-503.fc40.noarch' 'perl-Text-Balanced-2.06-502.fc40.noarch' 'perl-Sys-Hostname-1.25-506.fc40.x86_64' 'perl-Sub-Install-0.929-5.fc40.noarch' 'perl-SelfLoader-1.26-506.fc40.noarch' 'perl-Pod-Html-1.34-506.fc40.noarch' 'perl-Params-Util-1.102-14.fc40.x86_64' 'perl-Math-Complex-1.62-506.fc40.noarch' 'perl-Math-BigInt-2.0030.03-1.fc40.noarch' 'perl-JSON-PP-4.16-503.fc40.noarch' 'perl-LWP-MediaTypes-6.04-17.fc40.noarch' 'perl-I18N-LangTags-0.45-506.fc40.noarch' 'perl-Locale-Maketext-1.33-503.fc40.noarch' 'perl-Locale-Maketext-Simple-0.21-506.fc40.noarch' 'perl-Params-Check-0.38-502.fc40.noarch' 'perl-Module-Load-Conditional-0.74-503.fc40.noarch' 'perl-Hash-Util-FieldHash-1.26-506.fc40.x86_64' 'perl-Hash-Util-0.30-506.fc40.x86_64' 'perl-ExtUtils-MM-Utils-7.70-503.fc40.noarch' 'perl-IPC-Cmd-1.04-504.fc40.noarch' 'perl-ExtUtils-Constant-0.25-506.fc40.noarch' 'perl-ExtUtils-Command-7.70-503.fc40.noarch' 'perl-DirHandle-1.05-506.fc40.noarch' 'perl-Devel-PPPort-3.71-503.fc40.x86_64' 'perl-Compress-Raw-Bzip2-2.210-1.fc40.x86_64' 'perl-IO-Compress-2.207-1.fc40.noarch' 'perl-IO-Zlib-1.15-1.fc40.noarch' 'perl-CPAN-Meta-YAML-0.018-503.fc40.noarch' 'perl-CPAN-Meta-2.150010-502.fc40.noarch' 'perl-Benchmark-1.24-506.fc40.noarch' 'perl-Test-Harness-3.48-3.fc40.noarch' 'perl-AutoSplit-5.74-506.fc40.noarch' 'grpc-data-1.48.4-34.fc40.noarch' 'grpc-1.48.4-34.fc40.x86_64' 'python3-grpcio-1.48.4-34.fc40.x86_64' 'fmt-10.2.1-4.fc40.x86_64' 'libdnf5-5.1.17-1.fc40.x86_64' 'python3-libdnf5-5.1.17-1.fc40.x86_64' 'python3-grpcio-status-1.48.4-34.fc40.noarch' 'perl-DBM_Filter-0.06-506.fc40.noarch' 'perl-Net-HTTP-6.23-4.fc40.noarch' 'perl-fields-2.27-506.fc40.noarch' 'perl-Math-BigInt-FastCalc-0.501.800-3.fc40.x86_64' 'perl-bignum-0.67-3.fc40.noarch' 'perl-Data-OptList-0.114-4.fc40.noarch' 'perl-Devel-SelfStubber-1.06-506.fc40.noarch' 'perl-Filter-Simple-0.96-503.fc40.noarch' 'python3-aiosignal-1.3.1-13.fc40.noarch' 'python3-yarl-1.9.2-5.fc40.x86_64' 'python3-pyasn1-modules-0.5.1-3.fc40.noarch' 'python3-rsa-4.9-5.fc40.noarch' 'systemtap-sdt-devel-5.1-1.fc40.x86_64' 'perl-ExtUtils-MakeMaker-7.70-503.fc40.noarch' 'perl-ExtUtils-Install-2.22-502.fc40.noarch' 'perl-devel-5.38.2-506.fc40.x86_64' 'perl-ExtUtils-CBuilder-0.280238-502.fc40.noarch' 'perl-ExtUtils-Embed-1.35-506.fc40.noarch' 'perl-ExtUtils-Miniperl-1.13-506.fc40.noarch' 'perl-Encode-devel-3.21-505.fc40.x86_64' 'perl-inc-latest-0.500-28.fc40.noarch' 'perl-libnetcfg-5.38.2-506.fc40.noarch' 'pyproject-rpm-macros-1.12.0-1.fc40.noarch' 'perl-debugger-1.60-506.fc40.noarch' 'perl-Env-1.06-502.fc40.noarch' 'perl-Unicode-Collate-1.31-502.fc40.x86_64' 'perl-Unicode-UCD-0.78-506.fc40.noarch' 'perl-sigtrap-1.10-506.fc40.noarch' 'perl-Data-Dump-1.25-10.fc40.noarch' 'python3-pdfminer-20231228-3.fc40.noarch' 'python3-pyte-0.8.2-3.fc40.noarch' 'python3-tabulate-0.9.0-6.fc40.noarch' 'python3-tabulate+widechars-0.9.0-6.fc40.noarch' 'perl-Module-CoreList-tools-5.20240420-1.fc40.noarch' 'perl-Digest-HMAC-1.04-10.fc40.noarch' 'perl-NTLM-1.09-38.fc40.noarch' 'liborc1-1.9.3-1.fc40.x86_64' 'libarrow-15.0.2-3.fc40.x86_64' 'libarrow-acero-libs-15.0.2-3.fc40.x86_64' 'libarrow-glib-libs-15.0.2-3.fc40.x86_64' 'protobuf-compiler-3.19.6-8.fc40.x86_64' 'grpc-cpp-1.48.4-34.fc40.x86_64' 'libarrow-flight-libs-15.0.2-3.fc40.x86_64' 'perl-Archive-Zip-1.68-14.fc40.noarch' 'perl-experimental-0.032-1.fc40.noarch' 'zlib-ng-2.1.6-5.fc40.x86_64' 'blosc2-2.14.0-1.fc40.x86_64' 'qt5-qttranslations-5.15.14-1.fc40.noarch' 'python-qt5-rpm-macros-5.15.10-6.fc40.noarch' 'perl-Devel-Size-0.84-1.fc40.x86_64' 'llhttp-9.2.1-1.fc40.x86_64' 'boost-program-options-1.83.0-5.fc40.x86_64' 'zziplib-0.13.72-6.fc40.x86_64' 'xclip-0.13-21.git11cba61.fc40.x86_64' 'tk-8.6.13-3.fc40.x86_64' 'python3-tkinter-3.12.3-2.fc40.x86_64' 'thrift-0.15.0-4.fc40.x86_64' 'parquet-libs-15.0.2-3.fc40.x86_64' 'libarrow-dataset-libs-15.0.2-3.fc40.x86_64' 'sombok-2.4.0-21.fc40.x86_64' 'qt-settings-40.0-1.fc40.noarch' 'python3-zstandard-0.22.0-3.fc40.x86_64' 'python3-zombie-imp-0.0.2-5.fc40.noarch' 'python3-zipp-3.17.0-3.fc40.noarch' 'python3-importlib-metadata-6.9.0-3.fc40.noarch' 'python3-xlsxwriter-3.1.9-3.fc40.noarch' 'python3-webencodings-0.5.1-24.fc40.noarch' 'python3-html5lib-1.1-23.fc40.noarch' 'python3-vobject-0.9.6.1-20.fc40.noarch' 'python3-soupsieve-2.5-3.fc40.noarch' 'python3-beautifulsoup4-4.12.3-3.fc40.noarch' 'python3-rpm-generators-14-10.fc40.noarch' 'python3-devel-3.12.3-2.fc40.x86_64' 'python3-resolvelib-1.0.1-4.fc40.noarch' 'python3-pytz-2024.1-1.fc40.noarch' 'python3-pyshp-2.3.1-10.fc40.noarch' 'python3-pyqt5-sip-12.13.0-3.fc40.x86_64' 'python3-pypng-0.0.21-8.fc40.noarch' 'python3-pycares-4.3.0-6.fc40.x86_64' 'python3-aiodns-3.0.0-10.fc40.noarch' 'python3-platformdirs-3.11.0-3.fc40.noarch' 'python3-pooch-1.8.1-2.fc40.noarch' 'python3-olefile-0.47-3.fc40.noarch' 'python3-pillow-10.3.0-1.fc40.x86_64' 'python3-pillow-tk-10.3.0-1.fc40.x86_64' 'python3-oauthlib-3.2.2-3.fc40.noarch' 'python3-requests-oauthlib-1.3.1-8.fc40.noarch' 'python3-msgpack-1.0.7-3.fc40.x86_64' 'python3-markupsafe-2.1.3-4.fc40.x86_64' 'python3-jinja2-3.1.4-1.fc40.noarch' 'ansible-core-2.16.7-1.fc40.noarch' 'python3-kiwisolver-1.4.5-3.fc40.x86_64' 'python3-jdcal-1.4.1-10.fc40.noarch' 'python3-et_xmlfile-1.1.0-8.fc40.noarch' 'python3-openpyxl-3.1.2-5.fc40.noarch' 'python3-greenlet-3.0.3-3.fc40.x86_64' 'python3-sqlalchemy-2.0.30-1.fc40.x86_64' 'python3-file-magic-5.45-4.fc40.noarch' 'python3-dpkt-1.9.8-5.fc40.noarch' 'python3-dnslib-0.9.21-6.fc40.noarch' 'python3-defusedxml-0.7.1-12.fc40.noarch' 'python3-odfpy-1.4.1-9.fc40.noarch' 'python3-cycler-0.11.0-11.fc40.noarch' 'python3-colorama-0.4.6-7.fc40.noarch' 'python3-certifi-2023.05.07-4.fc40.noarch' 'python3-cairo-1.25.1-3.fc40.x86_64' 'python3-cachetools-5.3.2-3.fc40.noarch' 'python3-google-auth-2.30.0-1.fc40.noarch' 'python3-google-api-core-2.11.1-7.fc40.noarch' 'python3-google-cloud-core-2.3.3-4.fc40.noarch' 'python3-google-auth-oauthlib-0.8.0-5.fc40.noarch' 'python3-cached_property-1.5.2-13.fc40.noarch' 'python3-attrs-23.2.0-4.fc40.noarch' 'python3-aiohttp-3.9.5-1.fc40.x86_64' 'python3-aiohttp+speedups-3.9.5-1.fc40.x86_64' 'python3-appdirs-1.4.4-13.fc40.noarch' 'python3-fs-2.4.16-7.fc40.noarch' 'python3-QtPy-2.4.1-3.fc40.noarch' 'perl-vmsish-1.04-506.fc40.noarch' 'perl-utils-5.38.2-506.fc40.noarch' 'perl-sort-2.05-506.fc40.noarch' 'perl-ph-5.38.2-506.fc40.x86_64' 'perl-perlfaq-5.20240218-1.fc40.noarch' 'perl-macros-5.38.2-506.fc40.noarch' 'perl-local-lib-2.000029-7.fc40.noarch' 'perl-less-0.03-506.fc40.noarch' 'perl-filetest-1.03-506.fc40.noarch' 'perl-encoding-warnings-0.14-506.fc40.noarch' 'perl-diagnostics-1.39-506.fc40.noarch' 'perl-deprecate-0.04-506.fc40.noarch' 'perl-blib-1.07-506.fc40.noarch' 'perl-WWW-RobotRules-6.02-39.fc40.noarch' 'perl-Try-Tiny-0.31-9.fc40.noarch' 'perl-TimeDate-2.33-14.fc40.noarch' 'perl-HTTP-Date-6.06-4.fc40.noarch' 'perl-File-Listing-6.16-3.fc40.noarch' 'perl-Time-Piece-1.3401-506.fc40.x86_64' 'perl-Time-1.03-506.fc40.noarch' 'perl-Tie-Memoize-1.1-506.fc40.noarch' 'perl-Tie-File-1.07-506.fc40.noarch' 'perl-Thread-Semaphore-2.13-506.fc40.noarch' 'perl-Thread-3.05-506.fc40.noarch' 'perl-Text-Unidecode-1.30-24.fc40.noarch' 'perl-Text-Template-1.61-5.fc40.noarch' 'perl-Text-Glob-0.11-23.fc40.noarch' 'perl-Text-Abbrev-1.02-506.fc40.noarch' 'perl-Test-1.31-506.fc40.noarch' 'perl-Term-Size-Perl-0.031-19.fc40.x86_64' 'perl-Term-Size-Any-0.002-42.fc40.noarch' 'perl-Term-Complete-1.403-506.fc40.noarch' 'perl-Sys-Syslog-0.36-504.fc40.x86_64' 'perl-Search-Dict-1.07-506.fc40.noarch' 'perl-Pod-Functions-1.14-506.fc40.noarch' 'perl-Pod-Checker-1.77-1.fc40.noarch' 'perl-PerlIO-via-QuotedPrint-0.10-502.fc40.noarch' 'perl-PerlIO-utf8_strict-0.010-6.fc40.x86_64' 'perl-File-Slurper-0.014-5.fc40.noarch' 'perl-IO-Compress-Brotli-0.004001-12.fc40.x86_64' 'perl-Package-Generator-1.106-31.fc40.noarch' 'perl-Sub-Exporter-0.991-3.fc40.noarch' 'perl-Object-HashBase-0.013-1.fc40.noarch' 'perl-ODBM_File-1.18-506.fc40.x86_64' 'perl-Net-1.03-506.fc40.noarch' 'perl-NEXT-0.69-506.fc40.noarch' 'perl-Module-Loaded-0.08-506.fc40.noarch' 'perl-Memoize-1.16-506.fc40.noarch' 'perl-MRO-Compat-0.15-9.fc40.noarch' 'perl-Data-Section-0.200008-5.fc40.noarch' 'perl-Software-License-0.104006-1.fc40.noarch' 'perl-Module-Build-0.42.34-5.fc40.noarch' 'perl-MIME-Charset-1.013.1-5.fc40.noarch' 'perl-Unicode-LineBreak-2019.001-20.fc40.x86_64' 'perl-Term-Table-0.018-3.fc40.noarch' 'perl-Test-Simple-1.302198-3.fc40.noarch' 'perl-IPC-System-Simple-1.30-13.fc40.noarch' 'perl-autodie-2.37-3.fc40.noarch' 'perl-IPC-SysV-2.09-505.fc40.x86_64' 'perl-IO-HTML-1.004-12.fc40.noarch' 'perl-I18N-Collate-1.02-506.fc40.noarch' 'perl-HTML-Tagset-3.24-1.fc40.noarch' 'perl-GDBM_File-1.24-506.fc40.x86_64' 'perl-FindBin-1.53-506.fc40.noarch' 'perl-FileCache-1.10-506.fc40.noarch' 'perl-File-Which-1.27-11.fc40.noarch' 'perl-File-HomeDir-1.006-12.fc40.noarch' 'perl-File-DosGlob-1.12-506.fc40.x86_64' 'perl-English-1.11-506.fc40.noarch' 'perl-Config-Perl-V-0.36-503.fc40.noarch' 'perl-Config-Extensions-0.03-506.fc40.noarch' 'perl-Compress-Raw-Lzma-2.209-8.fc40.x86_64' 'perl-IO-Compress-Lzma-2.207-1.fc40.noarch' 'perl-Compress-Bzip2-2.28-17.fc40.x86_64' 'perl-Clone-0.46-6.fc40.x86_64' 'perl-HTTP-Message-6.46-1.fc40.noarch' 'perl-HTML-Parser-3.82-1.fc40.x86_64' 'perl-HTTP-Cookies-6.11-3.fc40.noarch' 'perl-HTTP-Negotiate-6.01-38.fc40.noarch' 'perl-libwww-perl-6.77-1.fc40.noarch' 'perl-XML-Parser-2.47-3.fc40.x86_64' 'perl-XML-XPath-1.48-6.fc40.noarch' 'texlive-epstopdf-svn66461-82.fc40.noarch' 'texlive-epstopdf-pkg-svn53546-71.fc40.noarch' 'texlive-cm-svn57963-71.fc40.noarch' 'texlive-etex-svn66203-71.fc40.noarch' 'texlive-hyph-utf8-svn61719-71.fc40.noarch' 'texlive-hyphen-base-svn66413-71.fc40.noarch' 'texlive-knuth-lib-svn57963-71.fc40.noarch' 'texlive-plain-svn57963-71.fc40.noarch' 'texlive-tex-ini-files-svn40533-71.fc40.noarch' 'texlive-unicode-data-svn64423-71.fc40.noarch' 'texlive-graphics-def-svn64487-71.fc40.noarch' 'texlive-gsftopk-svn52851-82.fc40.x86_64' 'texlive-luatex-svn66967-82.fc40.x86_64' 'texlive-texlive.infra-svn66512-82.fc40.noarch' 'texlive-texlive-scripts-svn66584-82.fc40.noarch' 'texlive-kpathsea-svn66209-82.fc40.x86_64' 'texlive-dvipng-svn66203-82.fc40.x86_64' 'perl-File-Fetch-1.04-502.fc40.noarch' 'perl-CPAN-DistnameInfo-0.12-30.fc40.noarch' 'perl-Attribute-Handlers-1.03-506.fc40.noarch' 'perl-Algorithm-Diff-1.2010-11.fc40.noarch' 'perl-Text-Diff-1.45-21.fc40.noarch' 'perl-Archive-Tar-3.02-6.fc40.noarch' 'perl-Module-Signature-0.88-9.fc40.noarch' 'pcre2-utf16-10.42-2.fc40.2.x86_64' 'openblas-0.3.26-4.fc40.x86_64' 'openblas-openmp-0.3.26-4.fc40.x86_64' 'flexiblas-netlib-3.4.4-1.fc40.x86_64' 'flexiblas-3.4.4-1.fc40.x86_64' 'flexiblas-openblas-openmp-3.4.4-1.fc40.x86_64' 'python3-numpy-1.26.4-3.fc40.x86_64' 'python3-numexpr-2.8.5-4.fc40.x86_64' 'python3-contourpy-1.2.0-3.fc40.x86_64' 'python3-ndindex-1.7-11.fc40.x86_64' 'python3-blosc2-2.5.1-1.fc40.x86_64' 'python3-pyarrow-15.0.2-3.fc40.x86_64' 'python3-numpy-f2py-1.26.4-3.fc40.x86_64' 'python3-scipy-1.11.3-6.fc40.x86_64' 'python3-fonttools-4.50.0-1.fc40.x86_64' 'python3-Bottleneck-1.3.7-5.fc40.x86_64' 'libretls-3.8.1-3.fc40.x86_64' 'libqhull_r-8.0.2-4.fc40.x86_64' 'libpq-16.1-4.fc40.x86_64' 'python3-psycopg2-2.9.9-4.fc40.x86_64' 'libmd-1.1.0-4.fc40.x86_64' 'libbsd-0.12.2-3.fc40.x86_64' 'liblzf-3.6-28.fc40.x86_64' 'libdb-5.3.28-61.fc40.x86_64' 'perl-DB_File-1.859-3.fc40.x86_64' 'perl-CPAN-2.36-503.fc40.noarch' 'perl-5.38.2-506.fc40.x86_64' 'libaec-1.1.2-1.fc40.x86_64' 'hdf5-1.12.1-15.fc40.x86_64' 'python3-h5py-3.10.0-8.fc40.x86_64' 'hwloc-libs-2.10.0-3.fc40.x86_64' 'google-crc32c-1.1.2-9.fc40.x86_64' 'python3-google-crc32c-1.5.0-3.fc40.x86_64' 'python3-google-resumable-media-2.7.1-1.fc40.noarch' 'python3-google-cloud-storage-2.14.0-4.fc40.noarch' 'python3-gcsfs-2023.6.0-3.fc40.noarch' 'double-conversion-3.3.0-3.fc40.x86_64' 'qt5-qtbase-common-5.15.14-1.fc40.noarch' 'qt5-qtbase-5.15.14-1.fc40.x86_64' 'qt5-qtbase-gui-5.15.14-1.fc40.x86_64' 'qt5-qtx11extras-5.15.14-1.fc40.x86_64' 'qt5-qtwayland-5.15.14-1.fc40.x86_64' 'qt5-qtdeclarative-5.15.14-1.fc40.x86_64' 'python3-qt5-base-5.15.10-6.fc40.x86_64' 'dejavu-sans-fonts-2.37-23.fc40.noarch' 'python3-matplotlib-tk-3.8.4-1.fc40.x86_64' 'python3-matplotlib-3.8.4-1.fc40.x86_64' 'blosc-1.21.5-4.fc40.x86_64' 'python3-tables-3.9.2-4.fc40.x86_64' 'python3-xarray-2023.8.0-1.fc40.noarch' 'python3-pandas-2.2.1-1.fc40.x86_64' 'python3-visidata-3.0.2-2.fc40.noarch' 'visidata-3.0.2-2.fc40.noarch' 'htop-3.3.0-3.fc40.x86_64' 'netcat-1.226-3.fc40.x86_64' 'buku-4.8-4.fc40.noarch' 'thefuck-3.32-11.fc40.noarch' 's3cmd-2.4.0-2.fc40.noarch' 'ansible-9.6.1-2.fc40.noarch' 'bpytop-1.0.68-7.fc40.noarch' 'cargo-1.79.0-3.fc40.x86_64' 'nmap-7.95-1.fc40.x86_64' 'fd-find-10.1.0-1.fc40.x86_64' 'eza-0.18.11-1.fc40.x86_64' 'diskonaut-0.11.0-18.fc40.x86_64' 'tintin-2.02.30-4.fc40.x86_64' 'lolcat-1.4-4.fc40.x86_64' 'fzf-0.44.1-3.fc40.x86_64' 'aria2-1.37.0-3.fc40.x86_64' 'hyperfine-1.18.0-3.fc40.x86_64' 'hexyl-0.14.0-3.fc40.x86_64' 'distribution-gpg-keys-1.104-1.fc40.noarch' 'rpmdistro-repoquery-0^20231102git539d4c0-3.fc40.noarch' 'dnf-utils-4.6.0-1.fc40.noarch' 'xdg-user-dirs-0.18-4.fc40.x86_64' 'postgresql-private-libs-16.1-6.fc40.x86_64' 'postgresql-16.1-6.fc40.x86_64' 'boost-system-1.83.0-5.fc40.x86_64' 'boost-thread-1.83.0-5.fc40.x86_64' 'boost-atomic-1.83.0-5.fc40.x86_64' 'boost-filesystem-1.83.0-5.fc40.x86_64' 'xz-devel-5.4.6-3.fc40.x86_64' 'xapian-core-libs-1.4.23-2.fc40.x86_64' 'tbb-2021.11.0-5.fc40.x86_64' 'dyninst-12.3.0-6.fc40.x86_64' 'systemtap-runtime-5.1-1.fc40.x86_64' 'systemtap-client-5.1-1.fc40.x86_64' 'elfutils-debuginfod-client-devel-0.191-4.fc40.x86_64' 'elfutils-devel-0.191-4.fc40.x86_64' 'systemtap-devel-5.1-1.fc40.x86_64' 'systemtap-5.1-1.fc40.x86_64' 'doxygen-1.10.0-3.fc40.x86_64' 'patchutils-0.4.2-13.fc40.x86_64' 'gettext-0.22.5-2.fc40.x86_64' 'diffstat-1.66-1.fc40.x86_64' 'pcre2-devel-10.42-2.fc40.2.x86_64' 'libpng-devel-1.6.40-3.fc40.x86_64' 'libXrender-devel-0.9.11-6.fc40.x86_64' 'pixman-devel-0.43.4-1.fc40.x86_64' 'libxml2-devel-2.12.8-1.fc40.x86_64' 'libblkid-devel-2.40.1-1.fc40.x86_64' 'uuid-1.6.2-62.fc40.x86_64' 'tcl-devel-8.6.13-2.fc40.x86_64' 'sysprof-capture-devel-46.0-1.fc40.x86_64' 'ncurses-c++-libs-6.4-12.20240127.fc40.x86_64' 'ncurses-devel-6.4-12.20240127.fc40.x86_64' 'libsepol-devel-3.6-3.fc40.x86_64' 'libselinux-devel-3.6-4.fc40.x86_64' 'libmount-devel-2.40.1-1.fc40.x86_64' 'libicu-devel-74.2-1.fc40.x86_64' 'libffi-devel-3.4.4-7.fc40.x86_64' 'glib2-devel-2.80.3-1.fc40.x86_64' 'graphite2-devel-1.3.14-15.fc40.x86_64' 'bzip2-devel-1.0.8-18.fc40.x86_64' 'brotli-1.1.0-3.fc40.x86_64' 'brotli-devel-1.1.0-3.fc40.x86_64' 'cairo-devel-1.18.0-3.fc40.x86_64' 'fontconfig-devel-2.15.0-6.fc40.x86_64' 'harfbuzz-devel-8.4.0-1.fc40.x86_64' 'freetype-devel-2.13.2-5.fc40.x86_64' 'libXft-devel-2.3.8-6.fc40.x86_64' 'tk-devel-8.6.13-3.fc40.x86_64' 'readline-devel-8.2-8.fc40.x86_64' 'uuid-devel-1.6.2-62.fc40.x86_64' 'libuuid-devel-2.40.1-1.fc40.x86_64' 'sqlite-devel-3.45.1-2.fc40.x86_64' 'python3-pip-23.3.2-1.fc40.noarch' 'zoxide-0.9.2-3.fc40.x86_64' 'libgcc-14.1.1-6.fc40.x86_64' 'libstdc++-14.1.1-6.fc40.x86_64' 'gstreamer1-1.24.5-1.fc40.x86_64' 'kernel-modules-core-6.9.5-200.fc40.x86_64' 'kernel-core-6.9.5-200.fc40.x86_64' 'samba-common-4.20.2-1.fc40.noarch' 'mesa-filesystem-24.1.2-2.fc40.x86_64' 'libgomp-14.1.1-6.fc40.x86_64' 'libatomic-14.1.1-6.fc40.x86_64' 'ImageMagick-libs-7.1.1.33-1.fc40.x86_64' 'mesa-va-drivers-24.1.2-2.fc40.x86_64' 'mesa-libglapi-24.1.2-2.fc40.x86_64' 'mesa-dri-drivers-24.1.2-2.fc40.x86_64' 'mesa-libgbm-24.1.2-2.fc40.x86_64' 'gstreamer1-plugins-base-1.24.5-1.fc40.x86_64' 'gstreamer1-plugins-bad-free-libs-1.24.5-1.fc40.x86_64' 'gstreamer1-plugins-good-1.24.5-1.fc40.x86_64' 'gstreamer1-plugins-good-qt-1.24.5-1.fc40.x86_64' 'kernel-modules-6.9.5-200.fc40.x86_64' 'lld-libs-18.1.6-1.fc40.x86_64' 'libstdc++-devel-14.1.1-6.fc40.x86_64' 'selinux-policy-40.23-1.fc40.noarch' 'selinux-policy-targeted-40.23-1.fc40.noarch' 'zig-libs-0.13.0-1.fc40.noarch' 'libldb-2.9.1-1.fc40.x86_64' 'libwbclient-4.20.2-1.fc40.x86_64' 'samba-common-libs-4.20.2-1.fc40.x86_64' 'samba-client-libs-4.20.2-1.fc40.x86_64' 'cpp-14.1.1-6.fc40.x86_64' 'gcc-14.1.1-6.fc40.x86_64' 'kernel-devel-6.9.5-200.fc40.x86_64' 'clang16-resource-filesystem-16.0.6-8.fc40.noarch' 'clang-resource-filesystem-18.1.6-3.fc40.noarch' 'clang-libs-18.1.6-3.fc40.x86_64' 'zig-0.13.0-1.fc40.x86_64' 'clang16-libs-16.0.6-8.fc40.x86_64' 'kernel-devel-matched-6.9.5-200.fc40.x86_64' 'gcc-c++-14.1.1-6.fc40.x86_64' 'gcc-plugin-annobin-14.1.1-6.fc40.x86_64' 'libgccjit-14.1.1-6.fc40.x86_64' 'libsmbclient-4.20.2-1.fc40.x86_64' 'kernel-6.9.5-200.fc40.x86_64' 'gstreamer1-plugins-bad-free-1.24.5-1.fc40.x86_64' 'mesa-libEGL-24.1.2-2.fc40.x86_64' 'mesa-libGL-24.1.2-2.fc40.x86_64' 'ImageMagick-7.1.1.33-1.fc40.x86_64' 'mesa-libxatracker-24.1.2-2.fc40.x86_64' 'mesa-vulkan-drivers-24.1.2-2.fc40.x86_64' 'libgfortran-14.1.1-6.fc40.x86_64' 'libquadmath-14.1.1-6.fc40.x86_64' 'python3-PyMySQL-1.1.1-1.fc40.noarch' 'libxslt-1.1.41-1.fc40.x86_64' 'libmaxminddb-1.10.0-1.fc40.x86_64' 'fribidi-1.0.14-2.fc40.x86_64' 'freeglut-3.6.0-1.fc40.x86_64' 'exfatprogs-1.2.4-1.fc40.x86_64' 'kmod-nvidia-6.9.5-200.fc40.x86_64-550.90.07-1.fc40.x86_64' 'ruby-libs-3.3.2-9.fc40.x86_64' 'rubypick-1.1.1-20.fc40.noarch' 'ruby-3.3.2-9.fc40.x86_64' 'rubygem-bigdecimal-3.1.5-9.fc40.x86_64' 'ruby-default-gems-3.3.2-9.fc40.noarch' 'rubygem-bundler-2.5.9-9.fc40.noarch' 'rubygem-io-console-0.7.1-9.fc40.x86_64' 'rubygem-psych-5.1.2-9.fc40.x86_64' 'rubygems-3.5.9-9.fc40.noarch' 'rubygem-json-2.7.1-203.fc40.x86_64' 'rubygem-rdoc-6.6.3.1-9.fc40.noarch' 'perl-Time-Duration-1.21-16.fc40.noarch' 'perl-IO-Tty-1.20-3.fc40.x86_64' 'perl-IPC-Run-20231003.0-3.fc40.noarch' 'moreutils-0.68-1.fc40.x86_64' 'shadow-utils-subid-4.15.1-3.fc40.x86_64' 'composefs-libs-1.0.3-1.fc40.x86_64' 'ostree-libs-2024.6-2.fc40.x86_64' 'composefs-1.0.3-1.fc40.x86_64' 'passt-0^20240607.g8a83b53-1.fc40.x86_64' 'passt-selinux-0^20240607.g8a83b53-1.fc40.noarch' 'gvisor-tap-vsock-gvforwarder-0.7.3-2.fc40.x86_64' 'gvisor-tap-vsock-0.7.3-2.fc40.x86_64' 'flatpak-session-helper-1.15.8-1.fc40.x86_64' 'qemu-user-static-x86-8.2.2-1.fc40.x86_64' 'qemu-user-static-arm-8.2.2-1.fc40.x86_64' 'qemu-user-static-aarch64-8.2.2-1.fc40.x86_64' 'ostree-2024.6-2.fc40.x86_64' 'flatpak-selinux-1.15.8-1.fc40.noarch' 'container-selinux-2.232.1-1.fc40.noarch' 'containers-common-0.59.1-2.fc40.noarch' 'skopeo-1.15.1-1.fc40.x86_64' 'aardvark-dns-1.11.0-1.fc40.x86_64' 'netavark-1.11.0-1.fc40.x86_64' 'yajl-2.1.0-23.fc40.x86_64' 'qemu-user-static-xtensa-8.2.2-1.fc40.x86_64' 'qemu-user-static-sparc-8.2.2-1.fc40.x86_64' 'qemu-user-static-sh4-8.2.2-1.fc40.x86_64' 'qemu-user-static-s390x-8.2.2-1.fc40.x86_64' 'qemu-user-static-riscv-8.2.2-1.fc40.x86_64' 'qemu-user-static-ppc-8.2.2-1.fc40.x86_64' 'qemu-user-static-or1k-8.2.2-1.fc40.x86_64' 'qemu-user-static-nios2-8.2.2-1.fc40.x86_64' 'qemu-user-static-mips-8.2.2-1.fc40.x86_64' 'qemu-user-static-microblaze-8.2.2-1.fc40.x86_64' 'qemu-user-static-m68k-8.2.2-1.fc40.x86_64' 'qemu-user-static-loongarch64-8.2.2-1.fc40.x86_64' 'qemu-user-static-hppa-8.2.2-1.fc40.x86_64' 'qemu-user-static-hexagon-8.2.2-1.fc40.x86_64' 'qemu-user-static-cris-8.2.2-1.fc40.x86_64' 'qemu-user-static-alpha-8.2.2-1.fc40.x86_64' 'qemu-user-static-8.2.2-1.fc40.x86_64' 'p11-kit-server-0.25.3-4.fc40.x86_64' 'malcontent-libs-0.11.1-5.fc40.x86_64' 'flatpak-1.15.8-1.fc40.x86_64' 'libnet-1.3-3.fc40.x86_64' 'criu-3.19-4.fc40.x86_64' 'criu-libs-3.19-4.fc40.x86_64' 'crun-1.15-1.fc40.x86_64' 'containers-common-extra-0.59.1-2.fc40.noarch' 'hiredis-1.0.2-7.fc40.x86_64' 'ccache-4.9.1-1.fc40.x86_64' 'conmon-2.1.10-1.fc40.x86_64' 'catatonit-0.1.7-22.fc40.x86_64' 'podman-5.1.1-1.fc40.x86_64' 'appstream-compose-1.0.2-2.fc40.x86_64' 'flatpak-builder-1.4.1-1.fc40.x86_64' 'toolbox-0.0.99.5-11.fc40.x86_64' 'buildah-1.36.0-1.fc40.x86_64' 'gpg-pubkey-d651ff2e-5dadbbc1' 'sdl12-compat-1.2.68-2.fc40.x86_64' 'libkate-0.4.1-29.fc40.x86_64' 'libebml-1.4.5-1.fc40.x86_64' 'libmatroska-1.7.1-6.fc40.x86_64' 'libtiger-0.3.4-28.fc40.x86_64' 'SDL_image-1.2.12-37.fc40.x86_64' 'x265-libs-3.6-2.fc40.x86_64' 'x264-libs-0.164-13.20231001git31e19f92.fc40.x86_64' 'faad2-libs-2.11.1-2.fc40.x86_64' 'qt5-qtsvg-5.15.14-1.fc40.x86_64' 'libupnp-1.14.19-1.fc40.x86_64' 'libspatialaudio-3.1-15.20200406gitd926a2e.fc40.x86_64' 'libproxy-bin-0.5.5-1.fc40.x86_64' 'vlc-libs-3.0.21-1.fc40.x86_64' 'vlc-plugins-freeworld-3.0.21-1.fc40.x86_64' 'libmpcdec-1.3.0-0.4.20110810svn475.fc40.x86_64' 'gstreamer1-plugin-openh264-1.24.5-1.fc40.x86_64' 'gstreamer1-plugin-libav-1.24.5-1.fc40.x86_64' 'speexdsp-1.2.1-6.fc40.x86_64' 'schroedinger-1.0.11-30.fc40.x86_64' 'protobuf-lite-3.19.6-8.fc40.x86_64' 'live555-2023.06.20-4.fc40.x86_64' 'libusb-compat-0.1-0.1.8-7.fc40.x86_64' 'lirc-libs-0.10.0-42.fc40.x86_64' 'libnfs-5.0.3-1.fc40.x86_64' 'libmtp-1.1.19-7.fc40.x86_64' 'libmpeg2-0.5.1-29.fc40.x86_64' 'libmicrodns-0.2.0-9.fc40.x86_64' 'libmad-0.16.4-3.fc40.x86_64' 'libdvbpsi-1.3.3-11.fc40.x86_64' 'libdca-0.0.7-11.fc40.x86_64' 'libcddb-1.3.2-43.fc40.x86_64' 'liba52-0.7.4-48.fc40.x86_64' 'kde-filesystem-5-3.fc40.x86_64' 'gnu-free-fonts-common-20120503-33.fc40.noarch' 'gnu-free-sans-fonts-20120503-33.fc40.noarch' 'daala-libs-0-27.20200724git694d4ce.fc40.x86_64' 'vlc-plugins-base-3.0.21-1.fc40.x86_64' 'vlc-plugin-lua-3.0.21-1.fc40.x86_64' 'vlc-cli-3.0.21-1.fc40.x86_64' 'vlc-plugin-pipewire-3-2.fc40.x86_64' 'vlc-plugin-notify-3.0.21-1.fc40.x86_64' 'vlc-plugin-visualization-3.0.21-1.fc40.x86_64' 'aalib-libs-1.4.0-0.50.rc5.fc40.x86_64' 'vlc-plugins-video-out-3.0.21-1.fc40.x86_64' 'vlc-plugin-ffmpeg-3.0.21-1.fc40.x86_64' 'vlc-gui-qt-3.0.21-1.fc40.x86_64' 'vlc-gui-skins2-3.0.21-1.fc40.x86_64' 'vlc-3.0.21-1.fc40.x86_64' 'vlc-plugin-gstreamer-3.0.21-1.fc40.x86_64' 'librevenge-0.0.5-7.fc40.x86_64' 'libreoffice-data-24.2.4.2-2.fc40.x86_64' 'javapackages-filesystem-6.2.0-9.fc40.noarch' 'libmwaw-0.3.22-3.fc40.x86_64' 'libodfgen-0.1.8-11.fc40.x86_64' 'libstaroffice-0.0.7-13.fc40.x86_64' 'raptor2-2.0.15-43.fc40.x86_64' 'libtommath-1.2.1-3.fc40.x86_64' 'libfbclient2-4.0.4.3010-3.fc40.x86_64' 'liberation-fonts-common-2.1.5-9.fc40.noarch' 'libwpd-0.10.3-19.fc40.x86_64' 'libwpg-0.3.4-3.fc40.x86_64' 'libwps-0.4.14-3.fc40.x86_64' 'xmlsec1-1.2.37-7.fc40.x86_64' 'mythes-1.2.5-6.fc40.x86_64' 'clucene-core-2.3.3.4-48.20130812.e8e3d20git.fc40.x86_64' 'clucene-contribs-lib-2.3.3.4-48.20130812.e8e3d20git.fc40.x86_64' 'mythes-en-3.0-39.fc40.noarch' 'xmlsec1-nss-1.2.37-7.fc40.x86_64' 'liberation-mono-fonts-2.1.5-9.fc40.noarch' 'liberation-sans-fonts-2.1.5-9.fc40.noarch' 'liberation-serif-fonts-2.1.5-9.fc40.noarch' 'firebird-utils-4.0.4.3010-3.fc40.x86_64' 'libtomcrypt-1.18.2-19.fc40.x86_64' 'rasqal-0.9.33-28.fc40.x86_64' 'redland-1.0.17-37.fc40.x86_64' 'libabw-0.1.3-15.fc40.x86_64' 'libcdr-0.1.7-17.fc40.x86_64' 'libepubgen-0.1.1-18.fc40.x86_64' 'libfreehand-0.1.2-23.fc40.x86_64' 'libmspub-0.1.4-32.fc40.x86_64' 'libpagemaker-0.0.4-23.fc40.x86_64' 'libqxp-0.0.2-26.fc40.x86_64' 'libvisio-0.1.7-23.fc40.x86_64' 'libzmf-0.0.2-34.fc40.x86_64' 'tzdata-java-2024a-5.fc40.noarch' 'libreoffice-ure-common-24.2.4.2-2.fc40.x86_64' 'libreoffice-opensymbol-fonts-24.2.4.2-2.fc40.noarch' 'gstreamer1-plugins-good-gtk-1.24.5-1.fc40.x86_64' 'boost-iostreams-1.83.0-5.fc40.x86_64' 'liborcus-0.19.2-4.fc40.x86_64' 'boost-date-time-1.83.0-5.fc40.x86_64' 'libcmis-0.6.2-5.fc40.x86_64' 'boost-chrono-1.83.0-5.fc40.x86_64' 'boost-locale-1.83.0-5.fc40.x86_64' 'autocorr-en-24.2.4.2-2.fc40.noarch' 'zxing-cpp-2.0.0-6.fc40.x86_64' 'zxcvbn-c-2.5-2.fc40.x86_64' 'mariadb-connector-c-config-3.3.8-3.fc40.noarch' 'mariadb-connector-c-3.3.8-3.fc40.x86_64' 'lua-posix-36.2.1-6.fc40.x86_64' 'lua-5.4.6-5.fc40.x86_64' 'copy-jdk-configs-4.1-5.fc40.noarch' 'lpsolve-5.5.2.11-5.fc40.x86_64' 'lksctp-tools-1.0.19-6.fc40.x86_64' 'java-21-openjdk-headless-21.0.3.0.9-1.fc40.x86_64' 'javapackages-tools-6.2.0-9.fc40.noarch' 'libbase-1.1.3-42.fc40.noarch' 'libloader-1.1.3-44.fc40.noarch' 'sac-1.3-46.fc40.noarch' 'flute-1.3.0-37.OOo31.fc40.noarch' 'libfonts-1.1.3-46.fc40.noarch' 'pentaho-libxml-1.1.3-42.fc40.noarch' 'librepository-1.1.3-43.fc40.noarch' 'liblayout-0.2.10-36.fc40.noarch' 'libformula-1.1.3-43.fc40.noarch' 'libserializer-1.1.2-42.fc40.noarch' 'pentaho-reporting-flow-engine-0.9.4-35.fc40.noarch' 'ongres-stringprep-1.1-12.fc40.noarch' 'ongres-scram-2.1-13.fc40.noarch' 'ongres-scram-client-2.1-13.fc40.noarch' 'postgresql-jdbc-42.7.3-1.fc40.noarch' 'libnumbertext-1.0.11-6.fc40.x86_64' 'liblangtag-data-0.6.7-3.fc40.noarch' 'liblangtag-0.6.7-3.fc40.x86_64' 'libreoffice-ure-24.2.4.2-2.fc40.x86_64' 'libetonyek-0.1.11~20230802.git9c3a8cb-5.fc40.x86_64' 'libe-book-0.1.3-35.fc40.x86_64' 'libib-util-4.0.4.3010-3.fc40.x86_64' 'firebird-4.0.4.3010-3.fc40.x86_64' 'libexttextcat-3.4.6-9.fc40.x86_64' 'libeot-0.01-31.fc40.x86_64' 'libargon2-20190702-5.fc40.x86_64' 'hyphen-en-2.8.8-24.fc40.noarch' 'google-crosextra-caladea-fonts-1.002-0.18.20130214.fc40.noarch' 'google-carlito-fonts-1.103-0.24.20130920.fc40.noarch' 'Box2D-2.4.1-14.fc40.x86_64' 'libreoffice-gtk3-24.2.4.2-2.fc40.x86_64' 'gtk4-4.14.4-2.fc40.x86_64' 'libreoffice-gtk4-24.2.4.2-2.fc40.x86_64' 'libreoffice-help-en-24.2.4.2-2.fc40.x86_64' 'libreoffice-langpack-en-24.2.4.2-2.fc40.x86_64' 'libreoffice-x11-24.2.4.2-2.fc40.x86_64' 'libreoffice-core-24.2.4.2-2.fc40.x86_64' 'libreoffice-pyuno-24.2.4.2-2.fc40.x86_64' 'libreoffice-pdfimport-24.2.4.2-2.fc40.x86_64' 'libreoffice-graphicfilter-24.2.4.2-2.fc40.x86_64' 'libreoffice-ogltrans-24.2.4.2-2.fc40.x86_64' 'libreoffice-calc-24.2.4.2-2.fc40.x86_64' 'libreoffice-writer-24.2.4.2-2.fc40.x86_64' 'libreoffice-emailmerge-24.2.4.2-2.fc40.x86_64' 'libreoffice-base-24.2.4.2-2.fc40.x86_64' 'libreoffice-draw-24.2.4.2-2.fc40.x86_64' 'libreoffice-impress-24.2.4.2-2.fc40.x86_64' 'libreoffice-math-24.2.4.2-2.fc40.x86_64' 'kernel-modules-extra-6.9.5-200.fc40.x86_64' 'urlview-0.9-37.20131022git08767a.fc40.x86_64' 'tokyocabinet-1.4.48-24.fc40.x86_64' 'slang-slsh-2.3.3-5.fc40.x86_64' 'python3-sgmllib3k-1.0.0-13.fc40.noarch' 'python3-feedparser-6.0.11-1.fc40.noarch' 'python3-pyxdg-0.27-11.fc40.noarch' 'python3-html2text-2024.2.25-1.fc40.noarch' 'perl-Time-ParseDate-2015.103-27.fc40.noarch' 'perl-NKF-2.1.4-32.fc40.x86_64' 'w3m-0.5.3-63.git20230121.fc40.x86_64' 'perl-LWP-Protocol-https-6.14-1.fc40.noarch' 'pakchois-0.4-30.fc40.x86_64' 'neon-0.33.0-1.fc40.x86_64' 'libtorrent-0.13.8-15.fc40.x86_64' 'libotr-4.1.1-20.fc40.x86_64' 'libntlm-1.6-9.fc40.x86_64' 'libidn-1.42-3.fc40.x86_64' 'libgsasl-1.10.0-8.fc40.x86_64' 'libesmtp-1.0.6-30.fc40.x86_64' 'esmtp-1.2-24.fc40.x86_64' 'rss2email-3.14-6.fc40.noarch' 'elinks-0.17.0-4.fc40.x86_64' 'cyrus-sasl-2.1.28-19.fc40.x86_64' 'AtomicParsley-0.9.5-25.fc40.x86_64' 'youtube-dl-2023.08.04.git86e3cf5-2.20230815git86e3cf5.fc40.noarch' 'isync-1.4.4-8.fc40.x86_64' 'abook-0.6.1-25.fc40.x86_64' 'rss2email-zsh-completion-3.14-6.fc40.noarch' 'alpine-2.26-8.fc40.x86_64' 'nmh-1.8-5.fc40.x86_64' 'websec-1.9.0-36.fc40.noarch' 'tin-2.6.3-4.fc40.x86_64' 'irssi-1.4.5-3.fc40.x86_64' 'rtorrent-0.9.8-15.fc40.x86_64' 'cadaver-0.24-5.fc40.x86_64' 'centerim-4.22.10-44.fc40.x86_64' 'slrn-1.0.3a-15.fc40.x86_64' 'mutt-2.2.12-4.fc40.x86_64' 'wondershaper-1.2.1-21.fc40.noarch' 'iperf-2.2.0-1.fc40.x86_64' 'whatmask-1.2-34.fc40.x86_64' 'tftp-5.2-42.fc40.x86_64' 'snownews-1.9-7.fc40.x86_64' 'offlineimap-8.0.0-12.fc40.noarch' 'ncftp-3.2.7-1.fc40.x86_64' 'mailprocessing-1.2.7-7.fc40.noarch' 'libtranslate-0.99-117.fc40.x86_64' 'lftp-4.9.2-13.fc40.x86_64' 'fetchmail-6.4.38-1.fc40.x86_64' 'epic-2.10.10-11.fc40.x86_64' 'deletemail-0.5-35.fc40.x86_64' 'axel-2.17.13-1.fc40.x86_64' 'argus-3.0.8.2-25.fc40.x86_64' 'texlive-iftex-svn61910-71.fc40.noarch' 'texlive-amsmath-svn63514-71.fc40.noarch' 'libadwaita-1.5.1-1.fc40.x86_64' 'gcr-libs-4.3.0-1.fc40.x86_64' 'texlive-url-svn32528.3.4-71.fc40.noarch' 'texlive-pdftexcmds-svn55777-71.fc40.noarch' 'texlive-ltxcmds-svn56421-71.fc40.noarch' 'texlive-kvoptions-svn63622-71.fc40.noarch' 'texlive-amsfonts-svn61937-71.fc40.noarch' 'texlive-atbegshi-svn53051-71.fc40.noarch' 'libsigc++20-2.12.1-2.fc40.x86_64' 'texlive-infwarerr-svn53023-71.fc40.noarch' 'texlive-etex-pkg-svn41784-71.fc40.noarch' 'texlive-etoolbox-svn56554-71.fc40.noarch' 'texlive-booktabs-svn53402-71.fc40.noarch' 'texlive-babel-svn65823-71.fc40.noarch' 'texlive-atveryend-svn53108-71.fc40.noarch' 'perl-Module-Runtime-0.016-22.fc40.noarch' 'perl-Dist-CheckConflicts-0.11-30.fc40.noarch' 'perl-Module-Implementation-0.09-39.fc40.noarch' 'glibmm2.4-2.66.7-1.fc40.x86_64' 'ibus-libs-1.5.30-5.fc40.x86_64' 'texlive-pdfescape-svn53082-71.fc40.noarch' 'texlive-latex-fonts-svn28888.0-71.fc40.noarch' 'texlive-etexcmds-svn53171-71.fc40.noarch' 'texlive-auxhook-svn53173-71.fc40.noarch' 'python3-pygments-2.17.2-3.fc40.noarch' 'perl-Net-DNS-1.43-1.fc40.noarch' 'libewf-20140608-28.fc40.x86_64' 'libdnet-1.17.0-3.fc40.x86_64' 'gnome-desktop3-44.0-15.fc40.x86_64' 'gnome-desktop4-44.0-15.fc40.x86_64' 'cairomm-1.14.5-3.fc40.x86_64' 'ghostscript-tools-fonts-10.02.1-9.fc40.noarch' 'ghostscript-tools-printing-10.02.1-9.fc40.noarch' 'ghostscript-10.02.1-9.fc40.x86_64' 'libical-3.0.18-1.fc40.x86_64' 'libbson-1.27.2-1.fc40.x86_64' 'gnome-control-center-filesystem-46.2-1.fc40.noarch' 'gnome-session-46.0-1.fc40.x86_64' 'texlive-uniquecounter-svn53162-71.fc40.noarch' 'texlive-setspace-svn65206-71.fc40.noarch' 'texlive-ragged2e-svn66152-71.fc40.noarch' 'texlive-natbib-svn20668.8.31b-71.fc40.noarch' 'texlive-multido-svn18302.1.42-71.fc40.noarch' 'texlive-lm-svn65956-71.fc40.noarch' 'texlive-letltxmacro-svn53022-71.fc40.noarch' 'texlive-l3backend-svn65573-71.fc40.noarch' 'texlive-kvsetkeys-svn64632-71.fc40.noarch' 'texlive-intcalc-svn53168-71.fc40.noarch' 'texlive-hypdoc-svn65678-71.fc40.noarch' 'texlive-hycolor-svn53584-71.fc40.noarch' 'texlive-hologo-svn61719-71.fc40.noarch' 'texlive-graphics-cfg-svn41448-71.fc40.noarch' 'texlive-graphics-svn66204-71.fc40.noarch' 'texlive-tools-svn64892-71.fc40.noarch' 'texlive-xkeyval-svn63616-71.fc40.noarch' 'texlive-geometry-svn61719-71.fc40.noarch' 'texlive-caption-svn66580-71.fc40.noarch' 'texlive-colortbl-svn64015-71.fc40.noarch' 'texlive-fp-svn49719-71.fc40.noarch' 'texlive-footmisc-svn62524-71.fc40.noarch' 'texlive-bigintcalc-svn53172-71.fc40.noarch' 'pulseaudio-libs-glib2-16.1-7.fc40.x86_64' 'perl-Carp-Clan-6.08-18.fc40.noarch' 'net-snmp-libs-5.9.4-5.fc40.x86_64' 'libxfce4util-4.18.2-1.fc40.x86_64' 'afflib-3.7.20-1.fc40.x86_64' 'accountsservice-23.13.9-4.fc40.x86_64' 'accountsservice-libs-23.13.9-4.fc40.x86_64' 'xfconf-4.18.3-2.fc40.x86_64' 'perl-Bit-Vector-7.4-33.fc40.x86_64' 'texlive-bitset-svn53837-71.fc40.noarch' 'texlive-subfig-svn15878.1.3-71.fc40.noarch' 'texlive-carlisle-svn59577-71.fc40.noarch' 'texlive-csquotes-svn64389-71.fc40.noarch' 'texlive-sauerj-svn15878.0-71.fc40.noarch' 'texlive-translator-svn59412-71.fc40.noarch' 'texlive-rerunfilecheck-svn63869-71.fc40.noarch' 'libical-glib-3.0.18-1.fc40.x86_64' 'pangomm-2.46.4-1.fc40.x86_64' 'xdg-desktop-portal-gnome-46.2-1.fc40.x86_64' 'texlive-catchfile-svn53084-71.fc40.noarch' 'texlive-ifplatform-svn45533-71.fc40.noarch' 'atkmm-2.28.4-1.fc40.x86_64' 'texlive-babelbib-svn57349-71.fc40.noarch' 'texlive-memoir-svn65040-71.fc40.noarch' 'tecla-45.0-2.fc40.x86_64' 'texlive-glyphlist-svn54074-82.fc40.noarch' 's-nail-14.9.24-10.fc40.x86_64' 'qt6-qttools-common-6.7.1-1.fc40.noarch' 'python3-traitlets-5.14.1-1.fc40.noarch' 'python3-gobject-3.48.2-1.fc40.x86_64' 'libwinpr2-2.11.7-1.fc40.x86_64' 'freerdp2-libs-2.11.7-1.fc40.x86_64' 'gvfs-client-1.54.1-1.fc40.x86_64' 'bolt-0.9.8-2.fc40.x86_64' 'tinyxml-2.6.2-29.fc40.x86_64' 'texlive-zref-svn62977-71.fc40.noarch' 'texlive-zapfding-svn61719-71.fc40.noarch' 'texlive-underscore-svn18261.0-71.fc40.noarch' 'texlive-ucharcat-svn38907-71.fc40.noarch' 'texlive-stringenc-svn52982-71.fc40.noarch' 'texlive-refcount-svn53164-71.fc40.noarch' 'texlive-placeins-svn19848.2.2-71.fc40.noarch' 'texlive-pdflscape-svn64851-71.fc40.noarch' 'texlive-paralist-svn43021-71.fc40.noarch' 'texlive-palatino-svn61719-71.fc40.noarch' 'texlive-modes-svn61719-71.fc40.noarch' 'texlive-marvosym-svn29349.2.2a-71.fc40.noarch' 'texlive-lua-alt-getopt-svn56414-71.fc40.noarch' 'texlive-latexconfig-svn53525-71.fc40.noarch' 'texlive-kvdefinekeys-svn53193-71.fc40.noarch' 'texlive-index-svn24099.4.1beta-71.fc40.noarch' 'texlive-grffile-svn52756-71.fc40.noarch' 'texlive-grfext-svn53024-71.fc40.noarch' 'texlive-gettitlestring-svn53170-71.fc40.noarch' 'texlive-float-svn15878.1.3d-71.fc40.noarch' 'texlive-firstaid-svn64892-71.fc40.noarch' 'texlive-fancyhdr-svn64977-71.fc40.noarch' 'texlive-fancybox-svn18304.1.4-71.fc40.noarch' 'texlive-everyshi-svn57001-71.fc40.noarch' 'texlive-euler-svn42428-71.fc40.noarch' 'texlive-euenc-svn19795.0.1h-71.fc40.noarch' 'texlive-bookmark-svn56885-71.fc40.noarch' 'switcheroo-control-2.6-5.fc40.x86_64' 'python3-pyqt6-sip-13.6.0-3.fc40.x86_64' 'perl-XML-Writer-0.900-14.fc40.noarch' 'perl-XML-SAX-Base-1.09-23.fc40.noarch' 'perl-XML-NamespaceSupport-1.12-23.fc40.noarch' 'perl-Text-CSV-2.03-3.fc40.noarch' 'perl-Sub-Exporter-Progressive-0.001013-24.fc40.noarch' 'perl-NetAddr-IP-4.079-28.fc40.x86_64' 'perl-IPTables-Parse-1.6.1-26.fc40.noarch' 'perl-Devel-StackTrace-2.05-3.fc40.noarch' 'perl-Date-ISO8601-0.005-20.fc40.noarch' 'perl-DBI-1.643-22.fc40.x86_64' 'mobile-broadband-provider-info-20230416-5.fc40.noarch' 'libnma-gtk4-1.10.6-7.fc40.x86_64' 'malcontent-0.11.1-5.fc40.x86_64' 'libibumad-48.0-4.fc40.x86_64' 'libei-1.2.1-1.fc40.x86_64' 'iio-sensor-proxy-3.5-3.fc40.x86_64' 'gsound-1.0.3-8.fc40.x86_64' 'gnome-bluetooth-libs-46.0-1.fc40.x86_64' 'geocode-glib-3.26.4-11.fc40.x86_64' 'libgweather-4.4.2-1.fc40.x86_64' 'geoclue2-libs-2.7.0-5.fc40.x86_64' 'gcr3-base-3.41.1-8.fc40.x86_64' 'afpfs-ng-0.8.1-43.fc39.x86_64' 'gcr3-3.41.1-8.fc40.x86_64' 'gnome-keyring-46.1-1.fc40.x86_64' 'gnome-keyring-pam-46.1-1.fc40.x86_64' 'infiniband-diags-48.0-4.fc40.x86_64' 'libnma-1.10.6-7.fc40.x86_64' 'nm-connection-editor-1.36.0-2.fc40.x86_64' 'perl-DBD-SQLite-1.74-3.fc40.x86_64' 'perl-IPTables-ChainMgr-1.6-24.fc40.noarch' 'perl-Devel-GlobalDestruction-0.14-24.fc40.noarch' 'perl-XML-SAX-1.02-16.fc40.noarch' 'perl-XML-LibXML-2.0210-1.fc40.x86_64' 'perl-XML-LibXML-Simple-1.01-14.fc40.noarch' 'perl-XML-LibXSLT-2.002.001-5.fc40.x86_64' 'texlive-metafont-svn66186-82.fc40.x86_64' 'rarian-0.8.5-3.fc40.x86_64' 'rarian-compat-0.8.5-3.fc40.x86_64' 'python3-matplotlib-inline-0.1.6-6.fc40.noarch' 'gtkmm3.0-3.24.9-1.fc40.x86_64' 'texlive-auto-pst-pdf-svn56596-71.fc40.noarch' 'perl-Date-Calc-6.4-28.fc40.noarch' 'libxfce4ui-4.18.6-1.fc40.x86_64' 'sleuthkit-libs-4.12.1-2.fc40.x86_64' 'net-snmp-agent-libs-5.9.4-5.fc40.x86_64' 'texlive-breakurl-svn29901.1.40-71.fc40.noarch' 'texlive-fancyref-svn15878.0.9c-71.fc40.noarch' 'texlive-ltabptch-svn17533.1.74d-71.fc40.noarch' 'texlive-mathtools-svn63767-71.fc40.noarch' 'texlive-crop-svn55424-71.fc40.noarch' 'texlive-logreq-svn53003-71.fc40.noarch' 'texlive-microtype-svn66587-71.fc40.noarch' 'texlive-pdfmanagement-testphase-svn66532-71.fc40.noarch' 'texlive-psfrag-svn15878.3.04-71.fc40.noarch' 'libmongocrypt-1.10.0-1.fc40.x86_64' 'mongo-c-driver-libs-1.27.2-1.fc40.x86_64' 'bluez-obexd-5.76-1.fc40.x86_64' 'gnome-bluetooth-46.0-1.fc40.x86_64' 'texlive-thumbpdf-svn62518-82.fc40.noarch' 'perl-Net-DNS-Nameserver-1.43-1.fc40.noarch' 'python3-prompt-toolkit-3.0.41-3.fc40.noarch' 'texlive-dvips-svn66203-82.fc40.x86_64' 'ibus-gtk3-1.5.30-5.fc40.x86_64' 'perl-List-SomeUtils-0.59-5.fc40.noarch' 'perl-Params-Validate-1.31-7.fc40.x86_64' 'texlive-hopatch-svn65491-71.fc40.noarch' 'gcr-4.3.0-1.fc40.x86_64' 'gnome-tour-46.0-2.fc40.x86_64' 'aircrack-ng-doc-1.7-7.fc40.noarch' 'aircrack-ng-1.7-7.fc40.x86_64' 'wsdd-0.8-1.fc40.noarch' 'gvfs-1.54.1-1.fc40.x86_64' 'vte-profile-0.76.3-1.fc40.x86_64' 'vte291-0.76.3-1.fc40.x86_64' 'xfce4-terminal-1.1.3-1.fc40.x86_64' 'uriparser-0.9.8-1.fc40.x86_64' 'libwinpr-3.5.1-1.fc40.x86_64' 'freerdp-libs-3.5.1-1.fc40.x86_64' 'texlive-xdvi-svn62387-82.fc40.x86_64' 'texlive-texlive-en-svn66572-82.fc40.noarch' 'texlive-tex-svn66186-82.fc40.x86_64' 'texlive-mptopdf-svn65952-82.fc40.noarch' 'texlive-mfware-svn66186-82.fc40.x86_64' 'texlive-makeindex-svn62517-82.fc40.x86_64' 'texlive-lwarp-svn66259-82.fc40.noarch' 'texlive-luahbtex-svn66186-82.fc40.x86_64' 'texlive-bibtex-svn66186-82.fc40.x86_64' 'samba-client-4.20.2-1.fc40.x86_64' 'qt6-qttranslations-6.7.1-1.fc40.noarch' 'qt5-qtcharts-5.15.14-1.fc40.x86_64' 'qadwaitadecorations-qt5-0.1.5-4.fc40.x86_64' 'python-pyqt6-rpm-macros-6.7.0-2.fc40.noarch' 'power-profiles-daemon-0.21-3.fc40.x86_64' 'pipewire-gstreamer-1.0.7-2.fc40.x86_64' 'pcp-selinux-6.2.2-3.fc40.x86_64' 'pcp-conf-6.2.2-3.fc40.x86_64' 'pcp-libs-6.2.2-3.fc40.x86_64' 'pcp-6.2.2-3.fc40.x86_64' 'python3-pcp-6.2.2-3.fc40.x86_64' 'mutter-common-46.2-2.fc40.noarch' 'mozjs115-115.12.0-1.fc40.x86_64' 'gjs-1.80.2-2.fc40.x86_64' 'libphonenumber-8.13.35-1.fc40.x86_64' 'javascriptcoregtk6.0-2.44.2-2.fc40.x86_64' 'webkitgtk6.0-2.44.2-2.fc40.x86_64' 'gupnp-av-0.14.1-6.fc40.x86_64' 'gst-editing-services-1.24.5-1.fc40.x86_64' 'gnutls-utils-3.8.5-1.fc40.x86_64' 'freeipmi-1.6.14-2.fc40.x86_64' 'flatpak-libs-1.15.8-1.fc40.x86_64' 'malcontent-ui-libs-0.11.1-5.fc40.x86_64' 'malcontent-control-0.11.1-5.fc40.x86_64' 'enchant-1.6.0-35.fc40.x86_64' 'apt-libs-2.9.2-1.fc40.x86_64' 'xset-1.2.5-5.fc40.x86_64' 'xpdf-libs-4.04-11.fc40.x86_64' 'xmlsec1-openssl-1.2.37-7.fc40.x86_64' 'xdg-user-dirs-gtk-0.11-4.fc40.x86_64' 'wmctrl-1.07-36.fc40.x86_64' 'tslib-1.22-10.fc40.x86_64' 'qt6-qtbase-common-6.7.1-2.fc40.noarch' 'gstreamer1-plugins-good-qt6-1.24.5-1.fc40.x86_64' 'qt6-qtdeclarative-6.7.1-4.fc40.x86_64' 'qt6-qtsvg-6.7.1-1.fc40.x86_64' 'qt6-qtbase-6.7.1-2.fc40.x86_64' 'qadwaitadecorations-qt6-0.1.5-4.fc40.x86_64' 'qt6-qtwayland-6.7.1-1.fc40.x86_64' 'qt6-qtbase-gui-6.7.1-2.fc40.x86_64' 'qt6-qtshadertools-6.7.1-2.fc40.x86_64' 'qt6-qtserialport-6.7.1-1.fc40.x86_64' 'qt6-qtpositioning-6.7.1-1.fc40.x86_64' 'qt6-qt5compat-6.7.1-1.fc40.x86_64' 'python3-pyqt6-base-6.7.0-2.fc40.x86_64' 'qt6-qtpdf-6.7.1-1.fc40.x86_64' 'qt6-qtquicktimeline-6.7.1-1.fc40.x86_64' 'qt6-qtquick3d-6.7.1-1.fc40.x86_64' 'qt6-qtmultimedia-6.7.1-2.fc40.x86_64' 'qt6-qtspeech-6.7.1-1.fc40.x86_64' 'qt6-qtspeech-flite-6.7.1-1.fc40.x86_64' 'qt6-qttools-libs-designer-6.7.1-1.fc40.x86_64' 'qt6-qttools-libs-help-6.7.1-1.fc40.x86_64' 'qt6-qtconnectivity-6.7.1-1.fc40.x86_64' 'qt6-qtremoteobjects-6.7.1-1.fc40.x86_64' 'qt6-qtsensors-6.7.1-1.fc40.x86_64' 'qt6-qtwebchannel-6.7.1-1.fc40.x86_64' 'qt6-qtwebsockets-6.7.1-1.fc40.x86_64' 'python3-pyqt6-6.7.0-2.fc40.x86_64' 'tre-common-0.8.0-43.20140228gitc2f5d13.fc40.noarch' 'tre-0.8.0-43.20140228gitc2f5d13.fc40.x86_64' 'tomsfastmath-0.13.1-14.fc40.x86_64' 'pixiewps-1.4.2-16.fc40.x86_64' 'texlive-xstring-svn65551-71.fc40.noarch' 'texlive-xetexconfig-svn45845-71.fc40.noarch' 'texlive-varwidth-svn24104.0.92-71.fc40.noarch' 'texlive-utopia-svn15878.0-71.fc40.noarch' 'texlive-transparent-svn64852-71.fc40.noarch' 'texlive-titlesec-svn59845-71.fc40.noarch' 'texlive-times-svn61719-71.fc40.noarch' 'texlive-textcase-svn63868-71.fc40.noarch' 'texlive-texlive-msg-translations-svn66593-71.fc40.noarch' 'texlive-texlive-common-doc-svn54176-71.fc40.noarch' 'texlive-symbol-svn61719-71.fc40.noarch' 'texlive-sepnum-svn20186.2.0-71.fc40.noarch' 'texlive-section-svn20180.0-71.fc40.noarch' 'texlive-sansmath-svn17997.1.1-71.fc40.noarch' 'texlive-rsfs-svn15878.0-71.fc40.noarch' 'texlive-rcs-svn15878.0-71.fc40.noarch' 'texlive-pst-math-svn64732-71.fc40.noarch' 'texlive-pspicture-svn15878.0-71.fc40.noarch' 'texlive-pslatex-svn57434-71.fc40.noarch' 'texlive-picture-svn54867-71.fc40.noarch' 'texlive-pdfcolmk-svn52912-71.fc40.noarch' 'texlive-xcolor-svn63563-71.fc40.noarch' 'texlive-eso-pic-svn56658-71.fc40.noarch' 'texlive-ctable-svn38672-71.fc40.noarch' 'texlive-pdfcolfoot-svn65512-71.fc40.noarch' 'texlive-pdfcol-svn64469-71.fc40.noarch' 'texlive-parskip-svn58358-71.fc40.noarch' 'texlive-parallel-svn15878.0-71.fc40.noarch' 'texlive-pagesel-svn56105-71.fc40.noarch' 'texlive-ntgclass-svn65522-71.fc40.noarch' 'texlive-notoccite-svn18129.0-71.fc40.noarch' 'texlive-newfloat-svn52906-71.fc40.noarch' 'texlive-mparhack-svn59066-71.fc40.noarch' 'texlive-mfnfss-svn46036-71.fc40.noarch' 'texlive-mflogo-svn42428-71.fc40.noarch' 'texlive-mdwtools-svn15878.1.05.4-71.fc40.noarch' 'texlive-marginnote-svn48383-71.fc40.noarch' 'texlive-makecmds-svn15878.0-71.fc40.noarch' 'texlive-lualibs-svn64615-71.fc40.noarch' 'texlive-luabidi-svn54512-71.fc40.noarch' 'texlive-lua-uni-algos-svn62204-71.fc40.noarch' 'texlive-lm-math-svn36915.1.959-71.fc40.noarch' 'texlive-latexbug-svn63596-71.fc40.noarch' 'texlive-latex-lab-svn64892-71.fc40.noarch' 'texlive-knuth-local-svn57963-71.fc40.noarch' 'texlive-kastrup-svn15878.0-71.fc40.noarch' 'texlive-ifmtarg-svn47544-71.fc40.noarch' 'texlive-hyphenex-svn57387-71.fc40.noarch' 'texlive-hobsub-svn52810-71.fc40.noarch' 'texlive-hyperref-svn65758-71.fc40.noarch' 'texlive-attachfile-svn42099-71.fc40.noarch' 'texlive-attachfile2-svn57959-82.fc40.noarch' 'texlive-helvetic-svn61719-71.fc40.noarch' 'texlive-fpl-svn54512-71.fc40.noarch' 'texlive-mathpazo-svn52663-71.fc40.noarch' 'texlive-footnotehyper-svn60374-71.fc40.noarch' 'texlive-fix2col-svn38770-71.fc40.noarch' 'texlive-finstrut-svn21719.0.5-71.fc40.noarch' 'texlive-lineno-svn65586-71.fc40.noarch' 'texlive-filecontents-svn52142-71.fc40.noarch' 'texlive-everysel-svn57489-71.fc40.noarch' 'texlive-enumitem-svn51423-71.fc40.noarch' 'texlive-enctex-svn34957.0-71.fc40.noarch' 'texlive-ec-svn25033.1.0-71.fc40.noarch' 'texlive-dehyph-svn48599-71.fc40.noarch' 'texlive-pdftex-svn66243-82.fc40.x86_64' 'texlive-ctablestack-svn38514-71.fc40.noarch' 'texlive-luatexbase-svn52663-71.fc40.noarch' 'texlive-luaotfload-svn64616-82.fc40.noarch' 'texlive-courier-svn61719-71.fc40.noarch' 'texlive-colorprofiles-svn49086-71.fc40.noarch' 'texlive-cmap-svn57640-71.fc40.noarch' 'texlive-cite-svn36428.5.5-71.fc40.noarch' 'texlive-charter-svn15878.0-71.fc40.noarch' 'texlive-changepage-svn15878.1.0c-71.fc40.noarch' 'texlive-bookman-svn61719-71.fc40.noarch' 'texlive-beton-svn15878.0-71.fc40.noarch' 'texlive-babel-english-svn44495-71.fc40.noarch' 'texlive-avantgar-svn61983-71.fc40.noarch' 'texlive-psnfss-svn54694-71.fc40.noarch' 'texlive-anysize-svn15878.0-71.fc40.noarch' 'texlive-alphalph-svn53087-71.fc40.noarch' 'teckit-2.5.12-2.fc40.x86_64' 'sslscan-2.0.6-8.fc40.x86_64' 'srecord-1.65.0-2.fc40.x86_64' 'spandsp-0.0.6-18.fc40.x86_64' 'scanmem-libs-0.17-16.fc40.1.x86_64' 'rubygem-snmp-1.3.2-9.fc40.noarch' 'rest-0.9.1-9.fc40.x86_64' 'msgraph-0.2.1-1.fc40.x86_64' 'gnome-online-accounts-3.50.2-1.fc40.x86_64' 'libgdata-0.18.1-11.fc40.x86_64' 'gvfs-goa-1.54.1-1.fc40.x86_64' 'redhat-menus-12.0.2-26.fc40.noarch' 'python3-requests-toolbelt-1.0.0-5.fc40.noarch' 'python3-pysocks-1.7.1-22.fc40.noarch' 'python3-requests+socks-2.31.0-3.fc40.noarch' 'python3-pure-eval-0.2.2-8.fc40.noarch' 'python3-pcapy-0.11.5-23.fc40.x86_64' 'python3-parso-0.8.3-9.fc40.noarch' 'python3-jedi-0.19.1-3.fc40.noarch' 'python3-pam-2.0.2-8.fc40.noarch' 'python3-networkx-3.2.1-4.fc40.noarch' 'python3-mdurl-0.1.2-6.fc40.noarch' 'python3-markdown-it-py-3.0.0-4.fc40.noarch' 'python3-rich-13.7.0-5.fc40.noarch' 'python3-executing-2.0.1-3.fc40.noarch' 'python3-asttokens-2.4.1-4.fc40.noarch' 'python3-stack-data-0.6.3-3.fc40.noarch' 'pinentry-1.3.0-2.fc40.x86_64' 'pinentry-gnome3-1.3.0-2.fc40.x86_64' 'evolution-data-server-langpacks-3.52.2-1.fc40.noarch' 'evolution-data-server-3.52.2-1.fc40.x86_64' 'perltidy-20240202-1.fc40.noarch' 'perl-autovivification-0.18-22.fc40.x86_64' 'perl-XString-0.005-12.fc40.x86_64' 'perl-XML-Dumper-0.81-49.fc40.noarch' 'perl-Variable-Magic-0.64-1.fc40.x86_64' 'perl-B-Hooks-EndOfScope-0.28-1.fc40.noarch' 'perl-Unix-Syslog-1.1-49.fc40.x86_64' 'perl-Tie-Cycle-1.228-1.fc40.noarch' 'perl-Text-Soundex-3.05-30.fc40.x86_64' 'perl-Text-Roman-3.5-27.fc40.noarch' 'perl-Text-BibTeX-0.89-5.fc40.x86_64' 'perl-Sub-Identify-0.14-26.fc40.x86_64' 'perl-String-Random-0.32-8.fc40.noarch' 'perl-Sort-Key-1.33-30.fc40.x86_64' 'perl-Regexp-Common-2017060201-24.fc40.noarch' 'perl-Ref-Util-XS-0.117-22.fc40.x86_64' 'perl-Ref-Util-0.204-20.fc40.noarch' 'perl-Readonly-2.05-24.fc40.noarch' 'perl-Parse-RecDescent-1.967015-22.fc40.noarch' 'perl-PadWalker-2.5-13.fc40.x86_64' 'perl-Devel-Caller-2.07-5.fc40.x86_64' 'perl-Devel-LexAlias-0.05-36.fc40.x86_64' 'perl-Eval-Closure-0.14-23.fc40.noarch' 'perl-Package-Stash-XS-0.30-7.fc40.x86_64' 'perl-Package-Stash-0.40-7.fc40.noarch' 'perl-namespace-clean-0.27-26.fc40.noarch' 'perl-namespace-autoclean-0.29-18.fc40.noarch' 'perl-Number-Compare-0.03-38.fc40.noarch' 'perl-File-Find-Rule-0.34-28.fc40.noarch' 'perl-Data-Compare-1.29-4.fc40.noarch' 'perl-NetPacket-1.7.2-16.fc40.noarch' 'perl-Net-SMTP-SSL-1.04-24.fc40.noarch' 'perl-MailTools-2.21-16.fc40.noarch' 'perl-Net-RawIP-0.25-48.fc40.x86_64' 'perl-Net-Pcap-0.21-5.fc40.x86_64' 'perl-Net-Netmask-2.0002-5.fc40.noarch' 'perl-Net-IP-1.26-33.fc40.noarch' 'perl-Mail-Sendmail-0.80-20.fc40.noarch' 'perl-Mail-Sender-0.903-24.fc40.noarch' 'perl-MIME-Types-2.26-1.fc40.noarch' 'perl-List-UtilsBy-0.12-9.fc40.noarch' 'perl-List-AllUtils-0.19-12.fc40.noarch' 'perl-List-MoreUtils-XS-0.430-13.fc40.x86_64' 'perl-Lingua-Translit-0.29-6.fc40.noarch' 'perl-Lexical-SealRequireHints-0.012-5.fc40.x86_64' 'perl-Lexical-Var-0.010-5.fc40.x86_64' 'perl-Exporter-Tiny-1.006002-4.fc40.noarch' 'perl-List-MoreUtils-0.430-11.fc40.noarch' 'perl-JSON-4.10-5.fc40.noarch' 'perl-IPC-Run3-0.049-1.fc40.noarch' 'perl-IO-String-1.08-50.fc40.noarch' 'perl-HTML-Tree-5.07-26.fc40.noarch' 'perl-HTML-Form-6.11-5.fc40.noarch' 'perl-WWW-Mechanize-2.18-1.fc40.noarch' 'perl-GSSAPI-0.28-45.fc40.x86_64' 'perl-Authen-SASL-2.1700-3.fc40.noarch' 'perl-GD-2.78-5.fc40.x86_64' 'perl-GD-Barcode-2.00-4.fc40.noarch' 'perl-Business-ISMN-1.203-4.fc40.noarch' 'perl-Email-Date-Format-1.008-4.fc40.noarch' 'perl-MIME-Lite-3.033-10.fc40.noarch' 'perl-DynaLoader-Functions-0.004-4.fc40.noarch' 'perl-Devel-CallChecker-0.009-5.fc40.x86_64' 'perl-Params-Classify-0.015-22.fc40.x86_64' 'perl-DateTime-TimeZone-SystemV-0.010-21.fc40.noarch' 'perl-DateTime-TimeZone-Tzfile-0.011-21.fc40.noarch' 'perl-Date-Manip-6.95-1.fc40.noarch' 'perl-Data-Uniqid-0.12-33.fc40.noarch' 'perl-Cpanel-JSON-XS-4.37-6.fc40.x86_64' 'perl-Convert-ASN1-0.34-3.fc40.noarch' 'perl-LDAP-0.68-13.fc40.noarch' 'perl-Class-XSAccessor-1.19-34.fc40.x86_64' 'perl-Class-Singleton-1.6-11.fc40.noarch' 'perl-Class-Method-Modifiers-2.15-4.fc40.noarch' 'perl-Role-Tiny-2.002004-11.fc40.noarch' 'perl-Specio-0.48-6.fc40.noarch' 'perl-Class-Inspector-1.36-16.fc40.noarch' 'perl-File-ShareDir-1.118-11.fc40.noarch' 'perl-Class-Data-Inheritable-0.09-8.fc40.noarch' 'perl-Exception-Class-1.45-10.fc40.noarch' 'perl-Params-ValidationCompiler-0.31-5.fc40.noarch' 'perl-Log-Dispatch-2.71-4.fc40.noarch' 'perl-DateTime-Locale-1.42-1.fc40.noarch' 'perl-DateTime-TimeZone-2.62-1.fc40.noarch' 'perl-DateTime-1.65-3.fc40.x86_64' 'perl-DateTime-Calendar-Julian-0.107-7.fc40.noarch' 'perl-DateTime-Format-Strptime-1.79-10.fc40.noarch' 'perl-DateTime-Format-Builder-0.8300-13.fc40.noarch' 'perl-Log-Dispatch-FileRotate-1.38-9.fc40.noarch' 'perl-Log-Log4perl-1.57-5.fc40.noarch' 'perl-Class-Accessor-0.51-20.fc40.noarch' 'perl-Business-ISSN-1.005-10.fc40.noarch' 'perl-Business-ISBN-Data-20240323.001-1.fc40.noarch' 'perl-Business-ISBN-3.009-4.fc40.noarch' 'biber-2.19-5.fc40.noarch' 'texlive-l3packages-svn65722-71.fc40.noarch' 'texlive-xpatch-svn54563-71.fc40.noarch' 'texlive-algorithms-svn42428-71.fc40.noarch' 'texlive-bera-svn20031.0-71.fc40.noarch' 'texlive-cm-super-svn15878.0-71.fc40.noarch' 'texlive-fontspec-svn63386-71.fc40.noarch' 'texlive-xunicode-svn30466.0.981-71.fc40.noarch' 'texlive-tipa-svn29349.1.3-71.fc40.noarch' 'texlive-xifthen-svn38929-71.fc40.noarch' 'texlive-latex-svn65161-82.fc40.noarch' 'texlive-l3kernel-svn66094-71.fc40.noarch' 'texlive-currfile-svn64673-71.fc40.noarch' 'texlive-filehook-svn64822-71.fc40.noarch' 'texlive-pgf-svn65553-71.fc40.noarch' 'texlive-ms-svn57473-71.fc40.noarch' 'texlive-koma-script-svn64685-71.fc40.noarch' 'texlive-polyglossia-svn65792-71.fc40.noarch' 'texlive-biblatex-svn66403-71.fc40.noarch' 'texlive-bidi-svn65572-71.fc40.noarch' 'texlive-showexpl-svn57414-71.fc40.noarch' 'texlive-listings-svn66222-71.fc40.noarch' 'texlive-fancyvrb-svn65585-71.fc40.noarch' 'texlive-pst-3d-svn17257.1.10-71.fc40.noarch' 'texlive-pst-coil-svn62977-71.fc40.noarch' 'texlive-pst-eps-svn15878.1.0-71.fc40.noarch' 'texlive-pst-fill-svn60671-71.fc40.noarch' 'texlive-pst-grad-svn15878.1.06-71.fc40.noarch' 'texlive-pst-node-svn61838-71.fc40.noarch' 'texlive-pst-ovl-svn54963-71.fc40.noarch' 'texlive-pst-plot-svn65346-71.fc40.noarch' 'texlive-pst-text-svn49542-71.fc40.noarch' 'texlive-pst-tools-svn60621-71.fc40.noarch' 'texlive-pst-tree-svn60421-71.fc40.noarch' 'texlive-pstricks-add-svn65067-71.fc40.noarch' 'texlive-pstricks-svn65346-71.fc40.noarch' 'texlive-amscls-svn55378-71.fc40.noarch' 'texlive-metalogo-svn18611.0.12-71.fc40.noarch' 'python3-ipython-8.23.0-3.fc40.noarch' 'texlive-seminar-svn59801-71.fc40.noarch' 'texlive-lualatex-math-svn61464-71.fc40.noarch' 'texlive-unicode-math-svn61719-71.fc40.noarch' 'texlive-oberdiek-svn65521-82.fc40.noarch' 'texlive-pdfpages-svn65319-71.fc40.noarch' 'texlive-sansmathaccent-svn53628-71.fc40.noarch' 'texlive-breqn-svn60881-71.fc40.noarch' 'texlive-l3experimental-svn65621-71.fc40.noarch' 'texlive-ae-svn15878.1.4-71.fc40.noarch' 'texlive-extsizes-svn17263.1.4a-71.fc40.noarch' 'texlive-jknapltx-svn19440.0-71.fc40.noarch' 'texlive-minitoc-svn61719-71.fc40.noarch' 'texlive-ltxmisc-svn21927.0-71.fc40.noarch' 'texlive-mnsymbol-svn18651.1.4-71.fc40.noarch' 'texlive-mathspec-svn42773-71.fc40.noarch' 'texlive-typehtml-svn17134.0-71.fc40.noarch' 'texlive-ucs-svn64114-71.fc40.noarch' 'texlive-beamer-svn65984-71.fc40.noarch' 'texlive-realscripts-svn56594-71.fc40.noarch' 'texlive-xltxtra-svn56594-71.fc40.noarch' 'texlive-collection-latex-svn63515-71.fc40.noarch' 'texlive-collection-latexrecommended-svn65512-71.fc40.noarch' 'texlive-collection-basic-svn59159-71.fc40.noarch' 'texlive-dvipdfmx-svn66203-82.fc40.x86_64' 'texlive-xetex-svn66203-82.fc40.x86_64' 'PyX-0.16-5.fc40.x86_64' 'perl-Authen-DigestMD5-0.04-47.fc40.noarch' 'p7zip-plugins-16.02-28.fc40.x86_64' 'p7zip-16.02-28.fc40.x86_64' 'opendbx-1.4.6-34.fc39.x86_64' 'openscap-1.3.10-1.fc40.x86_64' 'openscap-scanner-1.3.10-1.fc40.x86_64' 'mtd-utils-2.1.6-3.fc40.x86_64' 'minizip-ng-compat-3.0.10-7.fc40.x86_64' 'mac-robber-1.02-27.fc40.x86_64' 'sleuthkit-4.12.1-2.fc40.x86_64' 'lzop-1.04-14.fc40.x86_64' 'loudmouth-1.5.4-10.fc40.x86_64' 'lm_sensors-3.6.0-18.fc40.x86_64' 'libxcvt-0.1.2-6.fc40.x86_64' 'libwebsockets-4.3.2-7.fc40.x86_64' 'libvncserver-0.9.14-2.fc40.x86_64' 'gnome-remote-desktop-46.1-1.fc40.x86_64' 'libuser-0.64-8.fc40.x86_64' 'usermode-1.114-9.fc40.x86_64' 'hddtemp-0.3-0.56.beta15.fc40.x86_64' 'libsmi-0.4.8-39.fc40.x86_64' 'librdmacm-48.0-4.fc40.x86_64' 'rdma-core-devel-48.0-4.fc40.x86_64' 'libpcap-devel-1.10.4-4.fc40.x86_64' 'liboeffis-1.2.1-1.fc40.x86_64' 'xorg-x11-server-Xwayland-24.1.0-1.fc40.x86_64' 'libnids-1.24-30.fc40.x86_64' 'libnetfilter_queue-1.0.5-8.fc40.x86_64' 'libnet10-1.0.2a-45.fc40.x86_64' 'libmemcached-awesome-1.1.4-4.fc40.x86_64' 'libmediaart-1.9.6-7.fc40.x86_64' 'libjoedog-0.1.2-24.fc40.x86_64' 'libgtop2-2.41.3-1.fc40.x86_64' 'libgee-0.20.6-6.fc40.x86_64' 'libeis-1.2.1-1.fc40.x86_64' 'libdisplay-info-0.1.1-4.fc40.x86_64' 'libdbi-0.9.0-24.fc40.x86_64' 'rrdtool-1.8.0-16.fc40.x86_64' 'rrdtool-perl-1.8.0-16.fc40.x86_64' 'libconfuse-3.3-12.fc40.x86_64' 'libcli-1.10.7-8.fc40.x86_64' 'libXxf86dga-1.1.6-3.fc40.x86_64' 'xdpyinfo-1.3.3-5.fc40.x86_64' 'ipmitool-1.8.19-7.fc40.x86_64' 'highcontrast-icon-theme-3.28-19.fc40.noarch' 'libcanberra-gtk2-0.30-35.fc40.x86_64' 'ibus-gtk2-1.5.30-5.fc40.x86_64' 'gtk2-2.24.33-18.fc40.x86_64' 'adwaita-gtk2-theme-3.28-19.fc40.x86_64' 'ibus-setup-1.5.30-5.fc40.noarch' 'ibus-1.5.30-5.fc40.x86_64' 'hdparm-9.65-4.fc40.x86_64' 'gupnp-dlna-0.12.0-7.fc40.x86_64' 'rygel-0.42.6-1.fc40.x86_64' 'goocanvas2-2.0.4-13.fc39.x86_64' 'gnome-color-manager-3.36.0-12.fc40.x86_64' 'gnome-autoar-0.4.4-5.fc40.x86_64' 'dislocker-libs-0.7.3-14.fc40.x86_64' 'cups-pk-helper-0.2.7-7.fc40.x86_64' 'colord-gtk4-0.3.1-1.fc40.x86_64' 'color-filesystem-1-33.fc40.noarch' 'colord-1.4.7-3.fc40.x86_64' 'gnome-settings-daemon-46.0-1.fc40.x86_64' 'gnome-control-center-46.2-1.fc40.x86_64' 'mutter-46.2-2.fc40.x86_64' 'gnome-session-wayland-session-46.0-1.fc40.x86_64' 'gnome-session-xsession-46.0-1.fc40.x86_64' 'gdm-46.2-1.fc40.x86_64' 'gnome-shell-46.2-1.fc40.x86_64' 'cabextract-1.11-4.fc40.x86_64' 'bcg729-1.1.1-9.fc40.x86_64' 'wireshark-cli-4.2.5-1.fc40.x86_64' 'arj-3.10.22-41.fc40.x86_64' 'GeoIP-GeoLite-data-2018.06-16.fc40.noarch' 'GeoIP-1.6.12-18.fc40.x86_64' 'netsniff-ng-0.6.8-16.fc40.x86_64' 'subnetcalc-2.5.1-1.fc40.x86_64' 'binwalk-2.3.4-6.fc40.noarch' 'wireshark-4.2.5-1.fc40.x86_64' 'gparted-1.6.0-1.fc40.x86_64' 'dislocker-0.7.3-14.fc40.x86_64' 'etherape-0.9.20-8.fc40.x86_64' 'nwipe-0.37-2.fc40.x86_64' 'packETH-2.1-10.fc40.x86_64' 'yersinia-0.8.2-16.fc40.x86_64' 'inxi-3.3.34-1.fc40.noarch' 'bmon-4.0-10.fc40.x86_64' 'argus-clients-3.0.8.2-25.fc40.x86_64' 'siege-4.1.6-4.fc40.x86_64' 'hydra-9.5-6.fc40.x86_64' 'sing-1.1-29.fc40.x86_64' 'thc-ipv6-3.8-5.fc40.x86_64' 'dsniff-2.4-0.44.b1.fc40.x86_64' 'masscan-1.3.2-10.fc40.x86_64' 'chkrootkit-0.57-6.fc40.x86_64' 'kismet-0.0.2023.07.R1-6.fc40.x86_64' 'mcabber-1.1.3-0.5.20211025git87964c3.fc40.x86_64' 'scap-security-guide-0.1.73-1.fc40.noarch' 'swaks-20240103.0-1.fc40.noarch' 'python3-scapy-2.5.0-6.fc40.noarch' 'dnsenum-1.2.4.2-27.fc39.noarch' 'sqlninja-0.2.999-0.22.alpha1.fc40.noarch' 'psad-2.4.6-17.fc40.noarch' 'httpie-3.2.2-5.fc40.noarch' 'setools-gui-4.5.1-2.fc40.x86_64' 'pcapdiff-0.1-37.fc40.noarch' 'security-menus-38-3.fc40.noarch' 'snmpcheck-1.9-17.fc40.noarch' 'scanmem-0.17-16.fc40.1.x86_64' 'tlssled-1.3-24.fc40.noarch' 'reaver-1.6.6-12.fc40.x86_64' 'scalpel-2.1-0.rc2.35e1367.fc40.3.x86_64' 'powertop-2.15-8.fc40.x86_64' 'ciphertest-0.2.2-17.fc40.noarch' 'pcp-system-tools-6.2.2-3.fc40.x86_64' 'sysstat-12.7.5-2.fc40.x86_64' 'ophcrack-3.8.0-15.fc40.x86_64' 'nmbscan-1.2.6-28.fc40.noarch' 'net-snmp-5.9.4-5.fc40.x86_64' 'medusa-2.3-1.20240130git4e9be7e.fc40.x86_64' 'arp-scan-1.10.0-4.fc40.x86_64' 'rkhunter-1.4.6-24.fc40.noarch' 'afftools-3.7.20-1.fc40.x86_64' 'net-snmp-utils-5.9.4-5.fc40.x86_64' 'ArpON-3.0-26.fc40.x86_64' 'firewalk-5.0-34.fc40.x86_64' 'tcpreplay-4.4.4-5.fc40.x86_64' 'unicornscan-0.4.7-32.fc38.x86_64' 'ewftools-20140608-28.fc40.x86_64' 'testdisk-7.2-1.fc40.x86_64' 'fpdns-0.10.0-15.20190131.fc40.noarch' 'socat-1.8.0.0-2.fc40.x86_64' 'ike-scan-1.9.4-40.fc40.x86_64' 'httpd-tools-2.4.59-2.fc40.x86_64' 'fping-5.2-1.fc40.x86_64' 'zmap-3.0.0-3.fc40.x86_64' 'wipe-0.21-29.fc40.x86_64' 'wbox-5-27.fc40.x86_64' 'wavemon-0.9.5-2.fc40.x86_64' 'vnstat-2.10-4.fc40.x86_64' 'usbsniff-0-21.20170624gitb4ba3c8.fc40.x86_64' 'uperf-1.0.8-2.fc40.x86_64' 'unhide-20220611-2.fc40.x86_64' 'tripwire-2.4.3.7-17.fc40.x86_64' 'telnet-0.17-92.fc40.x86_64' 'tcpxtract-1.0.1-40.fc40.x86_64' 'tcptrack-1.4.3-13.fc40.x86_64' 'tcpreen-1.4.4-30.fc40.x86_64' 'tcpick-0.2.1-47.fc40.x86_64' 'tcpflow-1.6.1-9.fc40.x86_64' 'sslsplit-0.5.5-13.fc40.x86_64' 'ssldump-1.8-2.fc40.x86_64' 'srm-1.2.15-20.fc40.x86_64' 'splint-3.1.2-31.fc39.x86_64' 'sockperf-3.10-3.fc40.x86_64' 'slowhttptest-1.9.0-4.fc40.x86_64' 'sipsak-0.9.8.1-10.fc40.x86_64' 'sipp-3.7.2-3.fc40.x86_64' 'scrub-2.6.1-8.fc40.x86_64' 'screen-4.9.1-1.fc40.x86_64' 'safecopy-1.7-24.fc40.x86_64' 'rats-2.4-24.fc39.x86_64' 'raddump-0.3.1-31.fc39.x86_64' 'pwgen-2.08-13.fc40.x86_64' 'pscan-1.3-31.fc40.x86_64' 'proxychains-ng-4.17-2.fc40.x86_64' 'pdfcrack-0.14-20.fc40.x86_64' 'pads-1.2-40.fc40.x86_64' 'p0f-3.09b-19.fc40.x86_64' 'onesixtyone-0.3.4-4.fc40.x86_64' 'ntpsec-1.2.3-3.fc40.x86_64' 'nload-0.7.4-27.fc40.x86_64' 'nikto-2.5.0-4.fc40.noarch' 'nicstat-1.95-22.fc40.x86_64' 'ngrep-1.47^20180128git2a9603b-6.fc40.x86_64' 'nfswatch-4.99.12-5.fc40.x86_64' 'netsed-1.2-23.fc40.x86_64' 'nethogs-0.8.7-6.fc40.x86_64' 'nebula-1.7.2-6.fc40.x86_64' 'ncrack-0.7-13.fc40.x86_64' 'nbtscan-1.7.2-3.fc40.x86_64' 'macchanger-1.7.0-25.fc40.x86_64' 'lynis-3.1.1-1.fc40.noarch' 'lnav-0.11.2-3.fc40.x86_64' 'lbd-0.4-17.fc40.noarch' 'john-1.9.0-7.fc40.x86_64' 'iptraf-ng-1.2.1-11.fc40.x86_64' 'iftop-1.0-0.33.pre4.fc40.x86_64' 'hunt-1.5-42.fc40.x86_64' 'httrack-3.49.2-19.fc40.x86_64' 'httpry-0.1.8-23.fc40.x86_64' 'httping-2.9-3.fc40.x86_64' 'hping3-0.0.20051105-44.fc40.x86_64' 'hfsutils-3.2.6-47.fc39.x86_64' 'hexedit-1.6-6.fc40.x86_64' 'goaccess-1.9.1-1.fc40.x86_64' 'foremost-1.5.7-33.fc40.x86_64' 'flawfinder-2.0.11-11.fc40.noarch' 'extundelete-0.2.4-25.fc40.x86_64' 'examiner-0.5-34.fc40.noarch' 'ettercap-0.8.3.1-14.fc40.x86_64' 'dnstracer-1.10-5.fc40.x86_64' 'dnstop-20140915-21.git20201122.fc40.x86_64' 'dnsmap-0.36-3.fc40.x86_64' 'dhcping-1.2-34.fc40.x86_64' 'ddrescue-1.28-1.fc40.x86_64' 'dcfldd-1.9.1-4.fc40.x86_64' 'dc3dd-7.3.1-4.fc40.x86_64' 'cowpatty-4.6-29.fc40.x86_64' 'cmospwd-5.0-27.fc40.x86_64' 'bkhive-1.1.1-29.fc40.x86_64' 'bannergrab-3.5-26.fc40.x86_64' 'aide-0.18.6-4.fc40.x86_64' 'nbdkit-server-1.38.2-1.fc40.x86_64' 'syslinux-nonlinux-6.04-0.26.fc40.noarch' 'syslinux-6.04-0.26.fc40.x86_64' 'qemu-img-8.2.2-1.fc40.x86_64' 'daxctl-libs-79-1.fc40.x86_64' 'systemd-container-255.7-1.fc40.x86_64' 'python3-rpds-py-0.18.1-1.fc40.x86_64' 'python3-referencing-0.31.1-3.fc40.noarch' 'python3-kobo-0.36.2-1.fc40.noarch' 'mock-filesystem-5.6-1.fc40.noarch' 'libjose-14-1.fc40.x86_64' 'libdnf5-cli-5.1.17-1.fc40.x86_64' 'sdbus-cpp-1.4.0-2.fc40.x86_64' 'dnf5-5.1.17-1.fc40.x86_64' 'python3-productmd-1.38-3.fc40.noarch' 'libtpms-0.9.6-6.fc40.x86_64' 'hivex-libs-1.3.23-18.fc40.x86_64' 'swtpm-libs-0.8.1-13.fc40.x86_64' 'swtpm-0.8.1-13.fc40.x86_64' 'swtpm-selinux-0.8.1-13.fc40.noarch' 'swtpm-tools-0.8.1-13.fc40.x86_64' 'dnf5-plugins-5.1.17-1.fc40.x86_64' 'jose-14-1.fc40.x86_64' 'clevis-20-2.fc40.x86_64' 'clevis-pin-tpm2-0.5.3-5.fc40.x86_64' 'python3-jsonschema-specifications-2023.11.2-3.fc40.noarch' 'python3-jsonschema-4.19.1-3.fc40.noarch' 'ndctl-libs-79-1.fc40.x86_64' 'libpmem-2.0.1-3.fc40.x86_64' 'syslinux-extlinux-nonlinux-6.04-0.26.fc40.noarch' 'syslinux-extlinux-6.04-0.26.fc40.x86_64' 'nbdkit-basic-filters-1.38.2-1.fc40.x86_64' 'nbdkit-basic-plugins-1.38.2-1.fc40.x86_64' 'nbdkit-curl-plugin-1.38.2-1.fc40.x86_64' 'nbdkit-ssh-plugin-1.38.2-1.fc40.x86_64' 'xen-licenses-4.18.2-1.fc40.x86_64' 'xen-libs-4.18.2-1.fc40.x86_64' 'python3-libmodulemd-2.15.0-12.fc40.x86_64' 'nbdkit-selinux-1.38.2-1.fc40.noarch' +EO:_rpms +)}"} ) diff --git a/.config/zsh/.zcompcache/SYS_ALL_UNITS--system b/.config/zsh/.zcompcache/SYS_ALL_UNITS--system new file mode 100644 index 0000000..6b6cb1f --- /dev/null +++ b/.config/zsh/.zcompcache/SYS_ALL_UNITS--system @@ -0,0 +1,4 @@ +_sys_all_units=( ${(Q)"${(z)$(<<\EO:_sys_all_units +'boot.automount' 'proc-sys-fs-binfmt_misc.automount' 'dev-disk-by\x2ddiskseq-1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart2.device' 'dev-disk-by\x2ddiskseq-1\x2dpart3.device' 'dev-disk-by\x2did-dm\x2dname\x2dfedora_fedora\x2droot.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dkg3XR2oc9Gu0U3vDA28kQJPuOkVBdc4zfEJdpIGv65KWzWYL7DOeJIGCbOARDmsN.device' 'dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dBrf0d0\x2dLMaG\x2dPA7L\x2de3l6\x2dKGaV\x2dFxwi\x2dQ2kPIo.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart3.device' 'dev-disk-by\x2dlabel-boot.device' 'dev-disk-by\x2dlabel-efi.device' 'dev-disk-by\x2dlabel-root.device' 'dev-disk-by\x2dpartlabel-EFI\x5cx20System\x5cx20Partition.device' 'dev-disk-by\x2dpartuuid-356e8600\x2d667b\x2d4de9\x2d850c\x2db720575c90f5.device' 'dev-disk-by\x2dpartuuid-9054e531\x2d397a\x2d492d\x2d9384\x2dda0093badab3.device' 'dev-disk-by\x2dpartuuid-d25e7577\x2d325a\x2d4376\x2d9897\x2db9881e9a4dfc.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart2.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart3.device' 'dev-disk-by\x2duuid-48A7\x2d3747.device' 'dev-disk-by\x2duuid-6361737a\x2db035\x2d4f7e\x2d9c97\x2d083cbad78397.device' 'dev-disk-by\x2duuid-8f1f49c8\x2d54e9\x2d412c\x2db517\x2dd4c9473f8742.device' 'dev-dm\x2d0.device' 'dev-fedora_fedora-root.device' 'dev-mapper-fedora_fedora\x2droot.device' 'dev-nvme0n1.device' 'dev-nvme0n1p1.device' 'dev-nvme0n1p2.device' 'dev-nvme0n1p3.device' 'dev-ptp0.device' 'dev-rfkill.device' 'dev-snd-by\x2dpath-pci\x2d0000:01:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.6.device' 'dev-snd-controlC0.device' 'dev-snd-controlC1.device' 'dev-snd-controlC2.device' 'dev-tpm0.device' 'dev-tpmrm0.device' 'dev-ttyS0.device' 'dev-ttyS1.device' 'dev-ttyS10.device' 'dev-ttyS11.device' 'dev-ttyS12.device' 'dev-ttyS13.device' 'dev-ttyS14.device' 'dev-ttyS15.device' 'dev-ttyS16.device' 'dev-ttyS17.device' 'dev-ttyS18.device' 'dev-ttyS19.device' 'dev-ttyS2.device' 'dev-ttyS20.device' 'dev-ttyS21.device' 'dev-ttyS22.device' 'dev-ttyS23.device' 'dev-ttyS24.device' 'dev-ttyS25.device' 'dev-ttyS26.device' 'dev-ttyS27.device' 'dev-ttyS28.device' 'dev-ttyS29.device' 'dev-ttyS3.device' 'dev-ttyS30.device' 'dev-ttyS31.device' 'dev-ttyS4.device' 'dev-ttyS5.device' 'dev-ttyS6.device' 'dev-ttyS7.device' 'dev-ttyS8.device' 'dev-ttyS9.device' 'dev-zram0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpm-tpm0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpmrm-tpmrm0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.1-sound-card0-controlC0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-net-lan0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-ptp-ptp0.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p1.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p2.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p3.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.1-sound-card1-controlC1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.6-sound-card2-controlC2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.0-tty-ttyS0.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.1-tty-ttyS1.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.10-tty-ttyS10.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.11-tty-ttyS11.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.12-tty-ttyS12.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.13-tty-ttyS13.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.14-tty-ttyS14.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.15-tty-ttyS15.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.16-tty-ttyS16.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.17-tty-ttyS17.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.18-tty-ttyS18.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.19-tty-ttyS19.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.2-tty-ttyS2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.20-tty-ttyS20.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.21-tty-ttyS21.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.22-tty-ttyS22.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.23-tty-ttyS23.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.24-tty-ttyS24.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.25-tty-ttyS25.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.26-tty-ttyS26.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.27-tty-ttyS27.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.28-tty-ttyS28.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.29-tty-ttyS29.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.3-tty-ttyS3.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.30-tty-ttyS30.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.31-tty-ttyS31.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.4-tty-ttyS4.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.5-tty-ttyS5.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.6-tty-ttyS6.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.7-tty-ttyS7.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.8-tty-ttyS8.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.9-tty-ttyS9.device' 'sys-devices-virtual-block-dm\x2d0.device' 'sys-devices-virtual-block-zram0.device' 'sys-devices-virtual-misc-rfkill.device' 'sys-devices-virtual-net-lan\x2dbridge.device' 'sys-module-configfs.device' 'sys-module-fuse.device' 'sys-subsystem-net-devices-lan0.device' 'sys-subsystem-net-devices-lan\x2dbridge.device' '-.mount' 'boot-efi.mount' 'boot.mount' 'dev-hugepages.mount' 'dev-mqueue.mount' 'home.mount' 'proc-fs-nfsd.mount' 'proc-sys-fs-binfmt_misc.mount' 'run-credentials-systemd\x2dresolved.service.mount' 'run-credentials-systemd\x2dsysctl.service.mount' 'run-credentials-systemd\x2dsysusers.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dclean.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dsetup.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dsetup\x2ddev.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dsetup\x2ddev\x2dearly.service.mount' 'run-credentials-systemd\x2dvconsole\x2dsetup.service.mount' 'run-user-1000-doc.mount' 'run-user-1000.mount' 'sys-fs-fuse-connections.mount' 'sys-kernel-config.mount' 'sys-kernel-debug.mount' 'sys-kernel-tracing.mount' 'sysroot.mount' 'tmp-workdir.mount' 'tmp.mount' 'var-lib-machines.mount' 'var-lib-nfs-rpc_pipefs.mount' 'cups.path' 'systemd-ask-password-console.path' 'systemd-ask-password-plymouth.path' 'systemd-ask-password-wall.path' 'init.scope' 'session-2.scope' 'abrt-journal-core.service' 'abrt-oops.service' 'abrt-vmcore.service' 'abrt-xorg.service' 'abrtd.service' 'accounts-daemon.service' 'akmods-keygen@akmods-keygen.service' 'akmods.service' 'alsa-restore.service' 'alsa-state.service' 'apparmor.service' 'atd.service' 'audit-rules.service' 'auditd.service' 'auth-rpcgss-module.service' 'auto-cpufreq.service' 'autofs.service' 'avahi-daemon.service' 'blk-availability.service' 'chronyd.service' 'cockpit-motd.service' 'cockpit-wsinstance-http.service' 'cockpit.service' 'colord.service' 'crond.service' 'cups.service' 'dbus-broker.service' 'dkms.service' 'dm-event.service' 'dnf-makecache.service' 'dracut-cmdline.service' 'dracut-initqueue.service' 'dracut-mount.service' 'dracut-pre-mount.service' 'dracut-pre-pivot.service' 'dracut-pre-trigger.service' 'dracut-pre-udev.service' 'dracut-shutdown-onfailure.service' 'dracut-shutdown.service' 'ebtables.service' 'emergency.service' 'fcoe.service' 'firewalld.service' 'flatpak-add-fedora-repos.service' 'flatpak-system-helper.service' 'fstrim.service' 'fwupd-refresh.service' 'getty@tty1.service' 'gssproxy.service' 'import-state.service' 'initrd-cleanup.service' 'initrd-parse-etc.service' 'initrd-switch-root.service' 'initrd-udevadm-cleanup-db.service' 'ip6tables.service' 'ipset.service' 'iptables.service' 'irqbalance.service' 'iscsi-init.service' 'iscsi-onboot.service' 'iscsi-shutdown.service' 'iscsi-starter.service' 'iscsi.service' 'iscsid.service' 'iscsiuio.service' 'kdump.service' 'kmod-static-nodes.service' 'ldconfig.service' 'libvirtd.service' 'logrotate.service' 'lvm2-activation-early.service' 'lvm2-lvmpolld.service' 'lvm2-monitor.service' 'mcelog.service' 'mdmonitor.service' 'ModemManager.service' 'modprobe@configfs.service' 'modprobe@dm_mod.service' 'modprobe@dm_multipath.service' 'modprobe@drm.service' 'modprobe@fuse.service' 'modprobe@loop.service' 'multipathd.service' 'network.service' 'NetworkManager-wait-online.service' 'NetworkManager.service' 'nfs-idmapd.service' 'nfs-mountd.service' 'nfs-server.service' 'nfs-utils.service' 'nfsdcld.service' 'nftables.service' 'nslcd.service' 'ntpd.service' 'ntpdate.service' 'nvidia-fallback.service' 'nvidia-powerd.service' 'passim.service' 'pcscd.service' 'plocate-updatedb.service' 'plymouth-quit-wait.service' 'plymouth-quit.service' 'plymouth-read-write.service' 'plymouth-start.service' 'plymouth-switch-root.service' 'podman-auto-update.service' 'polkit.service' 'power-profiles-daemon.service' 'raid-check.service' 'rbdmap.service' 'rc-local.service' 'rescue.service' 'rpc-gssd.service' 'rpc-statd-notify.service' 'rpc-statd.service' 'rpc-svcgssd.service' 'rpcbind.service' 'rpmdb-migrate.service' 'rpmdb-rebuild.service' 'rsyslog.service' 'rtkit-daemon.service' 'sddm.service' 'selinux-autorelabel-mark.service' 'smartd.service' 'sntp.service' 'ssh-host-keys-migration.service' 'sshd-keygen@ecdsa.service' 'sshd-keygen@ed25519.service' 'sshd-keygen@rsa.service' 'sshd.service' 'sssd-kcm.service' 'sssd.service' 'switcheroo-control.service' 'syslog.service' 'system76-power.service' 'systemd-ask-password-console.service' 'systemd-ask-password-plymouth.service' 'systemd-ask-password-wall.service' 'systemd-battery-check.service' 'systemd-binfmt.service' 'systemd-boot-random-seed.service' 'systemd-boot-update.service' 'systemd-bsod.service' 'systemd-firstboot.service' 'systemd-fsck-root.service' 'systemd-fsck@dev-disk-by\x2duuid-48A7\x2d3747.service' 'systemd-hibernate-resume.service' 'systemd-hwdb-update.service' 'systemd-initctl.service' 'systemd-journal-catalog-update.service' 'systemd-journal-flush.service' 'systemd-journald.service' 'systemd-logind.service' 'systemd-machine-id-commit.service' 'systemd-machined.service' 'systemd-modules-load.service' 'systemd-network-generator.service' 'systemd-oomd.service' 'systemd-pcrmachine.service' 'systemd-pcrphase-initrd.service' 'systemd-pcrphase-sysinit.service' 'systemd-pcrphase.service' 'systemd-quotacheck.service' 'systemd-random-seed.service' 'systemd-remount-fs.service' 'systemd-repart.service' 'systemd-resolved.service' 'systemd-rfkill.service' 'systemd-soft-reboot.service' 'systemd-sysctl.service' 'systemd-sysext.service' 'systemd-sysusers.service' 'systemd-timesyncd.service' 'systemd-tmpfiles-clean.service' 'systemd-tmpfiles-setup-dev-early.service' 'systemd-tmpfiles-setup-dev.service' 'systemd-tmpfiles-setup.service' 'systemd-tpm2-setup-early.service' 'systemd-tpm2-setup.service' 'systemd-udev-settle.service' 'systemd-udev-trigger.service' 'systemd-udevd.service' 'systemd-update-done.service' 'systemd-update-utmp-runlevel.service' 'systemd-update-utmp.service' 'systemd-user-sessions.service' 'systemd-userdbd.service' 'systemd-vconsole-setup.service' 'systemd-zram-setup@zram0.service' 'tlp.service' 'tuned.service' 'udisks2.service' 'unbound-anchor.service' 'upower.service' 'uresourced.service' 'user-runtime-dir@1000.service' 'user@1000.service' 'virtinterfaced.service' 'virtlockd.service' 'virtlogd.service' 'virtlxcd.service' 'virtnetworkd.service' 'virtnodedevd.service' 'virtnwfilterd.service' 'virtproxyd.service' 'virtqemud.service' 'virtsecretd.service' 'virtstoraged.service' 'virtxend.service' 'xencommons.service' 'xendomains.service' 'ypbind.service' '-.slice' 'machine.slice' 'system-akmods\x2dkeygen.slice' 'system-getty.slice' 'system-modprobe.slice' 'system-sshd\x2dkeygen.slice' 'system-systemd\x2dfsck.slice' 'system-systemd\x2dzram\x2dsetup.slice' 'system.slice' 'user-1000.slice' 'user.slice' 'avahi-daemon.socket' 'cockpit-wsinstance-http.socket' 'cockpit-wsinstance-https-factory.socket' 'cockpit.socket' 'cups.socket' 'dbus.socket' 'dm-event.socket' 'iscsid.socket' 'iscsiuio.socket' 'libvirtd-admin.socket' 'libvirtd-ro.socket' 'libvirtd.socket' 'lvm2-lvmpolld.socket' 'multipathd.socket' 'pcscd.socket' 'rpcbind.socket' 'sssd-kcm.socket' 'syslog.socket' 'systemd-coredump.socket' 'systemd-initctl.socket' 'systemd-journald-audit.socket' 'systemd-journald-dev-log.socket' 'systemd-journald.socket' 'systemd-oomd.socket' 'systemd-pcrextend.socket' 'systemd-rfkill.socket' 'systemd-sysext.socket' 'systemd-udevd-control.socket' 'systemd-udevd-kernel.socket' 'systemd-userdbd.socket' 'virtinterfaced-admin.socket' 'virtinterfaced-ro.socket' 'virtinterfaced.socket' 'virtlockd-admin.socket' 'virtlockd.socket' 'virtlogd-admin.socket' 'virtlogd.socket' 'virtlxcd-admin.socket' 'virtlxcd-ro.socket' 'virtlxcd.socket' 'virtnetworkd-admin.socket' 'virtnetworkd-ro.socket' 'virtnetworkd.socket' 'virtnodedevd-admin.socket' 'virtnodedevd-ro.socket' 'virtnodedevd.socket' 'virtnwfilterd-admin.socket' 'virtnwfilterd-ro.socket' 'virtnwfilterd.socket' 'virtproxyd-admin.socket' 'virtproxyd-ro.socket' 'virtproxyd.socket' 'virtqemud-admin.socket' 'virtqemud-ro.socket' 'virtqemud.socket' 'virtsecretd-admin.socket' 'virtsecretd-ro.socket' 'virtsecretd.socket' 'virtstoraged-admin.socket' 'virtstoraged-ro.socket' 'virtstoraged.socket' 'virtxend-admin.socket' 'virtxend-ro.socket' 'virtxend.socket' 'dev-zram0.swap' 'akmods-keygen.target' 'basic.target' 'blockdev@dev-disk-by\x2duuid-48A7\x2d3747.target' 'blockdev@dev-disk-by\x2duuid-8f1f49c8\x2d54e9\x2d412c\x2db517\x2dd4c9473f8742.target' 'blockdev@dev-mapper-fedora_fedora\x2droot.target' 'blockdev@dev-nvme0n1p1.target' 'blockdev@dev-nvme0n1p2.target' 'blockdev@dev-zram0.target' 'cryptsetup-pre.target' 'cryptsetup.target' 'display-manager.target' 'emergency.target' 'final.target' 'first-boot-complete.target' 'getty-pre.target' 'getty.target' 'graphical.target' 'initrd-fs.target' 'initrd-root-device.target' 'initrd-root-fs.target' 'initrd-switch-root.target' 'initrd-usr-fs.target' 'initrd.target' 'integritysetup.target' 'local-fs-pre.target' 'local-fs.target' 'multi-user.target' 'network-online.target' 'network-pre.target' 'network.target' 'nfs-client.target' 'nss-lookup.target' 'nss-user-lookup.target' 'paths.target' 'remote-cryptsetup.target' 'remote-fs-pre.target' 'remote-fs.target' 'remote-veritysetup.target' 'rescue.target' 'rpc_pipefs.target' 'rpcbind.target' 'shutdown.target' 'slices.target' 'sockets.target' 'soft-reboot.target' 'sound.target' 'ssh-keygen.target' 'sshd-keygen.target' 'swap.target' 'sysinit.target' 'syslog.target' 'time-set.target' 'time-sync.target' 'timers.target' 'tpm2.target' 'umount.target' 'veritysetup-pre.target' 'veritysetup.target' 'dnf-makecache.timer' 'fstrim.timer' 'fwupd-refresh.timer' 'logrotate.timer' 'plocate-updatedb.timer' 'raid-check.timer' 'systemd-tmpfiles-clean.timer' 'unbound-anchor.timer' +EO:_sys_all_units +)}"} ) diff --git a/.config/zsh/.zcompcache/SYS_ALL_UNITS--user b/.config/zsh/.zcompcache/SYS_ALL_UNITS--user new file mode 100644 index 0000000..cac927e --- /dev/null +++ b/.config/zsh/.zcompcache/SYS_ALL_UNITS--user @@ -0,0 +1,4 @@ +_sys_all_units=( ${(Q)"${(z)$(<<\EO:_sys_all_units +'dev-disk-by\x2ddiskseq-1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart2.device' 'dev-disk-by\x2ddiskseq-1\x2dpart3.device' 'dev-disk-by\x2did-dm\x2dname\x2dfedora_fedora\x2droot.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dkg3XR2oc9Gu0U3vDA28kQJPuOkVBdc4zfEJdpIGv65KWzWYL7DOeJIGCbOARDmsN.device' 'dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dBrf0d0\x2dLMaG\x2dPA7L\x2de3l6\x2dKGaV\x2dFxwi\x2dQ2kPIo.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart3.device' 'dev-disk-by\x2dlabel-boot.device' 'dev-disk-by\x2dlabel-efi.device' 'dev-disk-by\x2dlabel-root.device' 'dev-disk-by\x2dpartlabel-EFI\x5cx20System\x5cx20Partition.device' 'dev-disk-by\x2dpartuuid-356e8600\x2d667b\x2d4de9\x2d850c\x2db720575c90f5.device' 'dev-disk-by\x2dpartuuid-9054e531\x2d397a\x2d492d\x2d9384\x2dda0093badab3.device' 'dev-disk-by\x2dpartuuid-d25e7577\x2d325a\x2d4376\x2d9897\x2db9881e9a4dfc.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart2.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart3.device' 'dev-disk-by\x2duuid-48A7\x2d3747.device' 'dev-disk-by\x2duuid-6361737a\x2db035\x2d4f7e\x2d9c97\x2d083cbad78397.device' 'dev-disk-by\x2duuid-8f1f49c8\x2d54e9\x2d412c\x2db517\x2dd4c9473f8742.device' 'dev-dm\x2d0.device' 'dev-fedora_fedora-root.device' 'dev-mapper-fedora_fedora\x2droot.device' 'dev-nvme0n1.device' 'dev-nvme0n1p1.device' 'dev-nvme0n1p2.device' 'dev-nvme0n1p3.device' 'dev-ptp0.device' 'dev-rfkill.device' 'dev-snd-by\x2dpath-pci\x2d0000:01:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.6.device' 'dev-snd-controlC0.device' 'dev-snd-controlC1.device' 'dev-snd-controlC2.device' 'dev-tpm0.device' 'dev-tpmrm0.device' 'dev-ttyS0.device' 'dev-ttyS1.device' 'dev-ttyS10.device' 'dev-ttyS11.device' 'dev-ttyS12.device' 'dev-ttyS13.device' 'dev-ttyS14.device' 'dev-ttyS15.device' 'dev-ttyS16.device' 'dev-ttyS17.device' 'dev-ttyS18.device' 'dev-ttyS19.device' 'dev-ttyS2.device' 'dev-ttyS20.device' 'dev-ttyS21.device' 'dev-ttyS22.device' 'dev-ttyS23.device' 'dev-ttyS24.device' 'dev-ttyS25.device' 'dev-ttyS26.device' 'dev-ttyS27.device' 'dev-ttyS28.device' 'dev-ttyS29.device' 'dev-ttyS3.device' 'dev-ttyS30.device' 'dev-ttyS31.device' 'dev-ttyS4.device' 'dev-ttyS5.device' 'dev-ttyS6.device' 'dev-ttyS7.device' 'dev-ttyS8.device' 'dev-ttyS9.device' 'dev-zram0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpm-tpm0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpmrm-tpmrm0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.1-sound-card0-controlC0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-net-lan0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-ptp-ptp0.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p1.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p2.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p3.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.1-sound-card1-controlC1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.6-sound-card2-controlC2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.0-tty-ttyS0.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.1-tty-ttyS1.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.10-tty-ttyS10.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.11-tty-ttyS11.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.12-tty-ttyS12.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.13-tty-ttyS13.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.14-tty-ttyS14.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.15-tty-ttyS15.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.16-tty-ttyS16.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.17-tty-ttyS17.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.18-tty-ttyS18.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.19-tty-ttyS19.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.2-tty-ttyS2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.20-tty-ttyS20.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.21-tty-ttyS21.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.22-tty-ttyS22.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.23-tty-ttyS23.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.24-tty-ttyS24.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.25-tty-ttyS25.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.26-tty-ttyS26.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.27-tty-ttyS27.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.28-tty-ttyS28.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.29-tty-ttyS29.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.3-tty-ttyS3.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.30-tty-ttyS30.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.31-tty-ttyS31.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.4-tty-ttyS4.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.5-tty-ttyS5.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.6-tty-ttyS6.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.7-tty-ttyS7.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.8-tty-ttyS8.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.9-tty-ttyS9.device' 'sys-devices-virtual-block-dm\x2d0.device' 'sys-devices-virtual-block-zram0.device' 'sys-devices-virtual-misc-rfkill.device' 'sys-devices-virtual-net-lan\x2dbridge.device' 'sys-module-configfs.device' 'sys-module-fuse.device' 'sys-subsystem-net-devices-lan0.device' 'sys-subsystem-net-devices-lan\x2dbridge.device' '-.mount' 'boot-efi.mount' 'boot.mount' 'dev-hugepages.mount' 'dev-mqueue.mount' 'proc-sys-fs-binfmt_misc.mount' 'run-user-1000-doc.mount' 'run-user-1000.mount' 'sys-fs-fuse-connections.mount' 'sys-kernel-config.mount' 'sys-kernel-debug.mount' 'sys-kernel-tracing.mount' 'tmp-workdir.mount' 'tmp.mount' 'var-lib-nfs-rpc_pipefs.mount' 'init.scope' 'podman-pause-e6c2ef78.scope' 'at-spi-dbus-bus.service' 'container-ld-syncthing-orthanc.service' 'dbus-:1.2-com.redhat.imsettings@0.service' 'dbus-:1.22-org.a11y.atspi.Registry@0.service' 'dbus-broker.service' 'gnome-session.service' 'grub-boot-success.service' 'obex.service' 'pipewire-media-session.service' 'pipewire-pulse.service' 'pipewire.service' 'pulseaudio.service' 'systemd-oomd.service' 'systemd-tmpfiles-clean.service' 'systemd-tmpfiles-setup.service' 'unity-gtk-module.service' 'unity-panel-service.service' 'unity7.service' 'uresourced.service' 'wireplumber.service' 'xdg-desktop-portal-gtk.service' 'xdg-desktop-portal.service' 'xdg-document-portal.service' 'xdg-permission-store.service' '-.slice' 'app.slice' 'background.slice' 'session.slice' 'user.slice' 'dbus.socket' 'pipewire-pulse.socket' 'pipewire.socket' 'pulseaudio.socket' 'dev-zram0.swap' 'basic.target' 'blockdev@dev-nvme0n1p1.target' 'blockdev@dev-nvme0n1p2.target' 'blockdev@dev-zram0.target' 'default.target' 'graphical-session.target' 'network-online.target' 'paths.target' 'shutdown.target' 'sockets.target' 'sound.target' 'timers.target' 'grub-boot-success.timer' 'systemd-tmpfiles-clean.timer' +EO:_sys_all_units +)}"} ) diff --git a/.config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--system b/.config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--system new file mode 100644 index 0000000..aeb6ef9 --- /dev/null +++ b/.config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--system @@ -0,0 +1,4 @@ +_sys_really_all_units=( ${(Q)"${(z)$(<<\EO:_sys_really_all_units +'boot.automount' 'proc-sys-fs-binfmt_misc.automount' 'dev-disk-by\x2ddiskseq-1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart2.device' 'dev-disk-by\x2ddiskseq-1\x2dpart3.device' 'dev-disk-by\x2did-dm\x2dname\x2dfedora_fedora\x2droot.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dkg3XR2oc9Gu0U3vDA28kQJPuOkVBdc4zfEJdpIGv65KWzWYL7DOeJIGCbOARDmsN.device' 'dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dBrf0d0\x2dLMaG\x2dPA7L\x2de3l6\x2dKGaV\x2dFxwi\x2dQ2kPIo.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart3.device' 'dev-disk-by\x2dlabel-boot.device' 'dev-disk-by\x2dlabel-efi.device' 'dev-disk-by\x2dlabel-root.device' 'dev-disk-by\x2dpartlabel-EFI\x5cx20System\x5cx20Partition.device' 'dev-disk-by\x2dpartuuid-356e8600\x2d667b\x2d4de9\x2d850c\x2db720575c90f5.device' 'dev-disk-by\x2dpartuuid-9054e531\x2d397a\x2d492d\x2d9384\x2dda0093badab3.device' 'dev-disk-by\x2dpartuuid-d25e7577\x2d325a\x2d4376\x2d9897\x2db9881e9a4dfc.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart2.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart3.device' 'dev-disk-by\x2duuid-48A7\x2d3747.device' 'dev-disk-by\x2duuid-6361737a\x2db035\x2d4f7e\x2d9c97\x2d083cbad78397.device' 'dev-disk-by\x2duuid-8f1f49c8\x2d54e9\x2d412c\x2db517\x2dd4c9473f8742.device' 'dev-dm\x2d0.device' 'dev-fedora_fedora-root.device' 'dev-mapper-fedora_fedora\x2droot.device' 'dev-nvme0n1.device' 'dev-nvme0n1p1.device' 'dev-nvme0n1p2.device' 'dev-nvme0n1p3.device' 'dev-ptp0.device' 'dev-rfkill.device' 'dev-snd-by\x2dpath-pci\x2d0000:01:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.6.device' 'dev-snd-controlC0.device' 'dev-snd-controlC1.device' 'dev-snd-controlC2.device' 'dev-tpm0.device' 'dev-tpmrm0.device' 'dev-ttyS0.device' 'dev-ttyS1.device' 'dev-ttyS10.device' 'dev-ttyS11.device' 'dev-ttyS12.device' 'dev-ttyS13.device' 'dev-ttyS14.device' 'dev-ttyS15.device' 'dev-ttyS16.device' 'dev-ttyS17.device' 'dev-ttyS18.device' 'dev-ttyS19.device' 'dev-ttyS2.device' 'dev-ttyS20.device' 'dev-ttyS21.device' 'dev-ttyS22.device' 'dev-ttyS23.device' 'dev-ttyS24.device' 'dev-ttyS25.device' 'dev-ttyS26.device' 'dev-ttyS27.device' 'dev-ttyS28.device' 'dev-ttyS29.device' 'dev-ttyS3.device' 'dev-ttyS30.device' 'dev-ttyS31.device' 'dev-ttyS4.device' 'dev-ttyS5.device' 'dev-ttyS6.device' 'dev-ttyS7.device' 'dev-ttyS8.device' 'dev-ttyS9.device' 'dev-zram0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpm-tpm0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpmrm-tpmrm0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.1-sound-card0-controlC0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-net-lan0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-ptp-ptp0.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p1.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p2.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p3.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.1-sound-card1-controlC1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.6-sound-card2-controlC2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.0-tty-ttyS0.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.1-tty-ttyS1.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.10-tty-ttyS10.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.11-tty-ttyS11.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.12-tty-ttyS12.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.13-tty-ttyS13.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.14-tty-ttyS14.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.15-tty-ttyS15.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.16-tty-ttyS16.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.17-tty-ttyS17.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.18-tty-ttyS18.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.19-tty-ttyS19.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.2-tty-ttyS2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.20-tty-ttyS20.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.21-tty-ttyS21.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.22-tty-ttyS22.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.23-tty-ttyS23.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.24-tty-ttyS24.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.25-tty-ttyS25.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.26-tty-ttyS26.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.27-tty-ttyS27.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.28-tty-ttyS28.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.29-tty-ttyS29.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.3-tty-ttyS3.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.30-tty-ttyS30.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.31-tty-ttyS31.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.4-tty-ttyS4.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.5-tty-ttyS5.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.6-tty-ttyS6.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.7-tty-ttyS7.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.8-tty-ttyS8.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.9-tty-ttyS9.device' 'sys-devices-virtual-block-dm\x2d0.device' 'sys-devices-virtual-block-zram0.device' 'sys-devices-virtual-misc-rfkill.device' 'sys-devices-virtual-net-lan\x2dbridge.device' 'sys-module-configfs.device' 'sys-module-fuse.device' 'sys-subsystem-net-devices-lan0.device' 'sys-subsystem-net-devices-lan\x2dbridge.device' '-.mount' 'boot-efi.mount' 'boot.mount' 'dev-hugepages.mount' 'dev-mqueue.mount' 'home.mount' 'proc-fs-nfsd.mount' 'proc-sys-fs-binfmt_misc.mount' 'run-credentials-systemd\x2dresolved.service.mount' 'run-credentials-systemd\x2dsysctl.service.mount' 'run-credentials-systemd\x2dsysusers.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dclean.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dsetup.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dsetup\x2ddev.service.mount' 'run-credentials-systemd\x2dtmpfiles\x2dsetup\x2ddev\x2dearly.service.mount' 'run-credentials-systemd\x2dvconsole\x2dsetup.service.mount' 'run-user-1000-doc.mount' 'run-user-1000.mount' 'sys-fs-fuse-connections.mount' 'sys-kernel-config.mount' 'sys-kernel-debug.mount' 'sys-kernel-tracing.mount' 'sysroot.mount' 'tmp-workdir.mount' 'tmp.mount' 'var-lib-machines.mount' 'var-lib-nfs-rpc_pipefs.mount' 'cups.path' 'systemd-ask-password-console.path' 'systemd-ask-password-plymouth.path' 'systemd-ask-password-wall.path' 'init.scope' 'session-2.scope' 'abrt-journal-core.service' 'abrt-oops.service' 'abrt-vmcore.service' 'abrt-xorg.service' 'abrtd.service' 'accounts-daemon.service' 'akmods-keygen@akmods-keygen.service' 'akmods.service' 'alsa-restore.service' 'alsa-state.service' 'apparmor.service' 'atd.service' 'audit-rules.service' 'auditd.service' 'auth-rpcgss-module.service' 'auto-cpufreq.service' 'autofs.service' 'avahi-daemon.service' 'blk-availability.service' 'chronyd.service' 'cockpit-motd.service' 'cockpit-wsinstance-http.service' 'cockpit.service' 'colord.service' 'crond.service' 'cups.service' 'dbus-broker.service' 'dkms.service' 'dm-event.service' 'dnf-makecache.service' 'dracut-cmdline.service' 'dracut-initqueue.service' 'dracut-mount.service' 'dracut-pre-mount.service' 'dracut-pre-pivot.service' 'dracut-pre-trigger.service' 'dracut-pre-udev.service' 'dracut-shutdown-onfailure.service' 'dracut-shutdown.service' 'ebtables.service' 'emergency.service' 'fcoe.service' 'firewalld.service' 'flatpak-add-fedora-repos.service' 'flatpak-system-helper.service' 'fstrim.service' 'fwupd-refresh.service' 'getty@tty1.service' 'gssproxy.service' 'import-state.service' 'initrd-cleanup.service' 'initrd-parse-etc.service' 'initrd-switch-root.service' 'initrd-udevadm-cleanup-db.service' 'ip6tables.service' 'ipset.service' 'iptables.service' 'irqbalance.service' 'iscsi-init.service' 'iscsi-onboot.service' 'iscsi-shutdown.service' 'iscsi-starter.service' 'iscsi.service' 'iscsid.service' 'iscsiuio.service' 'kdump.service' 'kmod-static-nodes.service' 'ldconfig.service' 'libvirtd.service' 'logrotate.service' 'lvm2-activation-early.service' 'lvm2-lvmpolld.service' 'lvm2-monitor.service' 'mcelog.service' 'mdmonitor.service' 'ModemManager.service' 'modprobe@configfs.service' 'modprobe@dm_mod.service' 'modprobe@dm_multipath.service' 'modprobe@drm.service' 'modprobe@fuse.service' 'modprobe@loop.service' 'multipathd.service' 'network.service' 'NetworkManager-wait-online.service' 'NetworkManager.service' 'nfs-idmapd.service' 'nfs-mountd.service' 'nfs-server.service' 'nfs-utils.service' 'nfsdcld.service' 'nftables.service' 'nslcd.service' 'ntpd.service' 'ntpdate.service' 'nvidia-fallback.service' 'nvidia-powerd.service' 'passim.service' 'pcscd.service' 'plocate-updatedb.service' 'plymouth-quit-wait.service' 'plymouth-quit.service' 'plymouth-read-write.service' 'plymouth-start.service' 'plymouth-switch-root.service' 'podman-auto-update.service' 'polkit.service' 'power-profiles-daemon.service' 'raid-check.service' 'rbdmap.service' 'rc-local.service' 'rescue.service' 'rpc-gssd.service' 'rpc-statd-notify.service' 'rpc-statd.service' 'rpc-svcgssd.service' 'rpcbind.service' 'rpmdb-migrate.service' 'rpmdb-rebuild.service' 'rsyslog.service' 'rtkit-daemon.service' 'sddm.service' 'selinux-autorelabel-mark.service' 'smartd.service' 'sntp.service' 'ssh-host-keys-migration.service' 'sshd-keygen@ecdsa.service' 'sshd-keygen@ed25519.service' 'sshd-keygen@rsa.service' 'sshd.service' 'sssd-kcm.service' 'sssd.service' 'switcheroo-control.service' 'syslog.service' 'system76-power.service' 'systemd-ask-password-console.service' 'systemd-ask-password-plymouth.service' 'systemd-ask-password-wall.service' 'systemd-battery-check.service' 'systemd-binfmt.service' 'systemd-boot-random-seed.service' 'systemd-boot-update.service' 'systemd-bsod.service' 'systemd-firstboot.service' 'systemd-fsck-root.service' 'systemd-fsck@dev-disk-by\x2duuid-48A7\x2d3747.service' 'systemd-hibernate-resume.service' 'systemd-hwdb-update.service' 'systemd-initctl.service' 'systemd-journal-catalog-update.service' 'systemd-journal-flush.service' 'systemd-journald.service' 'systemd-logind.service' 'systemd-machine-id-commit.service' 'systemd-machined.service' 'systemd-modules-load.service' 'systemd-network-generator.service' 'systemd-oomd.service' 'systemd-pcrmachine.service' 'systemd-pcrphase-initrd.service' 'systemd-pcrphase-sysinit.service' 'systemd-pcrphase.service' 'systemd-quotacheck.service' 'systemd-random-seed.service' 'systemd-remount-fs.service' 'systemd-repart.service' 'systemd-resolved.service' 'systemd-rfkill.service' 'systemd-soft-reboot.service' 'systemd-sysctl.service' 'systemd-sysext.service' 'systemd-sysusers.service' 'systemd-timesyncd.service' 'systemd-tmpfiles-clean.service' 'systemd-tmpfiles-setup-dev-early.service' 'systemd-tmpfiles-setup-dev.service' 'systemd-tmpfiles-setup.service' 'systemd-tpm2-setup-early.service' 'systemd-tpm2-setup.service' 'systemd-udev-settle.service' 'systemd-udev-trigger.service' 'systemd-udevd.service' 'systemd-update-done.service' 'systemd-update-utmp-runlevel.service' 'systemd-update-utmp.service' 'systemd-user-sessions.service' 'systemd-userdbd.service' 'systemd-vconsole-setup.service' 'systemd-zram-setup@zram0.service' 'tlp.service' 'tuned.service' 'udisks2.service' 'unbound-anchor.service' 'upower.service' 'uresourced.service' 'user-runtime-dir@1000.service' 'user@1000.service' 'virtinterfaced.service' 'virtlockd.service' 'virtlogd.service' 'virtlxcd.service' 'virtnetworkd.service' 'virtnodedevd.service' 'virtnwfilterd.service' 'virtproxyd.service' 'virtqemud.service' 'virtsecretd.service' 'virtstoraged.service' 'virtxend.service' 'xencommons.service' 'xendomains.service' 'ypbind.service' '-.slice' 'machine.slice' 'system-akmods\x2dkeygen.slice' 'system-getty.slice' 'system-modprobe.slice' 'system-sshd\x2dkeygen.slice' 'system-systemd\x2dfsck.slice' 'system-systemd\x2dzram\x2dsetup.slice' 'system.slice' 'user-1000.slice' 'user.slice' 'avahi-daemon.socket' 'cockpit-wsinstance-http.socket' 'cockpit-wsinstance-https-factory.socket' 'cockpit.socket' 'cups.socket' 'dbus.socket' 'dm-event.socket' 'iscsid.socket' 'iscsiuio.socket' 'libvirtd-admin.socket' 'libvirtd-ro.socket' 'libvirtd.socket' 'lvm2-lvmpolld.socket' 'multipathd.socket' 'pcscd.socket' 'rpcbind.socket' 'sssd-kcm.socket' 'syslog.socket' 'systemd-coredump.socket' 'systemd-initctl.socket' 'systemd-journald-audit.socket' 'systemd-journald-dev-log.socket' 'systemd-journald.socket' 'systemd-oomd.socket' 'systemd-pcrextend.socket' 'systemd-rfkill.socket' 'systemd-sysext.socket' 'systemd-udevd-control.socket' 'systemd-udevd-kernel.socket' 'systemd-userdbd.socket' 'virtinterfaced-admin.socket' 'virtinterfaced-ro.socket' 'virtinterfaced.socket' 'virtlockd-admin.socket' 'virtlockd.socket' 'virtlogd-admin.socket' 'virtlogd.socket' 'virtlxcd-admin.socket' 'virtlxcd-ro.socket' 'virtlxcd.socket' 'virtnetworkd-admin.socket' 'virtnetworkd-ro.socket' 'virtnetworkd.socket' 'virtnodedevd-admin.socket' 'virtnodedevd-ro.socket' 'virtnodedevd.socket' 'virtnwfilterd-admin.socket' 'virtnwfilterd-ro.socket' 'virtnwfilterd.socket' 'virtproxyd-admin.socket' 'virtproxyd-ro.socket' 'virtproxyd.socket' 'virtqemud-admin.socket' 'virtqemud-ro.socket' 'virtqemud.socket' 'virtsecretd-admin.socket' 'virtsecretd-ro.socket' 'virtsecretd.socket' 'virtstoraged-admin.socket' 'virtstoraged-ro.socket' 'virtstoraged.socket' 'virtxend-admin.socket' 'virtxend-ro.socket' 'virtxend.socket' 'dev-zram0.swap' 'akmods-keygen.target' 'basic.target' 'blockdev@dev-disk-by\x2duuid-48A7\x2d3747.target' 'blockdev@dev-disk-by\x2duuid-8f1f49c8\x2d54e9\x2d412c\x2db517\x2dd4c9473f8742.target' 'blockdev@dev-mapper-fedora_fedora\x2droot.target' 'blockdev@dev-nvme0n1p1.target' 'blockdev@dev-nvme0n1p2.target' 'blockdev@dev-zram0.target' 'cryptsetup-pre.target' 'cryptsetup.target' 'display-manager.target' 'emergency.target' 'final.target' 'first-boot-complete.target' 'getty-pre.target' 'getty.target' 'graphical.target' 'initrd-fs.target' 'initrd-root-device.target' 'initrd-root-fs.target' 'initrd-switch-root.target' 'initrd-usr-fs.target' 'initrd.target' 'integritysetup.target' 'local-fs-pre.target' 'local-fs.target' 'multi-user.target' 'network-online.target' 'network-pre.target' 'network.target' 'nfs-client.target' 'nss-lookup.target' 'nss-user-lookup.target' 'paths.target' 'remote-cryptsetup.target' 'remote-fs-pre.target' 'remote-fs.target' 'remote-veritysetup.target' 'rescue.target' 'rpc_pipefs.target' 'rpcbind.target' 'shutdown.target' 'slices.target' 'sockets.target' 'soft-reboot.target' 'sound.target' 'ssh-keygen.target' 'sshd-keygen.target' 'swap.target' 'sysinit.target' 'syslog.target' 'time-set.target' 'time-sync.target' 'timers.target' 'tpm2.target' 'umount.target' 'veritysetup-pre.target' 'veritysetup.target' 'dnf-makecache.timer' 'fstrim.timer' 'fwupd-refresh.timer' 'logrotate.timer' 'plocate-updatedb.timer' 'raid-check.timer' 'systemd-tmpfiles-clean.timer' 'unbound-anchor.timer' 'home-ld-media-ventoy.mount' 'home-ld-media-ventoy\x2defi.mount' 'abrt-pstoreoops.service' 'acpid.service' 'akmods-keygen@.service' 'akmods-shutdown.service' 'akmods@.service' 'arp-ethers.service' 'autovt@.service' 'blueman-mechanism.service' 'bluetooth.service' 'brltty.service' 'canberra-system-bootup.service' 'canberra-system-shutdown-reboot.service' 'canberra-system-shutdown.service' 'chrony-wait.service' 'chronyd-restricted.service' 'cockpit-wsinstance-https-factory@.service' 'cockpit-wsinstance-https@.service' 'console-getty.service' 'container-getty@.service' 'cups-browsed.service' 'dbus-org.bluez.service' 'dbus-org.fedoraproject.FirewallD1.service' 'dbus-org.freedesktop.Avahi.service' 'dbus-org.freedesktop.hostname1.service' 'dbus-org.freedesktop.import1.service' 'dbus-org.freedesktop.locale1.service' 'dbus-org.freedesktop.login1.service' 'dbus-org.freedesktop.machine1.service' 'dbus-org.freedesktop.ModemManager1.service' 'dbus-org.freedesktop.nm-dispatcher.service' 'dbus-org.freedesktop.oom1.service' 'dbus-org.freedesktop.portable1.service' 'dbus-org.freedesktop.resolve1.service' 'dbus-org.freedesktop.timedate1.service' 'dbus.service' 'debug-shell.service' 'dhcpcd.service' 'dhcpcd@.service' 'display-manager.service' 'dnf-system-upgrade-cleanup.service' 'dnf-system-upgrade.service' 'dnf5-offline-transaction-cleanup.service' 'dnf5-offline-transaction.service' 'dnsmasq.service' 'firebird.service' 'fprintd.service' 'fsidd.service' 'fwupd-offline-update.service' 'fwupd.service' 'geoclue.service' 'getty@.service' 'glances.service' 'grub-boot-indeterminate.service' 'grub2-systemd-integration.service' 'iio-sensor-proxy.service' 'ipp-usb.service' 'libvirt-guests.service' 'loadmodules.service' 'low-memory-monitor.service' 'man-db-cache-update.service' 'man-db-restart-cache-update.service' 'mdadm-grow-continue@.service' 'mdadm-last-resort@.service' 'mdcheck_continue.service' 'mdcheck_start.service' 'mdmon@.service' 'mdmonitor-oneshot.service' 'modprobe@.service' 'netavark-dhcp-proxy.service' 'netavark-firewalld-reload.service' 'NetworkManager-dispatcher.service' 'nfs-blkmap.service' 'nis-domainname.service' 'nm-priv-helper.service' 'nmb.service' 'numad.service' 'nvidia-hibernate.service' 'nvidia-persistenced.service' 'nvidia-resume.service' 'nvidia-suspend.service' 'packagekit-offline-update.service' 'packagekit.service' 'pam_namespace.service' 'plymouth-halt.service' 'plymouth-kexec.service' 'plymouth-poweroff.service' 'plymouth-reboot.service' 'plymouth-switch-root-initramfs.service' 'podman-clean-transient.service' 'podman-kube@.service' 'podman-restart.service' 'podman.service' 'powertop.service' 'psacct.service' 'qemu-pr-helper.service' 'quotaon.service' 'realmd.service' 'reportd.service' 'samba-bgqd.service' 'saslauthd.service' 'selinux-autorelabel.service' 'selinux-check-proper-disable.service' 'serial-getty@.service' 'setroubleshootd.service' 'sheepdog.service' 'smb.service' 'speech-dispatcherd.service' 'sshd-keygen@.service' 'sshd@.service' 'sssd-autofs.service' 'sssd-nss.service' 'sssd-pac.service' 'sssd-pam.service' 'sssd-ssh.service' 'sssd-sudo.service' 'svnserve.service' 'system-update-cleanup.service' 'systemd-backlight@.service' 'systemd-bless-boot.service' 'systemd-boot-check-no-failures.service' 'systemd-confext.service' 'systemd-coredump@.service' 'systemd-exit.service' 'systemd-fsck@.service' 'systemd-growfs-root.service' 'systemd-growfs@.service' 'systemd-halt.service' 'systemd-hibernate.service' 'systemd-homed-activate.service' 'systemd-homed.service' 'systemd-hostnamed.service' 'systemd-hybrid-sleep.service' 'systemd-importd.service' 'systemd-journald@.service' 'systemd-kexec.service' 'systemd-localed.service' 'systemd-nspawn@.service' 'systemd-pcrextend@.service' 'systemd-pcrfs-root.service' 'systemd-pcrfs@.service' 'systemd-pcrlock-file-system.service' 'systemd-pcrlock-firmware-code.service' 'systemd-pcrlock-firmware-config.service' 'systemd-pcrlock-machine-id.service' 'systemd-pcrlock-make-policy.service' 'systemd-pcrlock-secureboot-authority.service' 'systemd-pcrlock-secureboot-policy.service' 'systemd-portabled.service' 'systemd-poweroff.service' 'systemd-pstore.service' 'systemd-reboot.service' 'systemd-storagetm.service' 'systemd-suspend-then-hibernate.service' 'systemd-suspend.service' 'systemd-sysext@.service' 'systemd-sysupdate-reboot.service' 'systemd-sysupdate.service' 'systemd-time-wait-sync.service' 'systemd-timedated.service' 'systemd-volatile-root.service' 'systemd-zram-setup@.service' 'tailscaled.service' 'tcsd.service' 'teamd@.service' 'usb_modeswitch@.service' 'usbmuxd.service' 'user-runtime-dir@.service' 'user@.service' 'virtvboxd.service' 'wg-quick@.service' 'wpa_supplicant.service' 'zfs-fuse-scrub.service' 'zfs-fuse.service' 'zvbid.service' 'system-cockpithttps.slice' 'system-systemd\x2dcryptsetup.slice' 'system-systemd\x2dveritysetup.slice' 'acpid.socket' 'cockpit-wsinstance-https@.socket' 'libvirtd-tcp.socket' 'libvirtd-tls.socket' 'netavark-dhcp-proxy.socket' 'podman.socket' 'qemu-pr-helper.socket' 'sshd.socket' 'sssd-autofs.socket' 'sssd-nss.socket' 'sssd-pac.socket' 'sssd-pam-priv.socket' 'sssd-pam.socket' 'sssd-ssh.socket' 'sssd-sudo.socket' 'systemd-journald-varlink@.socket' 'systemd-journald@.socket' 'virtproxyd-tcp.socket' 'virtproxyd-tls.socket' 'virtvboxd-admin.socket' 'virtvboxd-ro.socket' 'virtvboxd.socket' 'blockdev@.target' 'bluetooth.target' 'boot-complete.target' 'ctrl-alt-del.target' 'default.target' 'exit.target' 'factory-reset.target' 'halt.target' 'hibernate.target' 'hybrid-sleep.target' 'integritysetup-pre.target' 'kexec.target' 'machines.target' 'poweroff.target' 'printer.target' 'reboot.target' 'runlevel0.target' 'runlevel1.target' 'runlevel2.target' 'runlevel3.target' 'runlevel4.target' 'runlevel5.target' 'runlevel6.target' 'selinux-autorelabel.target' 'sigpwr.target' 'sleep.target' 'smartcard.target' 'storage-target-mode.target' 'suspend-then-hibernate.target' 'suspend.target' 'system-update-pre.target' 'system-update.target' 'usb-gadget.target' 'virt-guest-shutdown.target' 'wg-quick.target' 'mdadm-last-resort@.timer' 'mdcheck_continue.timer' 'mdcheck_start.timer' 'mdmonitor-oneshot.timer' 'podman-auto-update.timer' 'sheepdog.timer' 'systemd-sysupdate-reboot.timer' 'systemd-sysupdate.timer' 'zfs-fuse-scrub.timer' +EO:_sys_really_all_units +)}"} ) diff --git a/.config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--user b/.config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--user new file mode 100644 index 0000000..4a7532e --- /dev/null +++ b/.config/zsh/.zcompcache/SYS_REALLY_ALL_UNITS--user @@ -0,0 +1,4 @@ +_sys_really_all_units=( ${(Q)"${(z)$(<<\EO:_sys_really_all_units +'dev-disk-by\x2ddiskseq-1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart1.device' 'dev-disk-by\x2ddiskseq-1\x2dpart2.device' 'dev-disk-by\x2ddiskseq-1\x2dpart3.device' 'dev-disk-by\x2did-dm\x2dname\x2dfedora_fedora\x2droot.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dkg3XR2oc9Gu0U3vDA28kQJPuOkVBdc4zfEJdpIGv65KWzWYL7DOeJIGCbOARDmsN.device' 'dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dBrf0d0\x2dLMaG\x2dPA7L\x2de3l6\x2dKGaV\x2dFxwi\x2dQ2kPIo.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2deui.002538b821a03efb\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T\x2dpart3.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart1.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart2.device' 'dev-disk-by\x2did-nvme\x2dSamsung_SSD_980_PRO_1TB_S5P2NL0T806994T_1\x2dpart3.device' 'dev-disk-by\x2dlabel-boot.device' 'dev-disk-by\x2dlabel-efi.device' 'dev-disk-by\x2dlabel-root.device' 'dev-disk-by\x2dpartlabel-EFI\x5cx20System\x5cx20Partition.device' 'dev-disk-by\x2dpartuuid-356e8600\x2d667b\x2d4de9\x2d850c\x2db720575c90f5.device' 'dev-disk-by\x2dpartuuid-9054e531\x2d397a\x2d492d\x2d9384\x2dda0093badab3.device' 'dev-disk-by\x2dpartuuid-d25e7577\x2d325a\x2d4376\x2d9897\x2db9881e9a4dfc.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart1.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart2.device' 'dev-disk-by\x2dpath-pci\x2d0000:06:00.0\x2dnvme\x2d1\x2dpart3.device' 'dev-disk-by\x2duuid-48A7\x2d3747.device' 'dev-disk-by\x2duuid-6361737a\x2db035\x2d4f7e\x2d9c97\x2d083cbad78397.device' 'dev-disk-by\x2duuid-8f1f49c8\x2d54e9\x2d412c\x2db517\x2dd4c9473f8742.device' 'dev-dm\x2d0.device' 'dev-fedora_fedora-root.device' 'dev-mapper-fedora_fedora\x2droot.device' 'dev-nvme0n1.device' 'dev-nvme0n1p1.device' 'dev-nvme0n1p2.device' 'dev-nvme0n1p3.device' 'dev-ptp0.device' 'dev-rfkill.device' 'dev-snd-by\x2dpath-pci\x2d0000:01:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.1.device' 'dev-snd-by\x2dpath-pci\x2d0000:07:00.6.device' 'dev-snd-controlC0.device' 'dev-snd-controlC1.device' 'dev-snd-controlC2.device' 'dev-tpm0.device' 'dev-tpmrm0.device' 'dev-ttyS0.device' 'dev-ttyS1.device' 'dev-ttyS10.device' 'dev-ttyS11.device' 'dev-ttyS12.device' 'dev-ttyS13.device' 'dev-ttyS14.device' 'dev-ttyS15.device' 'dev-ttyS16.device' 'dev-ttyS17.device' 'dev-ttyS18.device' 'dev-ttyS19.device' 'dev-ttyS2.device' 'dev-ttyS20.device' 'dev-ttyS21.device' 'dev-ttyS22.device' 'dev-ttyS23.device' 'dev-ttyS24.device' 'dev-ttyS25.device' 'dev-ttyS26.device' 'dev-ttyS27.device' 'dev-ttyS28.device' 'dev-ttyS29.device' 'dev-ttyS3.device' 'dev-ttyS30.device' 'dev-ttyS31.device' 'dev-ttyS4.device' 'dev-ttyS5.device' 'dev-ttyS6.device' 'dev-ttyS7.device' 'dev-ttyS8.device' 'dev-ttyS9.device' 'dev-zram0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpm-tpm0.device' 'sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpmrm-tpmrm0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.0.device' 'sys-devices-pci0000:00-0000:00:01.1-0000:01:00.1-sound-card0-controlC0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-net-lan0.device' 'sys-devices-pci0000:00-0000:00:02.1-0000:02:00.2-0000:03:09.0-0000:05:00.0-ptp-ptp0.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p1.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p2.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1-nvme0n1p3.device' 'sys-devices-pci0000:00-0000:00:02.2-0000:06:00.0-nvme-nvme0-nvme0n1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.1-sound-card1-controlC1.device' 'sys-devices-pci0000:00-0000:00:08.1-0000:07:00.6-sound-card2-controlC2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.0-tty-ttyS0.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.1-tty-ttyS1.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.10-tty-ttyS10.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.11-tty-ttyS11.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.12-tty-ttyS12.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.13-tty-ttyS13.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.14-tty-ttyS14.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.15-tty-ttyS15.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.16-tty-ttyS16.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.17-tty-ttyS17.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.18-tty-ttyS18.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.19-tty-ttyS19.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.2-tty-ttyS2.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.20-tty-ttyS20.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.21-tty-ttyS21.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.22-tty-ttyS22.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.23-tty-ttyS23.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.24-tty-ttyS24.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.25-tty-ttyS25.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.26-tty-ttyS26.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.27-tty-ttyS27.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.28-tty-ttyS28.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.29-tty-ttyS29.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.3-tty-ttyS3.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.30-tty-ttyS30.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.31-tty-ttyS31.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.4-tty-ttyS4.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.5-tty-ttyS5.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.6-tty-ttyS6.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.7-tty-ttyS7.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.8-tty-ttyS8.device' 'sys-devices-platform-serial8250-serial8250:0-serial8250:0.9-tty-ttyS9.device' 'sys-devices-virtual-block-dm\x2d0.device' 'sys-devices-virtual-block-zram0.device' 'sys-devices-virtual-misc-rfkill.device' 'sys-devices-virtual-net-lan\x2dbridge.device' 'sys-module-configfs.device' 'sys-module-fuse.device' 'sys-subsystem-net-devices-lan0.device' 'sys-subsystem-net-devices-lan\x2dbridge.device' '-.mount' 'boot-efi.mount' 'boot.mount' 'dev-hugepages.mount' 'dev-mqueue.mount' 'proc-sys-fs-binfmt_misc.mount' 'run-user-1000-doc.mount' 'run-user-1000.mount' 'sys-fs-fuse-connections.mount' 'sys-kernel-config.mount' 'sys-kernel-debug.mount' 'sys-kernel-tracing.mount' 'tmp-workdir.mount' 'tmp.mount' 'var-lib-nfs-rpc_pipefs.mount' 'init.scope' 'podman-pause-e6c2ef78.scope' 'at-spi-dbus-bus.service' 'container-ld-syncthing-orthanc.service' 'dbus-:1.2-com.redhat.imsettings@0.service' 'dbus-:1.22-org.a11y.atspi.Registry@0.service' 'dbus-broker.service' 'gnome-session.service' 'grub-boot-success.service' 'obex.service' 'pipewire-media-session.service' 'pipewire-pulse.service' 'pipewire.service' 'pulseaudio.service' 'systemd-oomd.service' 'systemd-tmpfiles-clean.service' 'systemd-tmpfiles-setup.service' 'unity-gtk-module.service' 'unity-panel-service.service' 'unity7.service' 'uresourced.service' 'wireplumber.service' 'xdg-desktop-portal-gtk.service' 'xdg-desktop-portal.service' 'xdg-document-portal.service' 'xdg-permission-store.service' '-.slice' 'app.slice' 'background.slice' 'session.slice' 'user.slice' 'dbus.socket' 'pipewire-pulse.socket' 'pipewire.socket' 'pulseaudio.socket' 'dev-zram0.swap' 'basic.target' 'blockdev@dev-nvme0n1p1.target' 'blockdev@dev-nvme0n1p2.target' 'blockdev@dev-zram0.target' 'default.target' 'graphical-session.target' 'network-online.target' 'paths.target' 'shutdown.target' 'sockets.target' 'sound.target' 'timers.target' 'grub-boot-success.timer' 'systemd-tmpfiles-clean.timer' 'app-at\x2dspi\x2ddbus\x2dbus@autostart.service' 'app-blueman@autostart.service' 'app-geoclue\x2ddemo\x2dagent@autostart.service' 'app-gnome\x2dkeyring\x2dpkcs11@autostart.service' 'app-gnome\x2dkeyring\x2dsecrets@autostart.service' 'app-gnome\x2dkeyring\x2dssh@autostart.service' 'app-imsettings\x2dstart@autostart.service' 'app-kaccess@autostart.service' 'app-nvidia\x2dsettings\x2duser@autostart.service' 'app-orca\x2dautostart@autostart.service' 'app-org.kde.plasma\x2dfallback\x2dsession\x2drestore@autostart.service' 'app-org.kde.xwaylandvideobridge@autostart.service' 'app-pasystray@autostart.service' 'app-picom@autostart.service' 'app-skypeforlinux@autostart.service' 'app-xdg\x2duser\x2ddirs@autostart.service' 'app-xdg\x2duser\x2ddirs\x2dkde@autostart.service' 'blueman-applet.service' 'blueman-manager.service' 'cgroupify@.service' 'colord-session.service' 'dbus-org.bluez.obex.service' 'dbus.service' 'dconf.service' 'dirmngr.service' 'emacs.service' 'filter-chain.service' 'flatpak-oci-authenticator.service' 'flatpak-portal.service' 'flatpak-session-helper.service' 'glib-pacrunner.service' 'gnome-keyring-daemon.service' 'gpg-agent.service' 'gssuserproxy.service' 'kio-fuse.service' 'org.freedesktop.IBus.session.generic.service' 'org.freedesktop.IBus.session.GNOME.service' 'p11-kit-client.service' 'p11-kit-server.service' 'pipewire-session-manager.service' 'plasma-baloorunner.service' 'plasma-gmenudbusmenuproxy.service' 'plasma-kactivitymanagerd.service' 'plasma-kcminit-phase1.service' 'plasma-kcminit.service' 'plasma-kded.service' 'plasma-kded6.service' 'plasma-kglobalaccel.service' 'plasma-krunner.service' 'plasma-kscreen.service' 'plasma-ksmserver.service' 'plasma-ksplash-ready.service' 'plasma-ksplash.service' 'plasma-ksystemstats.service' 'plasma-kwin_wayland.service' 'plasma-plasmashell.service' 'plasma-polkit-agent.service' 'plasma-powerdevil.service' 'plasma-powerprofile-osd.service' 'plasma-restoresession.service' 'plasma-xdg-desktop-portal-kde.service' 'plasma-xembedsniproxy.service' 'podman-auto-update.service' 'podman-kube@.service' 'podman-restart.service' 'podman.service' 'reportd.service' 'ssh-agent.service' 'ssh-tunnel-manager.service' 'systemd-exit.service' 'tracker-miner-fs-3.service' 'tracker-miner-fs-control-3.service' 'tracker-miner-rss-3.service' 'tracker-writeback-3.service' 'tracker-xdg-portal-3.service' 'wireplumber@.service' 'xdg-desktop-portal-rewrite-launchers.service' 'dirmngr.socket' 'gnome-keyring-daemon.socket' 'gpg-agent-browser.socket' 'gpg-agent-extra.socket' 'gpg-agent-ssh.socket' 'gpg-agent.socket' 'gssuserproxy.socket' 'p11-kit-server.socket' 'podman.socket' 'ssh-agent.socket' 'bluetooth.target' 'exit.target' 'graphical-session-pre.target' 'plasma-core.target' 'plasma-workspace-wayland.target' 'plasma-workspace-x11.target' 'plasma-workspace.target' 'printer.target' 'smartcard.target' 'xdg-desktop-autostart.target' 'podman-auto-update.timer' +EO:_sys_really_all_units +)}"} ) diff --git a/.config/zsh/.zcompcache/VAGRANT_VMS b/.config/zsh/.zcompcache/VAGRANT_VMS new file mode 100644 index 0000000..9dd3312 --- /dev/null +++ b/.config/zsh/.zcompcache/VAGRANT_VMS @@ -0,0 +1,4 @@ +_vagrant_vms=( ${(Q)"${(z)$(<<\EO:_vagrant_vms +'default' 'The' +EO:_vagrant_vms +)}"} ) diff --git a/.config/zsh/.zcompcache/dnf-groups b/.config/zsh/.zcompcache/dnf-groups new file mode 100644 index 0000000..b68057b --- /dev/null +++ b/.config/zsh/.zcompcache/dnf-groups @@ -0,0 +1,4 @@ +package_groups=( ${(Q)"${(z)$(<<\EO:package_groups +'custom-environment' 'minimal-environment' 'workstation-product-environment' 'cloud-server-environment' 'kde-desktop-environment' 'xfce-desktop-environment' 'phosh-desktop-environment' 'lxde-desktop-environment' 'lxqt-desktop-environment' 'cinnamon-desktop-environment' 'mate-desktop-environment' 'sugar-desktop-environment' 'deepin-desktop-environment' 'budgie-desktop-environment' 'developer-workstation-environment' 'web-server-environment' 'infrastructure-server-environment' 'basic-desktop-environment' 'i3-desktop-environment' 'sway-desktop-environment' 'server-product-environment' 'container-management' 'development-tools' 'headless-management' 'libreoffice' 'rpm-development-tools' 'security-lab' 'text-internet' 'vlc' 'hardware-support' 'system-tools' '3d-printing' 'admin-tools' 'audio' 'authoring-and-publishing' 'budgie-desktop' 'budgie-desktop-apps' 'c-development' 'cloud-infrastructure' 'cloud-management' 'compiz' 'd-development' 'design-suite' 'desktop-accessibility' 'domain-client' 'editors' 'education' 'electronic-lab' 'engineering-and-scientific' 'freeipa-server' 'kf6-software-development' 'mate-applications' 'milkymist' 'network-server' 'neuron-modelling-simulators' 'office' 'python-classroom' 'python-science' 'robotics-suite' 'supplemental packages) (swaywm-extended' 'window-managers' 'gnome-desktop' 'graphical-internet' 'K Desktop Environment) (kde-desktop' 'fonts' 'games' 'sound-and-video' +EO:package_groups +)}"} ) diff --git a/.config/zsh/.zcompdump b/.config/zsh/.zcompdump new file mode 100644 index 0000000..45aa6be --- /dev/null +++ b/.config/zsh/.zcompdump @@ -0,0 +1,2158 @@ +#files: 1023 version: 5.9 + +_comps=( +'-' '_precommand' +'.' '_source' +'5g' '_go' +'5l' '_go' +'6g' '_go' +'6l' '_go' +'8g' '_go' +'8l' '_go' +'a2dismod' '_a2utils' +'a2dissite' '_a2utils' +'a2enmod' '_a2utils' +'a2ensite' '_a2utils' +'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' +'apt' '_apt' +'apt-cache' '_apt' +'apt-cdrom' '_apt' +'apt-config' '_apt' +'apt-file' '_apt-file' +'apt-get' '_apt' +'aptitude' '_aptitude' +'apt-mark' '_apt' +'apt-move' '_apt-move' +'apt-show-versions' '_apt-show-versions' +'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' +'auto-apt' '_auto-apt' +'autoload' '_typeset' +'avahi-browse' '_avahi' +'avahi-browse-domains' '_avahi' +'avahi-resolve' '_avahi' +'avahi-resolve-address' '_avahi' +'avahi-resolve-host-name' '_avahi' +'awk' '_awk' +'axi-cache' '_axi-cache' +'b2sum' '_md5sum' +'barbican' '_openstack' +'base32' '_base64' +'base64' '_base64' +'basename' '_basename' +'basenc' '_basenc' +'bash' '_bash' +'bat' '_bat' +'batch' '_at' +'baz' '_baz' +'beadm' '_beadm' +'beep' '_beep' +'bg' '_jobs_bg' +'bibtex' '_bibtex' +'bindkey' '_bindkey' +'bison' '_bison' +'bluetoothctl' '_bluetoothctl' +'bmake' '_make' +'bogofilter' '_bogofilter' +'bogotune' '_bogofilter' +'bogoutil' '_bogofilter' +'bootctl' '_bootctl' +'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' +'bsdconfig' '_bsdconfig' +'bsdgrep' '_grep' +'bsdinstall' '_bsdinstall' +'bsdtar' '_tar' +'btdownloadcurses' '_bittorrent' +'btdownloadgui' '_bittorrent' +'btdownloadheadless' '_bittorrent' +'btlaunchmany' '_bittorrent' +'btlaunchmanycurses' '_bittorrent' +'btmakemetafile' '_bittorrent' +'btreannounce' '_bittorrent' +'btrename' '_bittorrent' +'btrfs' '_btrfs' +'bts' '_bts' +'btshowmetainfo' '_bittorrent' +'bttrack' '_bittorrent' +'bug' '_bug' +'buildhash' '_ispell' +'builtin' '_builtin' +'bunzip2' '_bzip2' +'burst' '_mh' +'busctl' '_busctl' +'bwrap' '_bwrap' +'bzcat' '_bzip2' +'bzegrep' '_grep' +'bzfgrep' '_grep' +'bzgrep' '_grep' +'bzip2' '_bzip2' +'bzip2recover' '_bzip2' +'bzr' '_bzr' +'c++' '_gcc' +'cabal' '_cabal' +'caffeinate' '_caffeinate' +'cal' '_cal' +'calendar' '_calendar' +'cargo' '_cargo' +'cat' '_cat' +'catchsegv' '_precommand' +'cc' '_gcc' +'ccal' '_ccal' +'cd' '_cd' +'cdbs-edit-patch' '_cdbs-edit-patch' +'cdc' '_sccs' +'cdcd' '_cdcd' +'cdr' '_cdr' +'cdrdao' '_cdrdao' +'cdrecord' '_cdrecord' +'ceilometer' '_openstack' +'certtool' '_gnutls' +'cftp' '_twisted' +'chage' '_users' +'chattr' '_chattr' +'chcon' '_chcon' +'chdir' '_cd' +'chflags' '_chflags' +'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' +'coreadm' '_coreadm' +'coredumpctl' '_coredumpctl' +'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' +'csup' '_csup' +'ctags' '_ctags' +'ctags-exuberant' '_ctags' +'ctags-universal' '_ctags' +'cu' '_cu' +'curl' '_curl' +'cut' '_cut' +'cvs' '_cvs' +'cvsup' '_cvsup' +'cygcheck' '_cygcheck' +'cygcheck.exe' '_cygcheck' +'cygpath' '_cygpath' +'cygpath.exe' '_cygpath' +'cygrunsrv' '_cygrunsrv' +'cygrunsrv.exe' '_cygrunsrv' +'cygserver' '_cygserver' +'cygserver.exe' '_cygserver' +'cygstart' '_cygstart' +'cygstart.exe' '_cygstart' +'dak' '_dak' +'darcs' '_darcs' +'dash' '_sh' +'date' '_date' +'dbus-launch' '_dbus' +'dbus-monitor' '_dbus' +'dbus-send' '_dbus' +'dch' '_debchange' +'dchroot' '_dchroot' +'dchroot-dsa' '_dchroot-dsa' +'dconf' '_dconf' +'dcop' '_dcop' +'dcopclient' '_dcop' +'dcopfind' '_dcop' +'dcopobject' '_dcop' +'dcopref' '_dcop' +'dcopstart' '_dcop' +'dcut' '_dcut' +'dd' '_dd' +'debchange' '_debchange' +'debcheckout' '_debcheckout' +'debdiff' '_debdiff' +'debfoster' '_debfoster' +'deborphan' '_deborphan' +'debsign' '_debsign' +'debsnap' '_debsnap' +'debuild' '_debuild' +'declare' '_typeset' +'-default-' '_default' +'defaults' '_defaults' +'delta' '_sccs' +'designate' '_openstack' +'devtodo' '_devtodo' +'df' '_df' +'dhclient' '_dhclient' +'dhclient3' '_dhclient' +'dhcpinfo' '_dhcpinfo' +'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' +'dladm' '_dladm' +'dlocate' '_dlocate' +'dmake' '_make' +'dmesg' '_dmesg' +'dmidecode' '_dmidecode' +'dnf' '_dnf' +'dnf-2' '_dnf' +'dnf-3' '_dnf' +'doas' '_doas' +'domainname' '_yp' +'dos2unix' '_dos2unix' +'dosdel' '_floppy' +'dosread' '_floppy' +'dpatch-edit-patch' '_dpatch-edit-patch' +'dpkg' '_dpkg' +'dpkg-buildpackage' '_dpkg-buildpackage' +'dpkg-cross' '_dpkg-cross' +'dpkg-deb' '_dpkg' +'dpkg-query' '_dpkg' +'dpkg-reconfigure' '_dpkg' +'dpkg-repack' '_dpkg-repack' +'dpkg-source' '_dpkg_source' +'dput' '_dput' +'drill' '_drill' +'dropbox' '_dropbox' +'dropdb' '_postgresql' +'dropuser' '_postgresql' +'dscverify' '_dscverify' +'dsh' '_dsh' +'dtrace' '_dtrace' +'dtruss' '_dtruss' +'du' '_du' +'dumpadm' '_dumpadm' +'dumper' '_dumper' +'dumper.exe' '_dumper' +'_dunst' '_dunst' +'dunst' '_dunst' +'_dunstctl' '_dunstctl' +'dunstctl' '_dunstctl' +'dupload' '_dupload' +'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' +'explodepkg' '_pkgtool' +'export' '_typeset' +'express' '_webbrowser' +'extcheck' '_java' +'extractres' '_psutils' +'eza' '_eza' +'fakeroot' '_fakeroot' +'false' '_nothing' +'fc' '_fc' +'fc-list' '_xft_fonts' +'fc-match' '_xft_fonts' +'fd' '_fd' +'feh' '_feh' +'fetch' '_fetch' +'fetchmail' '_fetchmail' +'ffmpeg' '_ffmpeg' +'fg' '_jobs_fg' +'fgrep' '_grep' +'figlet' '_figlet' +'filterdiff' '_patchutils' +'find' '_find' +'findaffix' '_ispell' +'findmnt' '_findmnt' +'finger' '_finger' +'fink' '_fink' +'firefox' '_mozilla' +'firewall-cmd' '_firewalld' +'firewall-offline-cmd' '_firewalld' +'-first-' '_first' +'fixdlsrps' '_psutils' +'fixfmps' '_psutils' +'fixmacps' '_psutils' +'fixpsditps' '_psutils' +'fixpspps' '_psutils' +'fixscribeps' '_psutils' +'fixtpps' '_psutils' +'fixwfwps' '_psutils' +'fixwpps' '_psutils' +'fixwwps' '_psutils' +'flac' '_flac' +'flatpak' '_flatpak' +'flex' '_flex' +'flex++' '_flex' +'flipdiff' '_patchutils' +'flist' '_mh' +'flists' '_mh' +'float' '_typeset' +'flowadm' '_flowadm' +'fmadm' '_fmadm' +'fmt' '_fmt' +'fmttest' '_mh' +'fned' '_zed' +'fnext' '_mh' +'fold' '_fold' +'folder' '_mh' +'folders' '_mh' +'fortune' '_fortune' +'forw' '_mh' +'fprev' '_mh' +'free' '_free' +'freebsd-make' '_make' +'freebsd-update' '_freebsd-update' +'freezer' '_openstack' +'fsh' '_fsh' +'fstat' '_fstat' +'fs_usage' '_fs_usage' +'ftp' '_hosts' +'functions' '_typeset' +'fuser' '_fuser' +'fusermount' '_fusermount' +'fwhois' '_whois' +'fw_update' '_fw_update' +'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' +'getclip' '_getclip' +'getclip.exe' '_getclip' +'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-buildpackage' '_git-buildpackage' +'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' +'grep-excuses' '_grep-excuses' +'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' '_gstat' +'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' +'hdiutil' '_hdiutil' +'head' '_head' +'heat' '_openstack' +'help' '_sccs' +'hexdump' '_hexdump' +'hilite' '_precommand' +'histed' '_zed' +'history' '_fc' +'host' '_host' +'hostname' '_hostname' +'hostnamectl' '_hostnamectl' +'hotjava' '_webbrowser' +'htop' '_htop' +'hwinfo' '_hwinfo' +'hyperfine' '_hyperfine' +'iceweasel' '_mozilla' +'icombine' '_ispell' +'iconv' '_iconv' +'iconvconfig' '_iconvconfig' +'id' '_id' +'identify' '_imagemagick' +'ifconfig' '_ifconfig' +'ifdown' '_net_interfaces' +'iftop' '_iftop' +'ifup' '_net_interfaces' +'ijoin' '_ispell' +'import' '_imagemagick' +'inc' '_mh' +'includeres' '_psutils' +'inetadm' '_inetadm' +'info' '_texinfo' +'infocmp' '_terminals' +'initctl' '_initctl' +'initdb' '_postgresql' +'insmod' '_modutils' +'install' '_install' +'install-info' '_texinfo' +'installpkg' '_pkgtool' +'integer' '_typeset' +'interdiff' '_patchutils' +'invoke-rc.d' '_invoke-rc.d' +'ionice' '_ionice' +'iostat' '_iostat' +'ip' '_ip' +'ip6tables' '_iptables' +'ip6tables-restore' '_iptables' +'ip6tables-save' '_iptables' +'ipadm' '_ipadm' +'ipfw' '_ipfw' +'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' +'jail' '_jail' +'jar' '_java' +'jarsigner' '_java' +'java' '_java' +'javac' '_java' +'javadoc' '_java' +'javah' '_java' +'javap' '_java' +'jdb' '_java' +'jexec' '_jexec' +'jls' '_jls' +'jo' '_jo' +'jobs' '_jobs_builtin' +'joe' '_joe' +'join' '_join' +'jot' '_jot' +'journalctl' '_journalctl' +'jq' '_jq' +'kdeconnect-cli' '_kdeconnect' +'kdump' '_kdump' +'kernel-install' '_kernel-install' +'keystone' '_openstack' +'keytool' '_java' +'kfmclient' '_kfmclient' +'kill' '_kill' +'killall' '_killall' +'killall5' '_killall' +'kioclient' '_kfmclient' +'kldload' '_kld' +'kldunload' '_kld' +'knock' '_knock' +'konqueror' '_webbrowser' +'kpartx' '_kpartx' +'kpdf' '_pdf' +'ksh' '_sh' +'ksh88' '_sh' +'ksh93' '_sh' +'ktrace' '_ktrace' +'kvno' '_kvno' +'last' '_last' +'lastb' '_last' +'latex' '_tex' +'latexmk' '_tex' +'ldap' '_ldap' +'ldconfig' '_ldconfig' +'ldconfig.real' '_ldconfig' +'ldd' '_ldd' +'less' '_less' +'let' '_math' +'lftp' '_ncftp' +'lha' '_lha' +'libinput' '_libinput' +'light' '_webbrowser' +'lighty-disable-mod' '_lighttpd' +'lighty-enable-mod' '_lighttpd' +'limit' '_limit' +'links' '_links' +'links2' '_links' +'lintian' '_lintian' +'lintian-info' '_lintian' +'linux' '_uml' +'lldb' '_lldb' +'llvm-g++' '_gcc' +'llvm-gcc' '_gcc' +'llvm-objdump' '_objdump' +'llvm-otool' '_otool' +'ln' '_ln' +'loadkeys' '_loadkeys' +'local' '_typeset' +'locale' '_locale' +'localectl' '_localectl' +'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' +'lscfg' '_lscfg' +'lsdev' '_lsdev' +'lsdiff' '_patchutils' +'lslv' '_lslv' +'lsmod' '_modutils' +'lsns' '_lsns' +'lsof' '_lsof' +'lspv' '_lspv' +'lsusb' '_lsusb' +'lsvg' '_lsvg' +'ltrace' '_ltrace' +'lua' '_lua' +'luarocks' '_luarocks' +'lynx' '_lynx' +'lz4' '_lz4' +'lz4c' '_lz4' +'lz4c32' '_lz4' +'lz4cat' '_lz4' +'lzcat' '_xz' +'lzma' '_xz' +'lzop' '_lzop' +'m-a' '_module-assistant' +'mac2unix' '_dos2unix' +'machinectl' '_machinectl' +'madison' '_madison' +'magnum' '_openstack' +'mail' '_mail' +'Mail' '_mail' +'mailx' '_mail' +'make' '_make' +'makeinfo' '_texinfo' +'make-kpkg' '_make-kpkg' +'makepkg' '_pkgtool' +'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' +'mdfind' '_mdfind' +'mdir' '_mtools' +'mdls' '_mdls' +'mdu' '_mtools' +'mdutil' '_mdutil' +'members' '_members' +'mencal' '_mencal' +'mere' '_mere' +'merge' '_rcs' +'mergechanges' '_mergechanges' +'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' +'mixerctl' '_mixerctl' +'mkdir' '_mkdir' +'mkfifo' '_mkfifo' +'mkisofs' '_growisofs' +'mknod' '_mknod' +'mksh' '_sh' +'mkshortcut' '_mkshortcut' +'mkshortcut.exe' '_mkshortcut' +'mktemp' '_mktemp' +'mktunes' '_gnupod' +'mktunes.pl' '_gnupod' +'mkzsh' '_mkzsh' +'mkzsh.exe' '_mkzsh' +'mlabel' '_mtools' +'mlocate' '_locate' +'mmd' '_mtools' +'mmm' '_webbrowser' +'mmount' '_mtools' +'mmove' '_mtools' +'modinfo' '_modutils' +'modprobe' '_modutils' +'module' '_module' +'module-assistant' '_module-assistant' +'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' +'networksetup' '_networksetup' +'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' +'nnn' '_nnn' +'nocorrect' '_precommand' +'noglob' '_precommand' +'nohup' '_precommand' +'nova' '_openstack' +'npm' '_npm' +'ns' '_hosts' +'nsenter' '_nsenter' +'nslookup' '_nslookup' +'ntalk' '_other_accounts' +'numfmt' '_numfmt' +'nvim' '_vim' +'_nvme' '_nvme' +'nvme' '_nvme' +'nvram' '_nvram' +'objdump' '_objdump' +'od' '_od' +'odme' '_object_classes' +'odmget' '_object_classes' +'odmshow' '_object_classes' +'ogg123' '_vorbis' +'oggdec' '_vorbis' +'oggenc' '_vorbis' +'ogginfo' '_vorbis' +'oksh' '_sh' +'okular' '_okular' +'oomctl' '_oomctl' +'open' '_open' +'openstack' '_openstack' +'opera' '_webbrowser' +'opera-next' '_webbrowser' +'opkg' '_opkg' +'opusdec' '_opustools' +'opusenc' '_opustools' +'opusinfo' '_opustools' +'osascript' '_osascript' +'osc' '_osc' +'otool' '_otool' +'p4' '_perforce' +'p4d' '_perforce' +'pack' '_pack' +'packf' '_mh' +'pandoc' '_pandoc' +'-parameter-' '_parameter' +'parsehdlist' '_urpmi' +'passwd' '_users' +'paste' '_paste' +'patch' '_patch' +'pax' '_pax' +'pbcopy' '_pbcopy' +'pbpaste' '_pbcopy' +'pbuilder' '_pbuilder' +'pcat' '_pack' +'pcp' '_pcp' +'pcp2arrow' '_pcp' +'pcp2elasticsearch' '_pcp' +'pcp2graphite' '_pcp' +'pcp2influxdb' '_pcp' +'pcp2json' '_pcp' +'pcp2spark' '_pcp' +'pcp2xlsx' '_pcp' +'pcp2xml' '_pcp' +'pcp2zabbix' '_pcp' +'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' +'pfctl' '_pfctl' +'pfexec' '_pfexec' +'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' +'piuparts' '_piuparts' +'pkg' '_pkg5' +'pkg_add' '_bsd_pkg' +'pkgadd' '_pkgadd' +'pkg-config' '_pkg-config' +'pkg_create' '_bsd_pkg' +'pkg_delete' '_bsd_pkg' +'pkgin' '_pkgin' +'pkg_info' '_bsd_pkg' +'pkginfo' '_pkginfo' +'pkgrm' '_pkgrm' +'pkgtool' '_pkgtool' +'pkill' '_pgrep' +'pldd' '_pids' +'plutil' '_plutil' +'pmafm' '_pcp' +'pmake' '_make' +'pman' '_perl_modules' +'pmap' '_pmap' +'pmcat' '_perl_modules' +'pmchart' '_pcp' +'pmclient' '_pcp' +'pmclient_fg' '_pcp' +'pmdbg' '_pcp' +'pmdesc' '_perl_modules' +'pmdiff' '_pcp' +'pmdumplog' '_pcp' +'pmdumptext' '_pcp' +'pmerr' '_pcp' +'pmeth' '_perl_modules' +'pmevent' '_pcp' +'pmexp' '_perl_modules' +'pmfind' '_pcp' +'pmfunc' '_perl_modules' +'pmie' '_pcp' +'pmie2col' '_pcp' +'pmiectl' '_pcp' +'pminfo' '_pcp' +'pmiostat' '_pcp' +'pmjson' '_pcp' +'pmlc' '_pcp' +'pmload' '_perl_modules' +'pmlogcheck' '_pcp' +'pmlogctl' '_pcp' +'pmlogdump' '_pcp' +'pmlogextract' '_pcp' +'pmlogger' '_pcp' +'pmloglabel' '_pcp' +'pmlogpaste' '_pcp' +'pmlogreduce' '_pcp' +'pmlogsize' '_pcp' +'pmlogsummary' '_pcp' +'pmls' '_perl_modules' +'pmpath' '_perl_modules' +'pmprobe' '_pcp' +'pmrep' '_pcp' +'pmseries' '_pcp' +'pmstat' '_pcp' +'pmstore' '_pcp' +'pmval' '_pcp' +'pmvers' '_perl_modules' +'podgrep' '_perl_modules' +'podman' '_podman' +'podpath' '_perl_modules' +'podtoc' '_perl_modules' +'poff' '_pon' +'policytool' '_java' +'pon' '_pon' +'popd' '_directory_stack' +'portaudit' '_portaudit' +'portlint' '_portlint' +'portmaster' '_portmaster' +'portsnap' '_portsnap' +'postconf' '_postfix' +'postgres' '_postgresql' +'postmaster' '_postgresql' +'postqueue' '_postfix' +'postsuper' '_postfix' +'powerd' '_powerd' +'pr' '_pr' +'prev' '_mh' +'print' '_print' +'printenv' '_printenv' +'printf' '_print' +'procstat' '_procstat' +'prompt' '_prompt' +'prove' '_prove' +'prs' '_sccs' +'prstat' '_prstat' +'prt' '_sccs' +'prun' '_pids' +'ps' '_ps' +'ps2ascii' '_pspdf' +'ps2epsi' '_postscript' +'ps2pdf' '_postscript' +'ps2pdf12' '_postscript' +'ps2pdf13' '_postscript' +'ps2pdf14' '_postscript' +'ps2pdfwr' '_postscript' +'ps2ps' '_postscript' +'psbook' '_psutils' +'pscp' '_pscp' +'pscp.exe' '_pscp' +'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' +'ptree' '_ptree' +'ptx' '_ptx' +'pump' '_pump' +'pushd' '_cd' +'putclip' '_putclip' +'putclip.exe' '_putclip' +'pv' '_pv' +'pwait' '_pids' +'pwdx' '_pids' +'pwgen' '_pwgen' +'pyhtmlizer' '_twisted' +'qdbus' '_qdbus' +'qiv' '_qiv' +'qtplay' '_qtplay' +'querybts' '_bug' +'quilt' '_quilt' +'r' '_fc' +'rake' '_rake' +'ranlib' '_ranlib' +'rar' '_rar' +'rc' '_sh' +'rcctl' '_rcctl' +'rclone' '_rclone' +'rcp' '_rlogin' +'rcs' '_rcs' +'rcsdiff' '_rcs' +'rdesktop' '_rdesktop' +'read' '_read' +'readelf' '_readelf' +'readlink' '_readlink' +'readonly' '_typeset' +'readshortcut' '_readshortcut' +'readshortcut.exe' '_readshortcut' +'rebootin' '_rebootin' +'-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' +'removepkg' '_pkgtool' +'remsh' '_rlogin' +'renice' '_renice' +'repl' '_mh' +'reportbug' '_bug' +'reprepro' '_reprepro' +'resolvectl' '_resolvectl' +'restart' '_initctl' +'retawq' '_webbrowser' +'rg' '_rg' +'rgrep' '_grep' +'rgview' '_vim' +'rgvim' '_vim' +'ri' '_ri' +'rlogin' '_rlogin' +'rm' '_rm' +'rmadison' '_madison' +'rmd160' '_cksum' +'rmdel' '_sccs' +'rmdir' '_rmdir' +'rmf' '_mh' +'rmic' '_java' +'rmid' '_java' +'rmiregistry' '_java' +'rmm' '_mh' +'rmmod' '_modutils' +'route' '_route' +'rpm' '_rpm' +'rpmbuild' '_rpm' +'rpmkeys' '_rpm' +'rpmquery' '_rpm' +'rpmsign' '_rpm' +'rpmspec' '_rpm' +'rpmverify' '_rpm' +'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' +'savecore' '_savecore' +'say' '_say' +'sbuild' '_sbuild' +'scan' '_mh' +'sccs' '_sccs' +'sccsdiff' '_sccs' +'sched' '_sched' +'schedtool' '_schedtool' +'schroot' '_schroot' +'scl' '_scl' +'scons' '_scons' +'scp' '_ssh' +'screen' '_screen' +'script' '_script' +'scriptreplay' '_script' +'scselect' '_scselect' +'sc_usage' '_sc_usage' +'scutil' '_scutil' +'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' +'signify' '_signify' +'sisu' '_sisu' +'skein1024' '_cksum' +'skein256' '_cksum' +'skein512' '_cksum' +'skipstone' '_webbrowser' +'skopeo' '_skopeo' +'slabtop' '_slabtop' +'slitex' '_tex' +'slocate' '_locate' +'slogin' '_ssh' +'slrn' '_slrn' +'smartctl' '_smartmontools' +'smbclient' '_samba' +'smbcontrol' '_samba' +'smbstatus' '_samba' +'smit' '_smit' +'smitty' '_smit' +'snoop' '_snoop' +'soa' '_hosts' +'socket' '_socket' +'sockstat' '_sockstat' +'softwareupdate' '_softwareupdate' +'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' +'SuSEconfig' '_SUSEconfig' +'sv' '_runit' +'svcadm' '_svcadm' +'svccfg' '_svccfg' +'svcprop' '_svcprop' +'svcs' '_svcs' +'svn' '_subversion' +'svnadmin' '_subversion' +'svnadmin-static' '_subversion' +'svn-buildpackage' '_svn-buildpackage' +'svnlite' '_subversion' +'svnliteadmin' '_subversion' +'swaks' '_swaks' +'swanctl' '_swanctl' +'swift' '_swift' +'swiftc' '_swift' +'sw_vers' '_sw_vers' +'sync' '_nothing' +'sysclean' '_sysclean' +'sysctl' '_sysctl' +'sysmerge' '_sysmerge' +'syspatch' '_syspatch' +'sysrc' '_sysrc' +'systat' '_systat' +'systemctl' '_systemctl' +'systemd-analyze' '_systemd-analyze' +'systemd-ask-password' '_systemd' +'systemd-cat' '_systemd' +'systemd-cgls' '_systemd' +'systemd-cgtop' '_systemd' +'systemd-delta' '_systemd-delta' +'systemd-detect-virt' '_systemd' +'systemd-inhibit' '_systemd-inhibit' +'systemd-machine-id-setup' '_systemd' +'systemd-notify' '_systemd' +'systemd-nspawn' '_systemd-nspawn' +'systemd-path' '_systemd-path' +'systemd-resolve' '_resolvectl' +'systemd-run' '_systemd-run' +'systemd-tmpfiles' '_systemd-tmpfiles' +'systemd-tty-ask-password-agent' '_systemd' +'system_profiler' '_system_profiler' +'sysupgrade' '_sysupgrade' +'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' +'timedatectl' '_timedatectl' +'timeout' '_timeout' +'times' '_nothing' +'tin' '_tin' +'tkconch' '_twisted' +'tkinfo' '_texinfo' +'tla' '_tla' +'tload' '_tload' +'tmux' '_tmux' +'todo' '_devtodo' +'todo.sh' '_todo.sh' +'toilet' '_toilet' +'toolbox' '_toolbox' +'top' '_top' +'totdconfig' '_totd' +'touch' '_touch' +'tpb' '_tpb' +'tpkg-debarch' '_toolchain-source' +'tpkg-install' '_toolchain-source' +'tpkg-install-libc' '_toolchain-source' +'tpkg-make' '_toolchain-source' +'tpkg-update' '_toolchain-source' +'tput' '_tput' +'tr' '_tr' +'tracepath' '_tracepath' +'tracepath6' '_tracepath' +'traceroute' '_hosts' +'transmission-remote' '_transmission' +'trap' '_trap' +'trash' '_trash' +'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' +'udisksctl' '_udisks2' +'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' +'update-alternatives' '_update-alternatives' +'update-rc.d' '_update-rc.d' +'upgradepkg' '_pkgtool' +'uptime' '_uptime' +'urpme' '_urpmi' +'urpmf' '_urpmi' +'urpmi' '_urpmi' +'urpmi.addmedia' '_urpmi' +'urpmi.removemedia' '_urpmi' +'urpmi.update' '_urpmi' +'urpmq' '_urpmi' +'urxvt' '_urxvt' +'urxvt256c' '_urxvt' +'urxvt256cc' '_urxvt' +'urxvt256c-ml' '_urxvt' +'urxvt256c-mlc' '_urxvt' +'urxvtc' '_urxvt' +'usbconfig' '_usbconfig' +'uscan' '_uscan' +'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' +'vim-addons' '_vim-addons' +'vimdiff' '_vim' +'virsh' '_libvirt' +'virt-admin' '_libvirt' +'virt-host-validate' '_libvirt' +'virt-pki-validate' '_libvirt' +'virt-xml-validate' '_libvirt' +'visudo' '_visudo' +'vitrage' '_openstack' +'vmctl' '_vmctl' +'vmstat' '_vmstat' +'vncserver' '_vnc' +'vncviewer' '_vnc' +'vorbiscomment' '_vorbis' +'vpnc' '_vpnc' +'vpnc-connect' '_vpnc' +'vserver' '_vserver' +'w' '_w' +'w3m' '_w3m' +'wait' '_wait' +'wajig' '_wajig' +'wanna-build' '_wanna-build' +'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' +'xcode-select' '_xcode-select' +'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' +'yast' '_yast' +'yast2' '_yast' +'youtube-dl' '_youtube-dl' +'ypbind' '_yp' +'ypcat' '_yp' +'ypmatch' '_yp' +'yppasswd' '_yp' +'yppoll' '_yp' +'yppush' '_yp' +'ypserv' '_yp' +'ypset' '_yp' +'ypwhich' '_yp' +'ypxfr' '_yp' +'ytalk' '_other_accounts' +'yum' '_yum' +'yumdb' '_yum' +'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' +'zinit' '_zinit' +'zip' '_zip' +'zipinfo' '_zip' +'zle' '_zle' +'zlistattr' '_zattr' +'zln' '_zmv' +'zlogin' '_zlogin' +'zmail' '_mail' +'zmodload' '_zmodload' +'zmv' '_zmv' +'zone' '_hosts' +'zoneadm' '_zoneadm' +'zoxide' '_zoxide' +'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' +'zypper' '_zypper' +) + +_services=( +'bzcat' 'bunzip2' +'dch' 'debchange' +'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' +'pcat' 'unpack' +'pmclient_fg' 'pmclient' +'pmevent' 'pmval' +'pmiectl' 'pmlogctl' +'-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 _zinit _bat _bluetoothctl _bootctl _busctl \ + _bwrap _cargo _coredumpctl _curl _dkms \ + _dunst _dunstctl _eza _fd _firewalld \ + _flatpak _hostnamectl _hyperfine _jo _journalctl \ + _kernel-install _libinput _localectl _loginctl _machinectl \ + _module _mpv _nnn _nvme _oomctl \ + _pcp _podman _resolvectl _rg _sd_hosts_or_user_at_host \ + _sd_machines _sd_outputmodes _sd_unit_files _skopeo _systemctl \ + _systemd _systemd-analyze _systemd-delta _systemd-inhibit _systemd-nspawn \ + _systemd-path _systemd-run _systemd-tmpfiles _timedatectl _toolbox \ + _udevadm _udisks2 _wl-copy _wl-paste _wpctl \ + _youtube-dl _zoxide _a2ps _a2utils _aap \ + _abcde _absolute_command_paths _ack _acpi _acpitool \ + _acroread _adb _add-zle-hook-widget _add-zsh-hook _alias \ + _aliases _all_labels _all_matches _alsa-utils _alternative \ + _analyseplugin _ansible _ant _antiword _apachectl \ + _apm _approximate _apt _apt-file _aptitude \ + _apt-move _apt-show-versions _arch_archives _arch_namespace _arg_compile \ + __arguments _arguments _arp _arping _arrays \ + _asciidoctor _asciinema _assign _at _attr \ + _augeas _auto-apt _autocd _avahi _awk \ + _axi-cache _base64 _basename _basenc _bash \ + _bash_completions _baudrates _baz _beadm _beep \ + _be_name _bibtex _bind_addresses _bindkey _bison \ + _bittorrent _bogofilter _bpf_filters _bpython _brace_parameter \ + _brctl _bsdconfig _bsd_disks _bsdinstall _bsd_pkg \ + _btrfs _bts _bug _builtin _bzip2 \ + _bzr _cabal _cache_invalid _caffeinate _cal \ + _calendar _call_function _canonical_paths _capabilities _cat \ + _ccal _cd _cdbs-edit-patch _cdcd _cdr \ + _cdrdao _cdrecord _chattr _chcon _chflags \ + _chkconfig _chmod _choom _chown _chroot \ + _chrt _chsh _cksum _clay _cmdambivalent \ + _cmdstring _cmp _code _column _combination \ + _comm _command _command_names _compadd _compdef \ + _complete _complete_debug _complete_help _complete_help_generic _completers \ + _complete_tag _comp_locale _composer _compress _condition \ + _configure _coreadm _correct _correct_filename _correct_word \ + _cowsay _cp _cpio _cplay _cpupower \ + _crontab _cryptsetup _cscope _csplit _cssh \ + _csup _ctags _ctags_tags _cu _curl \ + _cut _cvs _cvsup _cygcheck _cygpath \ + _cygrunsrv _cygserver _cygstart _dak _darcs \ + _date _date_formats _dates _dbus _dchroot \ + _dchroot-dsa _dconf _dcop _dcut _dd \ + _deb_architectures _debbugs_bugnumber _debchange _debcheckout _deb_codenames \ + _debdiff _deb_files _debfoster _deborphan _deb_packages \ + _debsign _debsnap _debuild _default _defaults \ + _delimiters _describe _description _devtodo _df \ + _dhclient _dhcpinfo _dict _dict_words _diff \ + _diff3 _diff_options _diffstat _dig _directories \ + _directory_stack _dir_list _dirs _disable _dispatch \ + _django _dkms _dladm _dlocate _dmesg \ + _dmidecode _dnf _dns_types _doas _domains \ + _dos2unix _dpatch-edit-patch _dpkg _dpkg-buildpackage _dpkg-cross \ + _dpkg-repack _dpkg_source _dput _drill _dropbox \ + _dscverify _dsh _dtrace _dtruss _du \ + _dumpadm _dumper _dupload _dvi _dynamic_directory_name \ + _e2label _ecasound _echotc _echoti _ed \ + _elfdump _elinks _email_addresses _emulate _enable \ + _enscript _entr _env _eog _equal \ + _espeak _etags _ethtool _evince _exec \ + _expand _expand_alias _expand_word _extensions _external_pwds \ + _fakeroot _fbsd_architectures _fbsd_device_types _fc _feh \ + _fetch _fetchmail _ffmpeg _figlet _file_descriptors \ + _file_flags _file_modes _files _file_systems _find \ + _findmnt _find_net_interfaces _finger _fink _first \ + _flac _flex _floppy _flowadm _fmadm \ + _fmt _fold _fortune _free _freebsd-update \ + _fsh _fstat _fs_usage _functions _fuse_arguments \ + _fuser _fusermount _fuse_values _fw_update _gcc \ + _gcore _gdb _geany _gem _generic \ + _genisoimage _getclip _getconf _getent _getfacl \ + _getmail _getopt _ghostscript _git _git-buildpackage \ + _global _global_tags _globflags _globqual_delims _globquals \ + _gnome-gv _gnu_generic _gnupod _gnutls _go \ + _gpasswd _gpg _gphoto2 _gprof _gqview \ + _gradle _graphicsmagick _grep _grep-excuses _groff \ + _groups _growisofs _gsettings _gstat _guard \ + _guilt _gv _gzip _hash _have_glob_qual \ + _hdiutil _head _hexdump _history _history_complete_word \ + _history_modifiers _host _hostname _hosts _htop \ + _hwinfo _iconv _iconvconfig _id _ifconfig \ + _iftop _ignored _imagemagick _inetadm _initctl \ + _init_d _install _in_vared _invoke-rc.d _ionice \ + _iostat _ip _ipadm _ipfw _ipsec \ + _ipset _iptables _irssi _ispell _iwconfig \ + _jail _jails _java _java_class _jexec \ + _jls _jobs _jobs_bg _jobs_builtin _jobs_fg \ + _joe _join _jot _jq _kdeconnect \ + _kdump _kfmclient _kill _killall _kld \ + _knock _kpartx _ktrace _ktrace_points _kvno \ + _last _ldap _ldconfig _ldd _ld_debug \ + _less _lha _libvirt _lighttpd _limit \ + _limits _links _lintian _list _list_files \ + _lldb _ln _loadkeys _locale _localedef \ + _locales _locate _logger _logical_volumes _login_classes \ + _look _losetup _lp _ls _lsattr \ + _lsblk _lscfg _lsdev _lslv _lsns \ + _lsof _lspv _lsusb _lsvg _ltrace \ + _lua _luarocks _lynx _lz4 _lzop \ + _mac_applications _mac_files_for_application _madison _mail _mailboxes \ + _main_complete _make _make-kpkg _man _mat \ + _mat2 _match _math _math_params _matlab \ + _md5sum _mdadm _mdfind _mdls _mdutil \ + _members _mencal _menu _mere _mergechanges \ + _message _mh _mii-tool _mime_types _mixerctl \ + _mkdir _mkfifo _mknod _mkshortcut _mktemp \ + _mkzsh _module _module-assistant _module_math_func _modutils \ + _mondo _monotone _moosic _mosh _most_recent_file \ + _mount _mozilla _mpc _mplayer _mt \ + _mtools _mtr _multi_parts _mupdf _mutt \ + _mv _my_accounts _myrepos _mysqldiff _mysql_utils \ + _nautilus _nbsd_architectures _ncftp _nedit _netcat \ + _net_interfaces _netscape _netstat _networkmanager _networksetup \ + _newsgroups _next_label _next_tags _nginx _ngrep \ + _nice _nkf _nl _nm _nmap \ + _normal _nothing _npm _nsenter _nslookup \ + _numbers _numfmt _nvram _objdump _object_classes \ + _object_files _obsd_architectures _od _okular _oldlist \ + _open _openstack _opkg _options _options_set \ + _options_unset _opustools _osascript _osc _other_accounts \ + _otool _pack _pandoc _parameter _parameters \ + _paste _patch _patchutils _path_commands _path_files \ + _pax _pbcopy _pbm _pbuilder _pdf \ + _pdftk _perf _perforce _perl _perl_basepods \ + _perldoc _perl_modules _pfctl _pfexec _pgids \ + _pgrep _php _physical_volumes _pick_variant _picocom \ + _pidof _pids _pine _ping _pip \ + _piuparts _pkg5 _pkgadd _pkg-config _pkgin \ + _pkginfo _pkg_instance _pkgrm _pkgtool _plutil \ + _pmap _pon _portaudit _portlint _portmaster \ + _ports _portsnap _postfix _postgresql _postscript \ + _powerd _pr _precommand _prefix _print \ + _printenv _printers _process_names _procstat _prompt \ + _prove _prstat _ps _ps1234 _pscp \ + _pspdf _psutils _ptree _ptx _pump \ + _putclip _pv _pwgen _pydoc _python \ + _python_modules _qdbus _qemu _qiv _qtplay \ + _quilt _rake _ranlib _rar _rcctl \ + _rclone _rcs _rdesktop _read _read_comp \ + _readelf _readlink _readshortcut _rebootin _redirect \ + _regex_arguments _regex_words _remote_files _renice _reprepro \ + _requested _retrieve_cache _retrieve_mac_apps _ri _rlogin \ + _rm _rmdir _route _routing_domains _routing_tables \ + _rpm _rrdtool _rsync _rubber _ruby \ + _run-help _runit _samba _savecore _say \ + _sbuild _sccs _sched _schedtool _schroot \ + _scl _scons _screen _script _scselect \ + _sc_usage _scutil _seafile _sed _selinux_contexts \ + _selinux_roles _selinux_types _selinux_users _sep_parts _seq \ + _sequence _service _services _set _set_command \ + _setfacl _setopt _setpriv _setsid _setup \ + _setxkbmap _sh _shasum _showmount _shred \ + _shuf _shutdown _signals _signify _sisu \ + _slabtop _slrn _smartmontools _smit _snoop \ + _socket _sockstat _softwareupdate _sort _source \ + _spamassassin _split _sqlite _sqsh _ss \ + _ssh _sshfs _ssh_hosts _stat _stdbuf \ + _stgit _store_cache _stow _strace _strftime \ + _strings _strip _stty _su _sub_commands \ + _sublimetext _subscript _subversion _sudo _suffix_alias_files \ + _surfraw _SUSEconfig _svcadm _svccfg _svcprop \ + _svcs _svcs_fmri _svn-buildpackage _swaks _swanctl \ + _swift _sw_vers _sys_calls _sysclean _sysctl \ + _sysmerge _syspatch _sysrc _sysstat _systat \ + _system_profiler _sysupgrade _tac _tags _tail \ + _tar _tar_archive _tardy _tcpdump _tcpsys \ + _tcptraceroute _tee _telnet _terminals _tex \ + _texi _texinfo _tidy _tiff _tilde \ + _tilde_files _timeout _time_zone _tin _tla \ + _tload _tmux _todo.sh _toilet _toolchain-source \ + _top _topgit _totd _touch _tpb \ + _tput _tr _tracepath _transmission _trap \ + _trash _tree _truncate _truss _tty \ + _ttyctl _ttys _tune2fs _twidge _twisted \ + _typeset _ulimit _uml _umountable _unace \ + _uname _unexpand _unhash _uniq _unison \ + _units _unshare _update-alternatives _update-rc.d _uptime \ + _urls _urpmi _urxvt _usbconfig _uscan \ + _user_admin _user_at_host _user_expand _user_math_func _users \ + _users_on _valgrind _value _values _vared \ + _vars _vcs_info _vcs_info_hooks _vi _vim \ + _vim-addons _visudo _vmctl _vmstat _vnc \ + _volume_groups _vorbis _vpnc _vserver _w \ + _w3m _wait _wajig _wakeup_capable_devices _wanna-build \ + _wanted _watch _watch-snoop _wc _webbrowser \ + _wget _whereis _which _who _whois \ + _widgets _wiggle _wipefs _wpa_cli _xargs \ + _x_arguments _xauth _xautolock _x_borderwidth _xclip \ + _xcode-select _x_color _x_colormapid _x_cursor _x_display \ + _xdvi _x_extension _xfig _x_font _xft_fonts \ + _x_geometry _xinput _x_keysym _xloadimage _x_locale \ + _xmlsoft _xmlstarlet _xmms2 _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 _xxd _xz _yafc \ + _yast _yodl _yp _yum _zargs \ + _zattr _zcalc _zcalc_line _zcat _zcompile \ + _zdump _zeal _zed _zfs _zfs_dataset \ + _zfs_pool _zftp _zip _zle _zlogin \ + _zmodload _zmv _zoneadm _zones _zparseopts \ + _zpty _zsh _zsh-mime-handler _zsocket _zstyle \ + _ztodo _zypper +autoload -Uz +X _call_program + +typeset -gUa _comp_assocs +_comp_assocs=( '' ) diff --git a/.config/zsh/.zlogout b/.config/zsh/.zlogout new file mode 100644 index 0000000..f3254a9 --- /dev/null +++ b/.config/zsh/.zlogout @@ -0,0 +1,28 @@ +# ~/.config/zsh/logout.zsh +LOCATION="zsh/logout.zsh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common logout.sh === +_mordu "Sourcing logout actions from ~/.config/posix-common/logout.sh." +source "$HOME"/.config/posix-common/logout.sh +LOCATION="zsh/logout.zsh" +_mordu "Completed sourcing ~/.config/posix-common/logout.sh." +} +# }}} === Source Posix Common logout.sh === + +_mordu "Finished processing $LOCATION." diff --git a/.config/zsh/.zshenv b/.config/zsh/.zshenv new file mode 100644 index 0000000..f6c1d14 --- /dev/null +++ b/.config/zsh/.zshenv @@ -0,0 +1,65 @@ +# ~/.config/zsh/env.zsh +LOCATION="zsh/env.zsh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to enable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common env.sh === +_mordu "Sourcing Env Vars from ~/.config/posix-common/env.sh." +source "$HOME"/.config/posix-common/env.sh +LOCATION="zsh/env.zsh" +_mordu "Completed sourcing environment variables from ~/.config/posix-common/env.sh." +# }}} === Source Posix Common env.sh === + +# {{{ === Configure initial ZSH specific settings. === +_mordu "Configuring initial ZSH specific settings needed for the rest of the shell setup." +# Set ZDOTDIR to allow us to move zsh init files into XDG config. +ZDOTDIR="$HOME/.config/zsh" +export ZDOTDIR + +# Create a functions directory in ~/.config/zsh/functions. +#typeset -U FPATH fpath +#if [ -d "$HOME/.config/zsh/functions" ] ; then +# _mordu "Could not find ~/.config/zsh/functions. Creating." +# mkdir -p ~/.config/zsh/functions +#fi +#_mordu "Setting fpath." +#fpath=("$HOME/.config/zsh/functions" "$fpath") +#export FPATH +# }}} === Configure initial ZSH specific settings. === + +# {{{ === ZSH History settings. === +_mordu "Configuring ZSH command history settings." +if [ ! -d "$HOME/.local/share/zsh/" ] ; then + _mordu "Could not find ~/.local/share/zsh. Creating it Master." + mkdir -p "$HOME"/.local/share/zsh +fi + +# Set location with hostname prepended. +export HISTFILE="$HOME/.local/share/zsh/${HOST//\./_}_zsh_history" + +# Without SAVEHIST zsh won't work. +export SAVEHIST=10000 +export HISTSIZE=10000 + +setopt hist_ignore_all_dups # Don't add duplicate commands to histfile. +setopt hist_find_no_dups # Don't recall dupes either. + # (Shouldn't be needed but set anyway.) +setopt append_history # Append to the history as we go. Not just on logout. +setopt share_history # Share appended history with other terminals. +# }}} === ZSH History settings. === + +_mordu "Finished processing $LOCATION" diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc new file mode 100644 index 0000000..9fdcbaf --- /dev/null +++ b/.config/zsh/.zshrc @@ -0,0 +1,242 @@ +# ~/.config/zsh/interactive.zsh +LOCATION=".config/zsh/interactive.zsh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Source Posix Common interactive.sh === +_mordu "Sourcing interactive shell settings from ~/.config/posix-common/interactive.sh." +source "$HOME"/.config/posix-common/interactive.sh +LOCATION="zsh/interactive.zsh" +_mordu "Completed sourcing interactive shell settings from ~/.config/posix-common/interactive.sh." +# }}} === Source Posix Common interactive.sh === + +# {{{ === Zinit Bootstrap === +_mordu "Performing ZINIT bootstrap." +ZINIT_HOME="$HOME/.local/share/zinit/zinit.git" +if [ ! -d $ZINIT_HOME ]; then + mkdir -p "$(dirname $ZINIT_HOME)" +fi +if [ ! -d $ZINIT_HOME/.git ]; then + ghq get git.mgk.one/zsh/zdharma-continuum.zinit.git +fi + +source "${ZINIT_HOME}/zinit.zsh" + + +_mordu "Enabling Turbo mode for Zinit." +MY_ZINIT_USE_TURBO=true + +# Create an type of alias for loading modules more easily. +_icemgk () {zinit ice from"git.mgk.one" proto"https" $*} + +# Shortcut for plugin locations +ZPLUGS="$HOME/.local/opt/git/git.mgk.one/zsh" +# Use mgkload to switch between 'load' and 'light' if desired. +mgkload=light + +_mordu "Enabling important annexes." +_icemgk +zinit $mgkload "$ZPLUGS"/zdharma-continuum.zinit-annex-meta-plugins + +# Example sourcing locally instead: +#zinit depth=1 lucid light-mode for \ +# ~/.local/git/zinit-annex-as-monitor + +_icemgk +zinit $mgkload "$ZPLUGS"/zdharma-continuum.zinit-annex-bin-gem-node + +_icemgk +zinit $mgkload "$ZPLUGS"/zdharma-continuum.zinit-annex-patch-dl + +_icemgk +zinit $mgkload "$ZPLUGS"/zdharma-continuum.zinit-annex-rust +_mordu "Important annexes loaded." +# }}} End Zinit Bootstrap + +# {{{ === Prompt setup. === +#_mordu "Sourcing Zsh prompt from ~/.config/zsh/prompt.zsh." +#source "$HOME"/.config/zsh/prompt.zsh +#LOCATION="zsh/interactive.zsh" +#_mordu "Finished sourcing Zsh prompt from ~/.config/zsh/prompt.zsh." + +_mordu "Setting prompt to powerlevel10k." +_icemgk +zinit $mgkload "$ZPLUGS"/romkatv.powerlevel10k +. "$HOME"/.config/zsh/prompt.zsh + +# }}} === Prompt setup. === + +# {{{ === VI mode for zsh. === +_mordu "Enabling vi mode for Zsh." +bindkey -v # First enable vi mode for zsh. +KEYTIMEOUT=1 # Next reduce the delay zsh has between mode switches. +bindkey "^?" backward-delete-char # Tame the backspace key in insert mode. +export KEYTIMEOUT +# }}} === VI mode for zsh. === + +# {{{ === Misc Shell Settings. === +_mordu "Configuring misc shell settings such as beeps and notifies." +# Disable beeps +unsetopt beep + +# Report status of background jobs instantly. +setopt notify +# }}} === Misc Shell Settings. === + +# {{{1 === Completions === + +# {{{2 == Load zsh-completions & compinit == +_mordu "Configuring completion framework." +_icemgk atload"zicompinit; zicdreplay" blockf lucid wait +zinit $mgkload "$ZPLUGS"/zsh-users.zsh-completions +# }}} == Load zsh-completions & compinit == + +# {{{2 === Set Misc Completion Options == +# cd to directory by typing its name. +setopt autocd + +# Enhanced wildcards. +setopt extendedglob + +# Print an error when filename completion fails. +setopt nomatch + +# Enable completions cache. +zstyle ':completion::complete:*' use-cache 1 + +# Complete using aliases as well as executables. +setopt complete_aliases +# }}} == Set Misc Completion Options == + +# {{{2 == Fish Style Completion == +# Each 'string in quotes' is tried in order until one them succeeds. +# r:|[.]=** does .bar -> foo.bar +# r:?|[-_]=** does f-b -> foo-bar and F_B -> FOO_BAR +# l:?|=[-_] does foobar -> foo-bar and FOOBAR -> FOO_BAR +# m:{[:lower:]-}={[:upper:]_} does foo-bar -> FOO_BAR +# r:|?=** does fbr -> foo-bar and bar -> foo-bar + +# The below was my last current preference for fuzzy matching. +zstyle ':completion:*:complete:*' matcher-list \ + 'r:|[.]=** r:?|[-_]=** l:?|=[-_] m:{[:lower:]-}={[:upper:]_}' \ + 'r:|?=** m:{[:lower:]}={[:upper:]}' +# }}} == Fish Style Completion == + +# {{{2 == FZF Completion Settings == +_mordu "Setting up fzf-tab for enhanced fuzzy searching with a tui." +_icemgk lucid wait +zinit $mgkload "$ZPLUGS"/aloxaf.fzf-tab + +# disable sort when completing `git checkout` +zstyle ':completion:*:git-checkout:*' sort false + +# set descriptions format to enable group support +zstyle ':completion:*:descriptions' format '[%d]' + +# set list-colors to enable filename colorizing +zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" + +## Display group descriptions as headers. +zstyle ':fzf-tab:*' show-group full + +## preview directory's content with exa when completing cd BROKEN +zstyle ':fzf-tab:complete:cd:*' fzf-preview 'lsd -1 --color=always --icon=always $realpath' +zstyle ':fzf-tab:complete:cd:*' popup-pad 90 0 + +# switch group using `,` and `.` +zstyle ':fzf-tab:*' switch-group ',' '.' + +# Add some handy keybindings +zstyle ':fzf-tab:*' fzf-bindings 'ctrl-s:toggle' 'ctrl-a:toggle-all' + +# give a preview of commandline arguments when completing `kill` +zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w" +zstyle ':fzf-tab:complete:(kill|ps):argument-rest' fzf-preview \ + '[[ $group == "[process ID]" ]] && ps --pid=$word -o cmd --no-headers -w -w' +zstyle ':fzf-tab:complete:(kill|ps):argument-rest' fzf-flags --preview-window=down:3:wrap + +# Systemd unit status preview. +zstyle ':fzf-tab:complete:systemctl-*:*' fzf-preview 'SYSTEMD_COLORS=1 systemctl status $word' + +# Enable cat preview using lessfilter TODO Too small +# BUG: This is creating an annoying preview box in command previews. +zstyle ':fzf-tab:complete:*:*' fzf-preview 'less ${(Q)realpath}' + +# Enable previews for environment variables. +zstyle ':fzf-tab:complete:(-command-|-parameter-|-brace-parameter-|export|unset|expand):*' \ + fzf-preview 'echo ${(P)word}' + +# Enable previews for git. +# it is an example. you can change it +zstyle ':fzf-tab:complete:git-(add|diff|restore):*' fzf-preview \ + 'git diff $word | delta' +zstyle ':fzf-tab:complete:git-log:*' fzf-preview \ + 'git log --color=always $word' +zstyle ':fzf-tab:complete:git-help:*' fzf-preview \ + 'git help $word | bat -plman --color=always' +zstyle ':fzf-tab:complete:git-show:*' fzf-preview \ + 'case "$group" in + "commit tag") git show --color=always $word ;; + *) git show --color=always $word | delta ;; + esac' +zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview \ + 'case "$group" in + "modified file") git diff $word | delta ;; + "recent commit object name") git show --color=always $word | delta ;; + *) git log --color=always $word ;; + esac' + +# Preview for tldr +zstyle ':fzf-tab:complete:tldr:argument-1' fzf-preview 'tldr --color always $word' + +zstyle ':fzf-tab:complete:-command-:*' fzf-preview \ + \u00a6 '(out=$(tldr --color always "$word") 2>/dev/null && echo $out) || (out=$(MANWIDTH=$FZF_PREVIEW_COLUMNS man "$word") 2>/dev/null && echo $out) || (out=$(which "$word") && echo $out) || echo "${(P)word}"' + +# }}} == FZF Completion Settings == + +# }}} === Completions === + +# {{{ === Zsh Autosuggestions === +_mordu "Configuring autosuggestions." +_icemgk lucid wait +zinit $mgkload "$ZPLUGS"/zsh-users.zsh-autosuggestions + +ZSH_AUTOSUGGEST_STRATEGY=(history completion) +# }}} End Zsh Autosuggestions + +# {{{ === Fast Syntax Highlighting === +_mordu "Configuring syntax highlighting." +_icemgk lucid wait +zinit $mgkload "$ZPLUGS"/zdharma-continuum.fast-syntax-highlighting +# }}} End Fast Syntax Highlighting + +# {{{ === Command History Searching === +_mordu "Configuring command history recall." +_icemgk lucid wait +#zinit $mgkload git/pub/by-name/history-search-multi-word.git +zinit $mgkload "$ZPLUGS"/joshskidmore.zsh-fzf-history-search +# }}}=== Command History Searching === + +# {{{ === Source conf.d/ Config Scripts === +_mordu "Loading configs from ~/.config/zsh/conf.d/*." +for config in "$HOME"/.config/zsh/conf.d/* ; do + _mordu "Sourcing $config." + source $config +done +# }}} === Source conf.d/ Config Scripts === + +_mordu "Finished processing $LOCATION." diff --git a/.config/zsh/conf.d/zoxide.zsh b/.config/zsh/conf.d/zoxide.zsh new file mode 100644 index 0000000..b54e546 --- /dev/null +++ b/.config/zsh/conf.d/zoxide.zsh @@ -0,0 +1,129 @@ +# ============================================================================= +# +# Utility functions for zoxide. +# + +# pwd based on the value of _ZO_RESOLVE_SYMLINKS. +function __zoxide_pwd() { + \builtin pwd -L +} + +# cd + custom logic based on the value of _ZO_ECHO. +function __zoxide_cd() { + # shellcheck disable=SC2164 + \builtin cd -- "$@" +} + +# ============================================================================= +# +# Hook configuration for zoxide. +# + +# Hook to add new entries to the database. +function __zoxide_hook() { + # shellcheck disable=SC2312 + \command zoxide add -- "$(__zoxide_pwd)" +} + +# Initialize hook. +# shellcheck disable=SC2154 +if [[ ${precmd_functions[(Ie)__zoxide_hook]:-} -eq 0 ]] && [[ ${chpwd_functions[(Ie)__zoxide_hook]:-} -eq 0 ]]; then + chpwd_functions+=(__zoxide_hook) +fi + +# ============================================================================= +# +# When using zoxide with --no-cmd, alias these internal functions as desired. +# + +__zoxide_z_prefix='z#' + +# Jump to a directory using only keywords. +function __zoxide_z() { + # shellcheck disable=SC2199 + if [[ "$#" -eq 0 ]]; then + __zoxide_cd ~ + elif [[ "$#" -eq 1 ]] && [[ "$1" = '-' ]]; then + if [[ -n "${OLDPWD}" ]]; then + __zoxide_cd "${OLDPWD}" + else + # shellcheck disable=SC2016 + \builtin printf 'zoxide: $OLDPWD is not set' + return 1 + fi + elif [[ "$#" -eq 1 ]] && [[ -d "$1" ]]; then + __zoxide_cd "$1" + elif [[ "$@[-1]" == "${__zoxide_z_prefix}"* ]]; then + # shellcheck disable=SC2124 + \builtin local result="${@[-1]}" + __zoxide_cd "${result:${#__zoxide_z_prefix}}" + else + \builtin local result + # shellcheck disable=SC2312 + result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -- "$@")" && + __zoxide_cd "${result}" + fi +} + +# Jump to a directory using interactive search. +function __zoxide_zi() { + \builtin local result + result="$(\command zoxide query -i -- "$@")" && __zoxide_cd "${result}" +} + +# ============================================================================= +# +# Commands for zoxide. Disable these using --no-cmd. +# + +\builtin unalias z &>/dev/null || \builtin true +function z() { + __zoxide_z "$@" +} + +\builtin unalias zi &>/dev/null || \builtin true +function zi() { + __zoxide_zi "$@" +} + +if [[ -o zle ]]; then + function __zoxide_z_complete() { + # Only show completions when the cursor is at the end of the line. + # shellcheck disable=SC2154 + [[ "${#words[@]}" -eq "${CURRENT}" ]] || return + + if [[ "${#words[@]}" -eq 2 ]]; then + _files -/ + elif [[ "${words[-1]}" == '' ]]; then + \builtin local result + # shellcheck disable=SC2086,SC2312 + if result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -i -- ${words[2,-1]})"; then + __zoxide_result="${result}" + else + __zoxide_result='' + fi + \builtin printf '\e[5n' + fi + } + + function __zoxide_z_complete_helper() { + \builtin local result="${__zoxide_z_prefix}${__zoxide_result}" + # shellcheck disable=SC2296 + [[ -n "${__zoxide_result}" ]] && LBUFFER="${LBUFFER}${(q-)result}" + \builtin zle reset-prompt + } + + \builtin zle -N __zoxide_z_complete_helper + \builtin bindkey "\e[0n" __zoxide_z_complete_helper + if [[ "${+functions[compdef]}" -ne 0 ]]; then + \compdef -d z + \compdef -d zi + \compdef __zoxide_z_complete z + fi +fi + +# ============================================================================= +# +# To initialize zoxide, add this to your configuration (usually ~/.zshrc): +# +# eval "$(zoxide init zsh)" diff --git a/.config/zsh/env.zsh b/.config/zsh/env.zsh new file mode 120000 index 0000000..08a8033 --- /dev/null +++ b/.config/zsh/env.zsh @@ -0,0 +1 @@ +.zshenv \ No newline at end of file diff --git a/.config/zsh/interactive.zsh b/.config/zsh/interactive.zsh new file mode 120000 index 0000000..ed08148 --- /dev/null +++ b/.config/zsh/interactive.zsh @@ -0,0 +1 @@ +.zshrc \ No newline at end of file diff --git a/.config/zsh/logout.zsh b/.config/zsh/logout.zsh new file mode 120000 index 0000000..506c5d1 --- /dev/null +++ b/.config/zsh/logout.zsh @@ -0,0 +1 @@ +.zlogout \ No newline at end of file diff --git a/.config/zsh/prompt.zsh b/.config/zsh/prompt.zsh new file mode 100644 index 0000000..96abc0a --- /dev/null +++ b/.config/zsh/prompt.zsh @@ -0,0 +1,1744 @@ +# Generated by Powerlevel10k configuration wizard on 2024-06-25 at 16:16 EDT. +# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 02750. +# Wizard options: nerdfont-v3 + powerline, small icons, classic, unicode, darkest, +# 24h time, angled separators, blurred heads, blurred tails, 2 lines, solid, no frame, +# compact, many icons, fluent, instant_prompt=verbose. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate +# your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + # Zsh >= 5.1 is required. + [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + os_icon # os identifier + dir # current directory + vcs # git status + # =========================[ Line #2 ]========================= + newline # \n + prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + direnv # direnv status (https://direnv.net/) + asdf # asdf version manager (https://github.com/asdf-vm/asdf) + virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + anaconda # conda environment (https://conda.io/) + pyenv # python environment (https://github.com/pyenv/pyenv) + goenv # go environment (https://github.com/syndbg/goenv) + nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + rvm # ruby version from rvm (https://rvm.io) + fvm # flutter version management (https://github.com/leoafarias/fvm) + luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + jenv # java version from jenv (https://github.com/jenv/jenv) + plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) + phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) + haskell_stack # haskell version from stack (https://haskellstack.org/) + kubecontext # current kubernetes context (https://kubernetes.io/) + terraform # terraform workspace (https://www.terraform.io) + # terraform_version # terraform version (https://www.terraform.io) + aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + gcloud # google cloud cli account and project (https://cloud.google.com/) + google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + toolbox # toolbox name (https://github.com/containers/toolbox) + context # user@hostname + nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + ranger # ranger shell (https://github.com/ranger/ranger) + yazi # yazi shell (https://github.com/sxyazi/yazi) + nnn # nnn shell (https://github.com/jarun/nnn) + lf # lf shell (https://github.com/gokcehan/lf) + xplr # xplr shell (https://github.com/sayanarijit/xplr) + 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/) + # vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + 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 + # =========================[ Line #2 ]========================= + newline # \n + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=nerdfont-v3 + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=none + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= + + # Add an empty line before each prompt. + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + + # Connect left prompt lines with these symbols. You'll probably want to use the same color + # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= + + # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or + # '─'. The last two make it easier to see the alignment between left and right prompt and to + # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + # for more compact prompt if using this option. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE + # ornaments defined above. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=238 + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + # Default background color. + typeset -g POWERLEVEL9K_BACKGROUND=234 + + # Separator between same-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%242F\uE0B1' + # Separator between same-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%242F\uE0B3' + # Separator between different-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' + # Separator between different-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' + # To remove a separator between two segments, add "_joined" to the second segment name. + # For example: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(os_icon context_joined) + + # The right end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='▓▒░' + # The left end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='░▒▓' + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='░▒▓' + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='▓▒░' + # Left prompt terminator for lines without any segments. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255 + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Transparent background. + typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # No surrounding whitespace. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + ##################################[ dir: current directory ]################################## + # Default current directory color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=31 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-versions + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":" where is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON + # and POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # The default icon shown next to non-writable and non-existent directories when + # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories + # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one + # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or + # WORK_NON_EXISTENT. + # + # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NON_EXISTENT. + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='%244Fin ' + + #####################################[ vcs: git status ]###################################### + # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + if (( $1 )); then + # Styling for up-to-date Git status. + local meta='%244F' # grey foreground + local clean='%76F' # green foreground + local modified='%178F' # yellow foreground + local untracked='%39F' # blue foreground + local conflicted='%196F' # red foreground + else + # Styling for incomplete and stale Git status. + local meta='%244F' # grey foreground + local clean='%244F' # grey foreground + local modified='%244F' # grey foreground + local untracked='%244F' # grey foreground + local conflicted='%244F' # grey foreground + fi + + local res + + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + local branch=${(V)VCS_STATUS_LOCAL_BRANCH} + # If local branch name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" + fi + + if [[ -n $VCS_STATUS_TAG + # Show tag only if not on a branch. + # Tip: To always show tag, delete the next line. + && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line + ]]; then + local tag=${(V)VCS_STATUS_TAG} + # If tag name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show tag name in full without truncation, delete the next line. + (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line + res+="${meta}#${clean}${tag//\%/%%}" + fi + + # Display the current Git commit if there is no branch and no tag. + # Tip: To always display the current Git commit, delete the next line. + [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line + res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" + fi + + # Display "wip" if the latest commit's summary contains "wip" or "WIP". + if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then + res+=" ${modified}wip" + fi + + 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+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}' + typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Icon color. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 + typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 + # Custom icon. + # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_VCS_PREFIX='%244Fon ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg reposotiry. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + # These settings are used for repositories other than Git or when gitstatusd fails and + # Powerlevel10k has to fall back to using vcs_info. + typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=false + typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=false + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + + ###################[ command_execution_time: duration of the last command ]################### + # Show duration of the last command if takes at least this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%244Ftook ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Background jobs color. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent directory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### + # Yazi shell color. + typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ lf: lf shell (https://github.com/gokcehan/lf) ]####################### + # lf shell color. + typeset -g POWERLEVEL9K_LF_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## + # xplr shell color. + typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # 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 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### + # Text and color for normal (a.k.a. command) vi mode. + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106 + # Text and color for visual vi mode. + typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL + typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68 + # Text and color for overtype (a.k.a. overwrite and replace) vi mode. + typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE + typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172 + # Text and color for insert vi mode. + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 + # Custom icon. + # typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ ram: free RAM ]####################################### + # RAM color. + typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 + # Load color when load is between 50% and 70%. + typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 + # Load color when load is over 70%. + typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # 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 + + # Hide the segment when on a specific CPU architecture. + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 + + # Context format when running with privileges: bold user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%244Fwith ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # If set to "false", won't show virtualenv if pyenv is already shown. + # If set to "if-different", won't show virtualenv if it's the same as pyenv. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + + # Custom icon. + # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or + # starts with "$P9K_PYENV_PYTHON_VERSION/". + # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ 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='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ + # Perlbrew color. + typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 + # Show perlbrew version only when in a perl project subdirectory. + typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true + # Don't show "perl-" at the front. + typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide php version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### + # Scala color. + typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 + # Hide scala version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) + # If set to false, hide scala version if it's the same as global: + # $(scalaenv version-name) == $(scalaenv global). + typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide scala version if it's equal to "system". + typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace 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_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_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_TERRAFORM_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ terraform_version: terraform version (https://www.terraform.io) ]############## + # Terraform version color. + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ 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|kubecolor|cmctl|sparkctl' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context 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_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" 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_KUBECONTEXT_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%244Fat ' + + #[ 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|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. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile 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_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # AWS segment format. The following parameters are available within the expansion. + # + # - P9K_AWS_PROFILE The name of the current AWS profile. + # - P9K_AWS_REGION The region associated with the current AWS profile. + typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # 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_OTHER_FOREGROUND=32 + # Custom icon. + # 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. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' + # Google cloud color. + typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context 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_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it 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_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### + # Toolbox color. + typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178 + # Don't display the name of the toolbox if it matches fedora-toolbox-*. + typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' + # Custom icon. + # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%244Fin ' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_FOREGROUND=38 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+------------------------------------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt + # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079' + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + + ####################################[ time: current time ]#################################### + # Current time color. + typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_TIME_PREFIX='%244Fat ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -f 208 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' diff --git a/.config/zsh/prompt.zsh.old b/.config/zsh/prompt.zsh.old new file mode 100644 index 0000000..0f24ace --- /dev/null +++ b/.config/zsh/prompt.zsh.old @@ -0,0 +1,48 @@ +# ~/.config/zsh/prompt.zsh +LOCATION="zsh/prompt.zsh" + +# {{{ === Script Debug Settings === +#DEBUG=y # Comment this out to disable DEBUGing. +function _mordu { + [ "$DEBUG" ] && echo ">>> Mordu@$LOCATION: $*" +} + +function _mordu_n { + [ "$DEBUG" ] && echo -n ">>> Mordu@$LOCATION: $*" +} + +function _mordu_nl { + [ "$DEBUG" ] && echo "$*" +} +_mordu "Beginning processing $LOCATION." +# }}} === Script Debug Settings === + +# {{{ === Load Powerlevel10k Prompt. === +# Check if starship prompt is available and use it if it is. +if command -v starship >/dev/null ; then + # Starship prompt. + _mordu "Starship found. Setting as shell prompt." + eval "$(starship init zsh)" +else + # Plain prompt. + _mordu "Starship not found. Falling back to plain prompt." + precmd() { print -rP "[%n@%m:%/]" } + PROMPT='(zsh) %# ' +fi +# }}} === Load Powerlevel10k Prompt. === + +## {{{ === Load Starship Prompt. === +## Check if starship prompt is available and use it if it is. +#if command -v starship >/dev/null ; then +# # Starship prompt. +# _mordu "Starship found. Setting as shell prompt." +# eval "$(starship init zsh)" +#else +# # Plain prompt. +# _mordu "Starship not found. Falling back to plain prompt." +# precmd() { print -rP "[%n@%m:%/]" } +# PROMPT='(zsh) %# ' +#fi +# }}} === Load Starship Prompt. === + +_mordu "Finished processing $LOCATION."