From f4b88690f7b589d9a1f336d5bbb124ec1cdcec57 Mon Sep 17 00:00:00 2001 From: Arthur Khachaturov Date: Sat, 7 Dec 2024 21:32:02 +0300 Subject: [PATCH] changes again --- .config/nvim/lazy-lock.json | 45 +++++++++---------- .config/tmux/tmux.conf | 5 ++- .config/zsh/.zlogin | 1 + .config/zsh/.zshenv | 34 +++++++------- .config/zsh/.zshrc | 8 ++-- .local/bin/scripts/dmenu-askpass | 3 ++ .local/bin/scripts/dmenu_askpass | 3 -- .local/bin/scripts/ie | 22 +++++---- .local/bin/scripts/md | 4 +- .../scripts/{ssh-askpass => pinentry-askpass} | 0 .local/bin/scripts/vpnd | 38 +++++++++++----- .local/share/gnupg/gpg-agent.conf | 1 + 12 files changed, 94 insertions(+), 70 deletions(-) create mode 100755 .local/bin/scripts/dmenu-askpass delete mode 100755 .local/bin/scripts/dmenu_askpass rename .local/bin/scripts/{ssh-askpass => pinentry-askpass} (100%) create mode 100644 .local/share/gnupg/gpg-agent.conf diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index a03d74b..11d9aa9 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,40 +1,39 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "45db5addf8d0a201e1cf247cae4cdce605ad3768" }, + "LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" }, "Navigator.nvim": { "branch": "master", "commit": "91d86506ac2a039504d5205d32a1d4bc7aa57072" }, - "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" }, + "bufferline.nvim": { "branch": "main", "commit": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, - "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, - "indent-blankline.nvim": { "branch": "master", "commit": "18603eb949eba08300799f64027af11ef922283f" }, + "fidget.nvim": { "branch": "main", "commit": "e2a175c2abe2d4f65357da1c98c59a5cfb2b543f" }, + "indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" }, "iptables": { "branch": "master", "commit": "0d18b1e468f547dd7e2c494d42bc134a1e0eac7e" }, - "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, - "lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" }, - "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, + "lazy.nvim": { "branch": "main", "commit": "656cf4309396b7b8b62984e923bf8d8a0013f7d7" }, + "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, + "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, - "nvim-autopairs": { "branch": "master", "commit": "fd2badc24e675f947162a16c124d395bde80dbd6" }, - "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, + "nvim-cmp": { "branch": "main", "commit": "ca4d3330d386e76967e53b85953c170658255ecb" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" }, - "nvim-lspconfig": { "branch": "master", "commit": "bb682c167a0878338b4313b55538953d1c039085" }, - "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, - "nvim-tree.lua": { "branch": "master", "commit": "d41b4ca013ed89e41b9c0ecbdae5f1633e42f7fa" }, - "nvim-treesitter": { "branch": "master", "commit": "4af16a10b7f1e79275f712a1c6dcf725d301a303" }, - "nvim-treesitter-context": { "branch": "master", "commit": "e6cc783b74606d97ca9eff6494e3f5c2ca603a50" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "bf8d2ad35d1d1a687eae6c065c3d524f7ab61b23" }, - "nvim-web-devicons": { "branch": "master", "commit": "9793801f974bba70e4ac5d7eae6c4f5659993d8e" }, - "onedark.nvim": { "branch": "master", "commit": "fae34f7c635797f4bf62fb00e7d0516efa8abe37" }, - "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" }, + "nvim-lspconfig": { "branch": "master", "commit": "47f236c058f0511702286a21ba53bbf42abbd8a8" }, + "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, + "nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" }, + "nvim-tree.lua": { "branch": "master", "commit": "375e38673b5c61debd8074ced01cfd4f3b7ce1e9" }, + "nvim-treesitter": { "branch": "master", "commit": "894cb3cebbad0535fb4e319ada5d875dbc48d8b9" }, + "nvim-treesitter-context": { "branch": "master", "commit": "b9e30333ece125297cfc5d652465cbc9a23b4916" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, + "nvim-web-devicons": { "branch": "master", "commit": "87c34abe5d1dc7c1c0a95aaaf888059c614c68ac" }, + "onedark.nvim": { "branch": "master", "commit": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "quickfix-reflector.vim": { "branch": "master", "commit": "6a6a9e28e1713b9e9db99eec1e6672e5666c01b9" }, "telescope-emoji.nvim": { "branch": "master", "commit": "86248d97be84a1ce83f0541500ef9edc99ea2aa1" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, - "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, - "vim-fugitive": { "branch": "master", "commit": "d4877e54cef67f5af4f950935b1ade19ed6b7370" }, + "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, + "vim-fugitive": { "branch": "master", "commit": "320b18fba2a4f2fe3c8225c778c687e0d2620384" }, "vim-peekaboo": { "branch": "master", "commit": "cc4469c204099c73dd7534531fa8ba271f704831" }, - "vim-sleuth": { "branch": "master", "commit": "cd9d382e33bb817abe7f10cdc3a606bf1d491d75" }, - "vim-wakatime": { "branch": "master", "commit": "53bba6bb8342de9cbdafc82142a9b5e82008d858" } + "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" } } diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 09df37b..b1fb998 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -31,8 +31,9 @@ set -g monitor-activity off # number windows with respect for base-index set -g renumber-windows off -# Resize all windows to max size? -setw -g aggressive-resize on +# Resize all windows to min size +setw -g aggressive-resize off +setw -g window-size smallest # Change history limit set -g history-limit 262144 diff --git a/.config/zsh/.zlogin b/.config/zsh/.zlogin index 15e413f..e42033a 100644 --- a/.config/zsh/.zlogin +++ b/.config/zsh/.zlogin @@ -1,3 +1,4 @@ +[ -f "~/.config/.fix-tty" ] || return process_id="$$" ( if [ "$(inxi -aG | grep -c 'Monitor')" -eq 1 ]; then diff --git a/.config/zsh/.zshenv b/.config/zsh/.zshenv index 8ffcddd..5a62864 100644 --- a/.config/zsh/.zshenv +++ b/.config/zsh/.zshenv @@ -4,31 +4,31 @@ PATH="$HOME/.local/share/go/bin:$PATH" PATH="${$(find -L ~/.local/bin ! -name '.*' -type d -printf %p:)%%:}:$PATH" # lc vars -LANGUAGE="en_US.UTF-8" LANG="en_US.UTF-8" -LC_CTYPE="en_US.UTF-8" -LC_NUMERIC="en_US.UTF-8" -LC_TIME="en_US.UTF-8" -LC_COLLATE="en_US.UTF-8" -LC_MONETARY="en_US.UTF-8" -LC_MESSAGES="en_US.UTF-8" -LC_PAPER="en_US.UTF-8" -LC_NAME="en_US.UTF-8" +LANGUAGE="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" -LC_TELEPHONE="en_US.UTF-8" -LC_MEASUREMENT="en_US.UTF-8" -LC_IDENTIFICATION="en_US.UTF-8" LC_ALL="en_US.UTF-8" +LC_COLLATE="en_US.UTF-8" +LC_CTYPE="en_US.UTF-8" +LC_IDENTIFICATION="en_US.UTF-8" +LC_MEASUREMENT="en_US.UTF-8" +LC_MESSAGES="en_US.UTF-8" +LC_MONETARY="en_US.UTF-8" +LC_NAME="en_US.UTF-8" +LC_NUMERIC="en_US.UTF-8" +LC_PAPER="en_US.UTF-8" +LC_TELEPHONE="en_US.UTF-8" +LC_TIME="en_US.UTF-8" -# default apps +# default configs EDITOR="/usr/bin/nvim" +GNUPGHOME='~/.local/share/gnupg' +GOPATH="${HOME}/.local/share/go" GPG_TTY="$(tty)" MANPAGER="sh -c 'col -bx | bat -l man -p'" MANROFFOPT="-c" MTR_OPTIONS="-t" -GNUPGHOME='~/.local/share/gnupg' - -SUDO_ASKPASS="${HOME}/.local/bin/scripts/dmenu_askpass" -SSH_ASKPASS="${HOME}/.local/bin/scripts/ssh-askpass" +SSH_ASKPASS="${HOME}/.local/bin/scripts/pinentry-askpass" +SUDO_ASKPASS="${HOME}/.local/bin/scripts/dmenu-askpass" set +a diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index e795f30..1cb58d6 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -53,8 +53,7 @@ alias ls="lsd --color=auto" alias l="ls -lh" alias la="ls -lah" alias ll="ls -lh" -alias tree="ls --tree" -alias lt="unbuffer lsd --color=always -lt" +alias lt="ls -lt" # set bat as help pager alias -g -- --help='--help 2>&1 | bat --language=help --style=plain' @@ -84,11 +83,10 @@ alias cal="ncal -b" alias .e="source .env" # function aliases -bl() { brightnessctl set "$1"% &> /dev/null; } +bl() { brightnessctl set "$1"% > /dev/null; } nosw() { alacritty --class 'noswallow' -e "$@"; }; compdef _command nosw t() { taskell "${1:-${HOME}/.taskell.md}"; } -vims() { vim "$(whereis "$1" | rev | cut -d ' ' -f 1 | rev)"; }; compdef _command vims -bc() { unbuffer "$@" | bat; }; compdef _command bc +vims() { filepath="$(type "$1" | rev | cut -d ' ' -f 1 | rev)"; [ $? -eq 0 ] && vim "${filepath}"; }; compdef _command vims # compdef compdef -a '_git; _git-commit' gdc # todo diff --git a/.local/bin/scripts/dmenu-askpass b/.local/bin/scripts/dmenu-askpass new file mode 100755 index 0000000..1a017e9 --- /dev/null +++ b/.local/bin/scripts/dmenu-askpass @@ -0,0 +1,3 @@ +#!/bin/bash + +dmenu -p "$1" -nf '#232323' <&- diff --git a/.local/bin/scripts/dmenu_askpass b/.local/bin/scripts/dmenu_askpass deleted file mode 100755 index cf2cfee..0000000 --- a/.local/bin/scripts/dmenu_askpass +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -dmenu -p "$1" -nf '#3a3a3a' <&- diff --git a/.local/bin/scripts/ie b/.local/bin/scripts/ie index a022cac..2949ba2 100755 --- a/.local/bin/scripts/ie +++ b/.local/bin/scripts/ie @@ -1,21 +1,27 @@ #!/bin/bash -API_ENDPOINT="http://ip-api.com/json/$1"'?fields=7876383' +API_ENDPOINT="http://ip-api.com/json/$1"'?fields=' +FIELDS_FULL='7876383' +FIELDS_SHORT='8192' get_stats() { - api_response=$(curl "${API_ENDPOINT}" 2>/dev/null) - ip=$(jq -r .query <<<"$api_response") - ptr="$(dig -x "$ip" | grep -A 1 'ANSWER SECTION' | grep -v 'ANSWER SECTION')" - jq -r '[ "IP: \(.query)", "Country: \(.country)", "City: \(.city)", "ISP: \(.isp)", "ASN: \(.as)" ][] | "\(.)"' <<<"$api_response" - [ -n "$ptr" ] && echo "PTR: $ptr" + api_response=$(curl "${API_ENDPOINT}${FIELDS_FULL}" 2>/dev/null) + ip=$(jq -r .query <<< "$api_response") + jq -r '[ "IP: \(.query)", "Country: \(.country)", "City: \(.city)", "ISP: \(.isp)", "ASN: \(.as)" ][] | "\(.)"' <<< "$api_response" + dig_ans="$(dig -x $ip)" + ans_count="$(echo "$dig_ans" | grep -o 'ANSWER: [[:digit:]]\+' | cut -d ' ' -f2)" + [ "$ans_count" -gt 0 ] && { + printf "PTR: " + echo "$(echo "$dig_ans" | grep -A1 ';; ANSWER SECTION' | tail -n1 | awk -F 'PTR' '{ print($2) }' | cut -d $'\t' -f 2)" + } } if [ -t 0 ] && [ -t 1 ]; then get_stats elif [ -t 1 ]; then - notify-send -i /dev/null "Your IP address" "$(get_stats)" + notify-send -i /dev/null "" "$(get_stats)" else - curl -s ip.me + curl "${API_ENDPOINT}${FIELDS_SHORT}" 2>/dev/null | jq -r .query fi # vim: ft=bash diff --git a/.local/bin/scripts/md b/.local/bin/scripts/md index 8a79782..3659d03 100755 --- a/.local/bin/scripts/md +++ b/.local/bin/scripts/md @@ -34,9 +34,9 @@ main() { "--template=${HOME}/.local/share/default.html" "--variable=published_time=$(date -Iseconds -d"$(stat "$1" | grep 'Birth:' | sed 's/.*Birth:\s//')")" ) - pandoc "${pandoc_options[@]}" <(shift_header "$1") > "$FILENAME" 2>/dev/null && + pandoc "${pandoc_options[@]}" <(shift_header "$1") > "$FILENAME" && echo "$FILENAME" && - firefox "$FILENAME" 2>/dev/null & disown + firefox "$FILENAME" & disown sleep 5 cleanup diff --git a/.local/bin/scripts/ssh-askpass b/.local/bin/scripts/pinentry-askpass similarity index 100% rename from .local/bin/scripts/ssh-askpass rename to .local/bin/scripts/pinentry-askpass diff --git a/.local/bin/scripts/vpnd b/.local/bin/scripts/vpnd index e6c2db5..b2da33d 100755 --- a/.local/bin/scripts/vpnd +++ b/.local/bin/scripts/vpnd @@ -1,26 +1,28 @@ #!/bin/bash # shellcheck disable=SC2034 +die() { + echo "exitting..." + rm -f $PIPE + exit 0 +} + +trap 'die' SIGTERM SIGQUIT SIGINT + PIPE="/var/run/vpnd.sock" +oc_pid= [ -p $PIPE ] && exit 1 [ "$(id -u)" != "0" ] && exit 1 -trap 'die' SIGTERM SIGQUIT SIGINT - declare -a CONFIGS -for config in /etc/wireguard/*; do +for config in /etc/openconnect/config_*; do config="$(basename "$config")" - CONFIGS+=("${config%.conf}") + CONFIGS+=("${config#config_}") done COMMANDS=("up" "down") -die() { - rm $PIPE - exit 0 -} - in_arr() { declare -n arr="$2" @@ -30,6 +32,19 @@ in_arr() { return 1 } +down() { + [ -z "$oc_pid" ] && return + kill -s TERM $oc_pid + wait $oc_pid + oc_pid= +} + +up() { + [ -n "$oc_pid" ] && down + openconnect --config "/etc/openconnect/config_$1" & + oc_pid="$!" +} + main() { mkfifo $PIPE -m666 @@ -41,7 +56,10 @@ main() { elif ! in_arr "$cmd" "COMMANDS"; then echo "ERROR: Invalid command $cmd" > $PIPE else - wg-quick "$cmd" "$ifname" > $PIPE 2>&1 + case "$cmd" in + "up") up "$ifname" > $PIPE ;; + "down") down > $PIPE ;; + esac fi done } diff --git a/.local/share/gnupg/gpg-agent.conf b/.local/share/gnupg/gpg-agent.conf new file mode 100644 index 0000000..049b40e --- /dev/null +++ b/.local/share/gnupg/gpg-agent.conf @@ -0,0 +1 @@ +pinentry-program /usr/bin/pinentry-curses