Compare commits

...

117 commits

Author SHA1 Message Date
pull[bot]
ea46555488
Merge pull request #269 from dmitmel/master
[pull] master from dmitmel:master
2021-05-28 14:50:57 +00:00
pull[bot]
aab6ad2098
Merge pull request #268 from dmitmel/master
[pull] master from dmitmel:master
2021-05-27 21:29:45 +00:00
pull[bot]
ed6a41acab
Merge pull request #267 from dmitmel/master
[pull] master from dmitmel:master
2021-05-26 21:19:02 +00:00
pull[bot]
ffd4e25823
Merge pull request #266 from dmitmel/master
[pull] master from dmitmel:master
2021-05-25 20:58:30 +00:00
pull[bot]
955a4d07f4
Merge pull request #265 from dmitmel/master
[pull] master from dmitmel:master
2021-05-22 14:29:16 +00:00
pull[bot]
4932e97a4d
Merge pull request #264 from dmitmel/master
[pull] master from dmitmel:master
2021-05-20 14:56:00 +00:00
pull[bot]
9f20a69f0b
Merge pull request #263 from dmitmel/master
[pull] master from dmitmel:master
2021-05-19 08:48:59 +00:00
pull[bot]
31b4bde4ae
Merge pull request #262 from dmitmel/master
[pull] master from dmitmel:master
2021-05-18 02:21:58 +00:00
628272dbba
Merge branch 'dmitmel-master' 2021-05-17 17:00:10 +02:00
19f5649e91
[Chore] Fix merge conflict. 2021-05-17 16:59:54 +02:00
pull[bot]
b5fbb5b982
Merge pull request #260 from dmitmel/master
[pull] master from dmitmel:master
2021-05-16 13:10:49 +00:00
Dmytro Meleshko
030c018bb4 [nvim] make it so that indentLines doesn't close the intro screen 2021-05-16 15:55:17 +03:00
pull[bot]
0e50626bd4
Merge pull request #259 from dmitmel/master
[pull] master from dmitmel:master
2021-05-16 01:05:55 +00:00
pull[bot]
3f6615710c
Merge pull request #258 from dmitmel/master
[pull] master from dmitmel:master
2021-05-15 19:05:59 +00:00
pull[bot]
5ebf075ae2
Merge pull request #257 from dmitmel/master
[pull] master from dmitmel:master
2021-05-15 13:06:01 +00:00
pull[bot]
9cd5b768f3
Merge pull request #256 from dmitmel/master
[pull] master from dmitmel:master
2021-05-14 14:22:44 +00:00
7eb8ac0772
[zsh] Don't time every custom script. 2021-05-14 10:05:35 +02:00
32c6c80622
Merge branch 'dmitmel-master' 2021-05-14 10:02:36 +02:00
d2cbad6967
Merge pull request #255 from dmitmel/master 2021-05-14 10:02:18 +02:00
091449f604
[zsh] Reimplement loading of custom scripts. 2021-05-10 20:38:37 +02:00
be27b811f7
[zsh] Load custom folder. 2021-05-10 19:32:38 +02:00
6ebac00f43
[zsh] Added silence function. 2021-05-10 17:20:40 +02:00
47d365b837
[zsh] Add gpg-crypt commands. 2021-05-10 16:05:55 +02:00
b7454a658b
[zsh] Added gitio plugin. 2021-05-10 12:58:36 +02:00
84ad770f3d
[zsh] Added Apache2 plugin. 2021-05-10 12:52:04 +02:00
pull[bot]
9e9ff0d20c
Merge pull request #254 from dmitmel/master
[pull] master from dmitmel:master
2021-05-09 08:52:09 +00:00
pull[bot]
81d598fb1e
Merge pull request #253 from dmitmel/master
[pull] master from dmitmel:master
2021-05-09 02:52:09 +00:00
pull[bot]
f85d59b870
Merge pull request #252 from dmitmel/master
[pull] master from dmitmel:master
2021-05-08 20:52:09 +00:00
pull[bot]
ece2d929fb
Merge pull request #251 from dmitmel/master
[pull] master from dmitmel:master
2021-05-08 14:52:09 +00:00
e2a7a13222 [Codespaces] Set hostname because why not? 2021-05-08 12:12:04 +00:00
0809e03363 [Codespaces] Attempt to autorun ZSH. 2021-05-08 12:06:12 +00:00
1ae2e1bfcc [Codespaces] Add Python venv to gitignore. 2021-05-08 12:04:47 +00:00
cc4aa3ab52 [Codespaces] Install welcome script dependencies. 2021-05-08 12:01:33 +00:00
35dfa8d184 [Codespaces] Fix install script. 2021-05-08 11:56:59 +00:00
f3ed9af843 [Codespaces] Add install script. 2021-05-08 11:56:59 +00:00
Dmytro Meleshko
fcf01bf6a9 fixup! at long last, reformat all Python code with 2 space indents 2021-05-08 11:56:59 +00:00
pull[bot]
4e594b37b5
Merge pull request #249 from dmitmel/master
[pull] master from dmitmel:master
2021-05-05 01:26:11 +00:00
pull[bot]
d76d667bfc
Merge pull request #248 from dmitmel/master
[pull] master from dmitmel:master
2021-05-04 01:26:11 +00:00
pull[bot]
ed3b8d9046
Merge pull request #247 from dmitmel/master
[pull] master from dmitmel:master
2021-04-28 17:51:08 +00:00
pull[bot]
2c3049b5a9
Merge pull request #246 from dmitmel/master
[pull] master from dmitmel:master
2021-04-27 17:26:33 +00:00
Dmytro Meleshko
191fba04bb [zsh] move zcompdump into ~/.cache 2021-04-27 14:48:16 +03:00
77a6aadf5e
Merge branch 'dmitmel-master' into master 2021-04-26 18:13:27 +02:00
a1ae96a050
[scripts/copy-crosscode-emoji-url] add an option for allowing nsfw emotes 2021-04-26 18:13:10 +02:00
34fb04a9d2
Merge branch 'dmitmel-master' 2021-04-26 12:14:31 +02:00
0a9b65af7b
Merged dmitmel:master into master. 2021-04-26 12:14:13 +02:00
pull[bot]
c1e451b5ce
Merge pull request #241 from dmitmel/master
[pull] master from dmitmel:master
2021-04-23 22:29:43 +00:00
pull[bot]
0643bdf1bf
Merge pull request #240 from dmitmel/master
[pull] master from dmitmel:master
2021-04-22 22:30:01 +00:00
pull[bot]
fc5e5f1951
Merge pull request #239 from dmitmel/master
[pull] master from dmitmel:master
2021-04-22 16:29:44 +00:00
pull[bot]
1cc52196dd
Merge pull request #238 from dmitmel/master
[pull] master from dmitmel:master
2021-04-18 16:31:04 +00:00
pull[bot]
0d82ed488b
Merge pull request #237 from dmitmel/master
[pull] master from dmitmel:master
2021-04-11 22:29:26 +00:00
pull[bot]
e5d942e860
Merge pull request #236 from dmitmel/master
[pull] master from dmitmel:master
2021-04-10 16:29:36 +00:00
5e7350f793
Merge branch 'dmitmel-master' 2021-04-09 21:50:58 +02:00
7a2ac38de7
Fixed conflict. 2021-04-09 21:50:38 +02:00
pull[bot]
3236718daf
Merge pull request #234 from dmitmel/master
[pull] master from dmitmel:master
2021-04-05 03:36:06 +00:00
Dmytro Meleshko
9253cb6a08 [crosscode] add an icon for the Arch mod 2021-04-05 02:07:00 +03:00
pull[bot]
49b67aea8d
Merge pull request #233 from dmitmel/master
[pull] master from dmitmel:master
2021-04-02 21:27:52 +00:00
pull[bot]
23a741be94
Merge pull request #232 from dmitmel/master
[pull] master from dmitmel:master
2021-03-30 14:59:34 +00:00
pull[bot]
5e0633ead5
Merge pull request #231 from dmitmel/master
[pull] master from dmitmel:master
2021-03-30 09:29:53 +00:00
pull[bot]
7867a5ddd9
Merge pull request #230 from dmitmel/master
[pull] master from dmitmel:master
2021-03-27 16:34:30 +00:00
pull[bot]
a089d68776
Merge pull request #229 from dmitmel/master
[pull] master from dmitmel:master
2021-03-27 02:18:23 +00:00
pull[bot]
fc159ec552
Merge pull request #228 from dmitmel/master
[pull] master from dmitmel:master
2021-03-26 06:38:12 +00:00
pull[bot]
4e1c759bbc
Merge pull request #227 from dmitmel/master
[pull] master from dmitmel:master
2021-03-25 06:41:49 +00:00
pull[bot]
9164088ecc
Merge pull request #226 from dmitmel/master
[pull] master from dmitmel:master
2021-03-21 15:54:50 +00:00
pull[bot]
1a248036aa
Merge pull request #225 from dmitmel/master
[pull] master from dmitmel:master
2021-03-21 12:34:14 +00:00
pull[bot]
f4a842d59e
Merge pull request #224 from dmitmel/master
[pull] master from dmitmel:master
2021-03-20 21:48:49 +00:00
pull[bot]
3b97435825
Merge pull request #223 from dmitmel/master
[pull] master from dmitmel:master
2021-03-20 06:03:32 +00:00
pull[bot]
626811a49f
Merge pull request #222 from dmitmel/master
[pull] master from dmitmel:master
2021-03-19 02:42:33 +00:00
5ab08f0f0b
Merge branch 'dmitmel-master' 2021-03-18 19:20:39 +01:00
ce9c2d33ae
Merged dmitmel:master into master. 2021-03-18 19:20:25 +01:00
Dmytro Meleshko
6577755555
[nvim] switch from coc-python to coc-pyright 2021-03-14 12:19:19 +01:00
dependabot[bot]
81d185be53
Bump prismjs from 1.21.0 to 1.23.0 in /script-resources/markdown2htmldoc
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.21.0 to 1.23.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.21.0...v1.23.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-14 12:19:19 +01:00
pull[bot]
b31bea45ea
Merge pull request #218 from dmitmel/master
[pull] master from dmitmel:master
2021-02-27 14:13:28 +00:00
pull[bot]
86b542b4d0
Merge pull request #217 from dmitmel/master
[pull] master from dmitmel:master
2021-02-22 11:00:14 +00:00
pull[bot]
fc3afdf441
Merge pull request #216 from dmitmel/master
[pull] master from dmitmel:master
2021-02-20 13:47:09 +00:00
f9051aff76
Why was this on rebase again? 2021-02-19 21:47:22 +01:00
5517419413
Merge pull request #215 from dmitmel/master 2021-02-19 21:33:01 +01:00
Dmytro Meleshko
9555e5f706 [x11] add my xprofile 2021-02-12 15:13:05 +00:00
Dmytro Meleshko
6fc06191a5 [scripts/discord-stream-desktop-audio] allow specifying the audio device 2021-02-12 09:08:57 +00:00
Dmytro Meleshko
b0eef79602 [nvim] disable ESLint integration for Prettier, sync configs 2021-02-12 09:08:57 +00:00
Dmytro Meleshko
2a0ffb0cf5 [crosscode] add a mod for binding mouse buttons to actions 2021-02-12 09:08:57 +00:00
Dmytro Meleshko
6bd741c236 [nvim] disable matchpairs in all other JS-like filetypes 2021-02-09 12:29:26 +00:00
Dmytro Meleshko
851a494eb0 [nvim] properly display wavy underlines under spelling mistakes now that I have enabled all termcap features of kitty 2021-02-08 21:44:50 +00:00
Dmytro Meleshko
b15a03c3f9 [kitty] stop changing TERM to something non-default 2021-02-08 18:24:47 +00:00
Dmytro Meleshko
33ed3720c8 [ranger] add ranger config 2021-02-08 18:24:47 +00:00
Dmytro Meleshko
a59a693e98 [zsh] use Python 3 by default on macOS 2021-02-07 21:04:30 +00:00
Dmytro Meleshko
da7c44af35 [nvim] fix FixWhitespaceOnSave flooding the search history 2021-02-05 11:36:25 +00:00
Dmytro Meleshko
618995cc7f [nvim] add functions to workaround some interesting behaviors of vim 2021-02-05 11:36:25 +00:00
Dmytro Meleshko
a27c05856a [zsh] add a timestamp printing function 2021-02-05 11:36:25 +00:00
pull[bot]
0ec9d1ded1
Merge pull request #149 from dmitmel/master
[pull] master from dmitmel:master
2021-02-04 21:43:39 +00:00
Dmytro Meleshko
f288247671 [kitty] remove the sample config and keep only the changed bits 2021-02-04 18:30:58 +00:00
Dmytro Meleshko
bcf58ced93 [kitty] enable the only two layouts I actually use 2021-02-04 18:30:58 +00:00
Dmytro Meleshko
18700a8198 [scripts/welcome] add logo for Manjaro ARM 2021-02-04 14:54:46 +00:00
Dmytro Meleshko
60f8ca3788 [zsh] display the current pyenv version in the prompt 2021-02-02 22:52:58 +00:00
Dmytro Meleshko
ed93c816f9 [nvim] bring back a fix removed in 14e64127e4 2021-02-02 22:52:58 +00:00
Dmytro Meleshko
57f0e01b51 [nvim] disable rust-analyzer's diagnostics and autoimports 2021-02-01 11:18:52 +00:00
482828639e
Merge branch 'master' keanuplayz/dotfiles 2021-01-30 14:17:16 +01:00
a659106248
[scripts/copy-env-var] Script to copy envvars. 2021-01-30 14:17:07 +01:00
Dmytro Meleshko
b45d969f0c [git] add temporary files to the gitignore 2021-01-29 13:19:12 +00:00
Dmytro Meleshko
1e50762fcb [nvim+zsh] fix the need for resetting FZF_DEFAULT_OPTS on Ubuntu and derivatives 2021-01-29 01:19:21 +00:00
7f3dfb96be
[nvim] Added plugin coc-explorer. 2021-01-28 16:24:43 +01:00
Dmytro Meleshko
e277f19ed3 [zsh] fix the manpath-caused errors on shell startup once and for all 2021-01-25 19:28:31 +00:00
Dmytro Meleshko
4b6cf8c56a [nvim] fix the commentstring in po files 2021-01-25 12:40:11 +00:00
Dmytro Meleshko
06ff96bf30 [nvim] add a plugin for RON 2021-01-21 11:06:06 +00:00
Dmytro Meleshko
4cc4389455 [nvim] make the airline theme match my syntax theme even more 2021-01-21 01:20:43 +00:00
Dmytro Meleshko
819e5e5a33 update the copyright years 2021-01-20 10:04:09 +00:00
Dmytro Meleshko
3d7078d8a1 [scripts/copy-crosscode-emoji-url] change the order of URL params 2021-01-18 10:02:12 +00:00
15d01d0d4f
Merge pull request #18 from dmitmel/master
copy script update that was already done
2021-01-17 14:29:21 +01:00
pull[bot]
6998226ea1
updated 2021-01-17 14:28:31 +01:00
4d6ff353f9
Updated merge strategy. 2021-01-17 14:27:03 +01:00
159a142967
Removed fasd stuff. 2021-01-17 12:07:31 +01:00
62611bb01e
[nvim] Added WakaTime plugin. 2021-01-17 12:07:14 +01:00
9a36e9ecbb
merge dmitmel/master into master 2021-01-16 18:16:48 +01:00
5425d38058
Add pull config. 2021-01-16 18:15:58 +01:00
0ddb5c5777
[zsh] Added completions for gh cli. 2021-01-16 18:15:57 +01:00
51a3ea7777
[nvim] Added Lua to coc. 2021-01-16 18:15:57 +01:00
5e2ea81830
[scripts/copy-emote] Removed requirement of 'safe' 2021-01-16 18:15:57 +01:00
ab7320297f
[scripts/discord-stream] Now uses separate file. 2021-01-16 18:15:57 +01:00
13 changed files with 601 additions and 2 deletions

6
.github/pull.yml vendored Normal file
View file

@ -0,0 +1,6 @@
version: '1'
rules:
- base: master
upstream: dmitmel:master
mergeMethod: merge
mergeUnstable: true

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
*.pyc
node_modules/
.venv
*.md.html

8
install.sh Executable file
View file

@ -0,0 +1,8 @@
sudo hostname KeanuCodespaces
rm -rf ~/.oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
git clone https://github.com/keanuplayz/dotfiles ~/.dotfiles
echo "source ~/.dotfiles/zsh/zshrc" >> ~/.zshrc
pip install colorama psutil distro
echo "zsh" >> ~/.bashrc
source ~/.bashrc

View file

@ -0,0 +1,3 @@
let g:coc_global_extensions += ['coc-lua']
let s:filetypes = ['lua']
let g:coc_filetypes += s:filetypes

View file

@ -2,7 +2,9 @@
Plug 'tpope/vim-eunuch'
if g:vim_ide
Plug 'francoiscabrol/ranger.vim'
Plug 'rbgrouleff/bclose.vim'
endif
Plug 'weirongxu/coc-explorer'
" }}}
" Editing {{{
@ -67,3 +69,7 @@
endif
endif
" }}}
" Misc {{{
Plug 'wakatime/vim-wakatime'
" }}}

11
scripts/copy-env-var Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail
if variable="$(set -euo pipefail; {
awk 'BEGIN{for(v in ENVIRON) print v}'
} | rofi -dmenu)" && [[ -n $variable ]]; then
variable="${variable%% *}"
echo ${!variable} | xclip -sel clip
fi

View file

@ -9,7 +9,7 @@ guild_id = int(sys.argv[1])
voice_channel_id = int(sys.argv[2])
pulseaudio_device = sys.argv[3]
with open(os.path.expanduser("~/.config/dotfiles/discord-tools-bot-token.txt")) as f:
with open(os.path.expanduser("~/.config/dotfiles/discord-tools-user-token.txt")) as f:
bot_token = f.read().strip()
bot = discord.Client()
@ -33,4 +33,4 @@ async def on_ready():
voice_client.play(source, after=lambda e: print("Player error: %s" % e) if e else None)
bot.run(bot_token)
bot.run(bot_token, bot=False)

1
zsh/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/custom/

159
zsh/completions/_gh Normal file
View file

@ -0,0 +1,159 @@
#compdef _gh gh
# zsh completion for gh -*- shell-script -*-
__gh_debug()
{
local file="$BASH_COMP_DEBUG_FILE"
if [[ -n ${file} ]]; then
echo "$*" >> "${file}"
fi
}
_gh()
{
local shellCompDirectiveError=1
local shellCompDirectiveNoSpace=2
local shellCompDirectiveNoFileComp=4
local shellCompDirectiveFilterFileExt=8
local shellCompDirectiveFilterDirs=16
local lastParam lastChar flagPrefix requestComp out directive compCount comp lastComp
local -a completions
__gh_debug "\n========= starting completion logic =========="
__gh_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
# The user could have moved the cursor backwards on the command-line.
# We need to trigger completion from the $CURRENT location, so we need
# to truncate the command-line ($words) up to the $CURRENT location.
# (We cannot use $CURSOR as its value does not work when a command is an alias.)
words=("${=words[1,CURRENT]}")
__gh_debug "Truncated words[*]: ${words[*]},"
lastParam=${words[-1]}
lastChar=${lastParam[-1]}
__gh_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
# For zsh, when completing a flag with an = (e.g., gh -n=<TAB>)
# completions must be prefixed with the flag
setopt local_options BASH_REMATCH
if [[ "${lastParam}" =~ '-.*=' ]]; then
# We are dealing with a flag with an =
flagPrefix="-P ${BASH_REMATCH}"
fi
# Prepare the command to obtain completions
requestComp="${words[1]} __complete ${words[2,-1]}"
if [ "${lastChar}" = "" ]; then
# If the last parameter is complete (there is a space following it)
# We add an extra empty parameter so we can indicate this to the go completion code.
__gh_debug "Adding extra empty parameter"
requestComp="${requestComp} \"\""
fi
__gh_debug "About to call: eval ${requestComp}"
# Use eval to handle any environment variables and such
out=$(eval ${requestComp} 2>/dev/null)
__gh_debug "completion output: ${out}"
# Extract the directive integer following a : from the last line
local lastLine
while IFS='\n' read -r line; do
lastLine=${line}
done < <(printf "%s\n" "${out[@]}")
__gh_debug "last line: ${lastLine}"
if [ "${lastLine[1]}" = : ]; then
directive=${lastLine[2,-1]}
# Remove the directive including the : and the newline
local suffix
(( suffix=${#lastLine}+2))
out=${out[1,-$suffix]}
else
# There is no directive specified. Leave $out as is.
__gh_debug "No directive found. Setting do default"
directive=0
fi
__gh_debug "directive: ${directive}"
__gh_debug "completions: ${out}"
__gh_debug "flagPrefix: ${flagPrefix}"
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
__gh_debug "Completion received error. Ignoring completions."
return
fi
compCount=0
while IFS='\n' read -r comp; do
if [ -n "$comp" ]; then
# If requested, completions are returned with a description.
# The description is preceded by a TAB character.
# For zsh's _describe, we need to use a : instead of a TAB.
# We first need to escape any : as part of the completion itself.
comp=${comp//:/\\:}
local tab=$(printf '\t')
comp=${comp//$tab/:}
((compCount++))
__gh_debug "Adding completion: ${comp}"
completions+=${comp}
lastComp=$comp
fi
done < <(printf "%s\n" "${out[@]}")
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
# File extension filtering
local filteringCmd
filteringCmd='_files'
for filter in ${completions[@]}; do
if [ ${filter[1]} != '*' ]; then
# zsh requires a glob pattern to do file filtering
filter="\*.$filter"
fi
filteringCmd+=" -g $filter"
done
filteringCmd+=" ${flagPrefix}"
__gh_debug "File filtering command: $filteringCmd"
_arguments '*:filename:'"$filteringCmd"
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
# File completion for directories only
local subDir
subdir="${completions[1]}"
if [ -n "$subdir" ]; then
__gh_debug "Listing directories in $subdir"
pushd "${subdir}" >/dev/null 2>&1
else
__gh_debug "Listing directories in ."
fi
_arguments '*:dirname:_files -/'" ${flagPrefix}"
if [ -n "$subdir" ]; then
popd >/dev/null 2>&1
fi
elif [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ] && [ ${compCount} -eq 1 ]; then
__gh_debug "Activating nospace."
# We can use compadd here as there is no description when
# there is only one completion.
compadd -S '' "${lastComp}"
elif [ ${compCount} -eq 0 ]; then
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
__gh_debug "deactivating file completion"
else
# Perform file completion
__gh_debug "activating file completion"
_arguments '*:filename:_files'" ${flagPrefix}"
fi
else
_describe "completions" completions $(echo $flagPrefix)
fi
}
# don't run the completion function when being source-ed or eval-ed
if [ "$funcstack[1]" = "_gh" ]; then
_gh
fi

359
zsh/completions/_keybase Normal file
View file

@ -0,0 +1,359 @@
#compdef keybase
#autoload
# keybase completion, based on cli help text
# https://github.com/fnoris/keybase-zsh-completion
# The MIT License (MIT)
#
# Copyright (c) 2014 David Tiersch
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
local curcontext="$curcontext" state line ret=1
local -a _command_args
local -a _global_args
local -a _subcommands
local IFS=$'\n'
_global_args=($(keybase advanced | grep '^\s*--' | sed -r 's/^[\t ]*(--[^\t ,]+)( [^\t ,]*)?,? ?(--?[^\t ]+)?[\t ]*(.*)$/(\3)\1[\4]/'))
_arguments -C -A "-v" -A "--version"\
'(- 1 *)'{-v,--version}'[display version information]' \
'1: :->cmds' \
$_global_args \
'*:: :->args' && ret=0
case $state in
cmds)
_subcommands=(
"base62:base62 operations"
"cert:print the CA cert for api.keybase.io"
"chat:chat securely with keybase users"
"ctl:control the background keybase service"
"currency:manage cyrptocurrency address"
"decrypt:decrypt messages or files for keybase users"
"deprovision:revoke the current device, log out, and delete local state"
"device:manage your devices"
"dump-keyfamily:print out a user's current key family"
"encrypt:encrypt messages or files for keybase users"
"follow:verify a user's authenticity and optionally follow them"
"track:verify a user's authenticity and optionally follow them"
"fs:perform filesystem operations"
"id:identify a user and check their signature chain"
"list-followers:list thost who follow you"
"list-following:list who you or the given user is following"
"log:manage keybase log"
"login:establish a session with the keybase server"
"logout:logout and remove session information"
"paperkey:generate paper keys for recovering your account"
"passphrase:change or recover your keybase passphrase"
"pgp:manage keybase PGP keys"
"ping:ping the keybase API server"
"prove:generate a new proof"
"rekey:rekey status and actions"
"search:search for keybase users"
"sign:sign a document"
"signup:signup for a new account"
"sigs:manage signatures"
"status:show information about current user"
"unfollow:unfollow a user"
"untrack:unfollow a user"
"update:the updater"
"verify:verify message or file signatures for keybase users"
"version:print out version and build information"
"help, h:shows a list fo commands or help for one command"
)
_describe -t subcommands 'Keybase subcommands' _subcommands && ret=0
;;
args)
case $line[1] in
help)
_values 'commands' \
'base62' \
'cert' \
'chat' \
'ctl' \
'currency' \
'decrypt' \
'deprovision' \
'device' \
'dump-keyfamily' \
'encrypt' \
'follow' \
'track' \
'fs' \
'id' \
'list-followers' \
'list-following' \
'log' \
'login' \
'logout' \
'paperkey' \
'pasphrase' \
'pgp' \
'ping' \
'prove' \
'rekey' \
'search' \
'sign' \
'signup' \
'sigs' \
'status' \
'unfollow' \
'untrack' \
'update' \
'verify' \
'version' \
'help, h' && ret=0
;;
base62)
_values "command" \
'decode[base62 decode]' \
'encode[base62 encode]' \
'help[Shows a list of commands or help for one command]'
;;
chat)
_values "command" \
'api[JSON api]' \
'download[Download an attachment from a conversation]' \
'hide[Hide or block a conversation]' \
'list[List conversations, sorted by activity]' \
'ls[List conversations, sorted by activity]' \
"list-unread[List conversations, with unread messages at the top]" \
"lsur[List conversations, with unread messages at the top]" \
'mute[Mute or unmute a conversation]' \
'read[Show new messages in a conversation and mark them as read]' \
'report[Report a conversation (also blocks it)]' \
'send[Send a message to a conversation]' \
'upload[Upload an attachment to a conversation]' \
'help[Shows a list of commands or help for one command]'
;;
ctl)
_values "command" \
'start[Start the backgroung keybase service]' \
'stop[Stop the backgroung keybase service]' \
'reload[Reload config file]' \
'restart[Restart the background keybase service]' \
"log-rotate[Close and open the keybase service's log file]" \
'watchdog[Start, watch and prop up the backgound service]' \
'watchdog2[Start and monitor background services]' \
'app-exit[Exit the Keybase app]' \
'help[Shows a list of commands or help for one command]'
;;
currency)
_values "command" \
'add[Sign a cryptocurrency (bitcoin or zcash) address into your identity]' \
'help[Shows a list of commands or help for one command]'
;;
decrypt)
_command_args=(
'(--infile)--infile[Specify an input file]' \
'(--message)--message[Provide the message on the command line]' \
'(--outfile)--outfile[Specify an outfile (stdout by default)]' \
'(--interactive)--interactive[Interactive prompt for decryption after sender verification]' \
'(--force)--force[Force unprompted decryption, even on an indentify failure]' \
'(--paperkey)--paperkey[Use a paper key for decryption]' \
'(--encryptor-outfile)--encryptor-outfile[Write the Keybase name of the encryptor to this file]'
)
;;
device)
_values "command" \
'remove[Remove a device]' \
'list[List devices]' \
'add[Authorize a new device]' \
'help[Shows a list of commands or help for one command]'
;;
encrypt)
_command_args=(
'(--binary)--binary[Output in binary (rather than ASCII/armored)]' \
'(--infile)--infile[Specify an input file]' \
'(message)--message[Provide the message on the command line]' \
'(--outfile)--outfile[Specify an outfile (stdout by default)]' \
"(--hide-recipients)--hide-recipients[Don't include recipients in metadata]" \
"(--anonymous)--anonymous[Don't include sender or recipients in metadata. Implies --hide-recipients]" \
"(--no-self)--no-self[Don't encrypt for yourself]"
)
;;
follow)
_command_args=(
"(--local)--local[Only follow locally, don't send a public statement to the server]" \
'(-y)-y[Approve remote following without prompting]' \
'(--skip-proof-cache)--skip-proof-cache[Skip cached proofs, force re-check]'
)
;;
track)
_command_args=(
"(--local)--local[Only follow locally, don't send a public statement to the server]" \
'(-y)-y[Approve remote following without prompting]' \
'(--skip-proof-cache)--skip-proof-cache[Skip cached proofs, force re-check]'
)
;;
fs)
_values "command" \
'ls[list directory contents]' \
'cp[copy one or more directory elements to dest]' \
'mv[move one or more directory elements to dest]' \
'read[output file contents to standard output]' \
'rm[remove one or more directory elements]' \
'mkdir[create directory]' \
'stat[stat directory element]' \
'get-status[get status of pending operation]' \
'kill[kill operation]' \
'ps[list running operations]' \
'write[write input to file]' \
'help[Shows a list of commands or help for one command]'
;;
id)
_command_args=(
'(--skip-proof-cache)--skip-proof-cache[Skip cached proofs, force re-check]'
)
;;
list-followers)
_command_args=(
'(--verbose)--verbose[A full dump, with more gory details]'
)
;;
list-following)
_command_args=(
'(--filter)--filter[Provide a regex filter]' \
'(--headers)--headers[Show column headers]' \
'(--json)--json[Output as JSON (default is text)]' \
'(--verbose)--verbose[A full dump, with more gory details]'
)
;;
log)
_values "command" \
'send[Send recent debug logs to keybase]' \
'help[Shows a list of commands or help for one command]'
;;
login)
_command_args=(
'(--provision-by-email)--provision-by-email[Use an email address associated with a keybase account to provision a device]'
)
;;
passphrase)
_values "command" \
'change[Change your keybase account passphrase]' \
'recover[Recover your keybase account passphrase]' \
'help[Shows a list of commands or help for one command]'
;;
pgp)
_values "command" \
'gen[Generate a new PGP key and write to local secret keychain]' \
'pull[Download the latest PGP keys for people you track]' \
'update[Update your public PGP keys on keybase with those exported from the local GPG keyring]' \
'select[Select a key as your own and register the public half with the server]' \
'sign[PGP sign a document]' \
'encrypt[PGP encrypt messages or files for keybase users]' \
'decrypt[PGP decrypt messages or files for keybase users]' \
'verify[PGP verify message or file signatures for keybase users]' \
'export[Export a PGP key from keybase]' \
'import[Import a PGP key into keybase]' \
'drop[Drop Keybases use of a PGP key]' \
'list[List the active PGP keys in your account]' \
'purge[Purge all PGP keys from Keybase keyring]' \
'help[Shows a list of commands or help for one command]'
;;
ping)
_command_args=(
'(--gregor)--gregor[Ping the Gregor server]'
)
;;
prove)
_command_args=(
'(--output)--output[Output proof text to file (rather than standard out)]' \
"(--force)--force[Don't prompt]" \
)
_values "prove command" \
'service[Supported services are: coinbase, hackernews, reddit, dns, github, twitter, web, http, https]' \
'service username[Username or hostname at that service]'
;;
rekey)
_values "command" \
'status[Get pending rekey status]' \
'paper[Submit a paper key to help rekeying]' \
'help[Shows a list of commands or help for one command]'
;;
search)
_command_args=(
'(--json)--json[Output as JSON]'
)
;;
sign)
_command_args=(
'(--binary)--binary[Output binary message (default is armored)]' \
'(--detached)--detached[Detached signature (default is attached)]' \
'(--infile)--infile[Specify an input file]' \
'(--message)--message[Provide the message to sign on the command line]' \
'(--outfile)--outfile[Specify an outfile (default is STDOUT)]'
)
;;
signup)
_command_args=(
'(--invite-code)--invite-code[Specify an invite code]' \
'(--email)--email[Specify an account email]' \
'(--username)--username[Specify a username]'
)
;;
sigs)
_values "command" \
'list[List signatures]' \
'revoke[Revoke a signature by sig ID]' \
'help[Shows a list of commands or help for one command]'
;;
status)
_command_args=(
'(--json)--json[Output status as JSON]' \
)
;;
update)
_values "command" \
'check[Trigger an update check]' \
'run[Run the update with custom options]' \
'check-in-use[Check if we are in use (safe for restart)]' \
'notify[Notify the service about an update event]'
;;
verify)
_command_args=(
'(--detached)--detached[Specify a detached signature file]' \
'(--infile)--infile[Specify an input file]' \
'(--message)--message[Provide the message to verify on the command line]' \
"(--no-output)--no-output[Don't output the verified message]" \
'(--outfile)--outfile[Specify an outfile (default is STDOUT)]'
'(--signed-by)--signed-by[Assert signed by the given user (can use user assertion fomat)]' \
)
;;
version)
_command_args=(
"(--format)--format[Alternate format for version output. Specify 's' for simple (1.2.3) or 'v' for verbose. Default (blank) includes build number (1.2.3-400)]" \
"(--no-service)--no-service[Don't report on the service's build information]"
)
;;
esac
;;
esac
_arguments \
$_command_args \
&& ret=0
return ret
s

View file

@ -6,6 +6,12 @@ bytecount() { wc -c "$@" | numfmt --to=iec-i --suffix=B; }
mkcd() { mkdir -p "$@" && cd "${@[-1]}"; }
# Re-added from:
# https://github.com/dmitmel/dotfiles/blob/16f0a1cf32ec97355da2e17de1c4bb458431767b/zsh/functions.zsh#L19
source_if_exists() { [[ -f "$1" ]] && source "$1" }
silence() { $1 &>/dev/null }
viscd() {
setopt local_options err_return
local temp_file chosen_dir
@ -102,3 +108,25 @@ sudoedit() {
}
alias sudoe="sudoedit"
alias sue="sudoedit"
# gpg-crypt {{{
# Encrypt the given file or directory to a given recipient
function gpg-encrypt() {
if [ "$#" -ne 2 ]; then
echo "Usage: $0 FILE/DIRECTORY RECIPIENT" >&2
return 1
fi
tar -c `basename $1` | gpg --encrypt --recipient $2 -o `basename $1`.tar.gpg
}
# Decrypt the given tar.gpg file
function gpg-decrypt() {
if [ "$#" -ne 1 ] || [[ "$1" != *.tar.gpg ]]; then
echo "Usage: $0 FILE.tar.gpg" >&2
return 1
fi
gpg --quiet --decrypt $1 | tar -x
}
# }}}

View file

@ -116,6 +116,15 @@ unset rustup_comp_path
# }}}
# Apache2 {{{
# Crappy solution, but only run if it's on a Raspberry Pi 4 B
if grep -q BCM2711 /proc/cpuinfo; then
_plugin apache2 'voronkovich/apache2.plugin.zsh'
fi
# }}}
_plugin gitio 'denysdovhan/gitio-zsh'
# _plugin fzf 'junegunn/fzf' "$_checkout_latest_version" \
# build='./install --bin' \
# after_load='plugin-cfg-path path prepend bin' \

View file

@ -56,6 +56,14 @@ for script in functions options path env zplg plugins aliases completion zle pro
_perf_timer_stop "$script.zsh"
done
if [[ -d "$ZSH_DOTFILES/custom" ]]; then
_perf_timer_start "custom scripts"
for script in $ZSH_DOTFILES/custom/*.zsh; do
source "$script"
done
_perf_timer_stop "custom scripts"
fi
_perf_timer_stop "total"
welcome