Compare commits

...

21 Commits

Author SHA1 Message Date
Morgan
72f660c903
Merge Brewfiles 2022-03-17 01:52:01 +01:00
Morgan
14f0bae19f
Merge pull request #10 from MorganGeek/dependabot/pip/bleach-3.3.0
Bump bleach from 3.1.4 to 3.3.0
2022-02-23 12:28:02 +01:00
Morgan
68e7f8ab44
Merge pull request #23 from MorganGeek/dependabot/pip/lxml-4.6.5
Bump lxml from 4.4.1 to 4.6.5
2021-12-14 09:27:02 +01:00
dependabot[bot]
96db94cb44
Bump lxml from 4.4.1 to 4.6.5
Bumps [lxml](https://github.com/lxml/lxml) from 4.4.1 to 4.6.5.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.4.1...lxml-4.6.5)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 20:07:51 +00:00
MorganGeek
1bee3139de Add Eban Blog 2021-06-21 18:37:20 +02:00
dependabot[bot]
784782a346
Bump bleach from 3.1.4 to 3.3.0
Bumps [bleach](https://github.com/mozilla/bleach) from 3.1.4 to 3.3.0.
- [Release notes](https://github.com/mozilla/bleach/releases)
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v3.1.4...v3.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 09:52:33 +00:00
MorganGeek
923f0ba039 all local changes 2021-06-07 11:51:29 +02:00
MorganGeek
87d138f1a5 init requirements 2021-06-07 11:50:42 +02:00
MorganGeek
fc67df56b3 more RSS feeds 2021-06-07 11:50:23 +02:00
MorganGeek
a63d3ffe4b fix upgrade script for OhMyZsh 2021-06-07 11:49:58 +02:00
MorganGeek
0375057b53 add godeps 2021-06-07 11:49:30 +02:00
MorganGeek
d0e7690e43 disable fixers in vim config 2021-06-07 10:01:02 +02:00
MorganGeek
db6430d3df send mail function 2021-06-07 09:57:24 +02:00
MorganGeek
a9c4b9b782 broot config 2021-06-07 09:53:27 +02:00
MorganGeek
f58a979dea broot install script 2021-06-07 09:51:26 +02:00
MorganGeek
0316dbb803 source broot folder 2021-06-07 09:50:41 +02:00
MorganGeek
dce79dd063 alias for readme spellcheck 2021-06-07 09:49:56 +02:00
MorganGeek
c3887fe8a3 set libgen download location 2021-06-07 09:49:36 +02:00
MorganGeek
d49efa06f3 aliases for kindle 2021-06-07 09:48:14 +02:00
MorganGeek
d2845586df new utilities 2021-06-07 09:47:48 +02:00
MorganGeek
a37a229670 update personal spell checking dictionary 2020-07-29 07:23:49 +02:00
22 changed files with 631 additions and 41 deletions

View File

@ -1,6 +1,7 @@
tap "homebrew/bundle" tap "homebrew/bundle"
tap "homebrew/cask" tap "homebrew/cask"
tap "homebrew/core" tap "homebrew/core"
tap "homeport/tap"
# Tap for chezmoi # Tap for chezmoi
tap "twpayne/taps" tap "twpayne/taps"
# Tap for real path # Tap for real path
@ -22,7 +23,10 @@ tap "romkatv/powerlevel10k" # provides powerlevel10k
tap "shopify/shopify" # provides toxiproxy tap "shopify/shopify" # provides toxiproxy
tap "homebrew/cask-fonts" # provides fonts used by vim-devicons https://vimawesome.com/plugin/vim-devicons https://github.com/ryanoasis/nerd-fonts#font-installation tap "homebrew/cask-fonts" # provides fonts used by vim-devicons https://vimawesome.com/plugin/vim-devicons https://github.com/ryanoasis/nerd-fonts#font-installation
tap "wtfutil/wtfutil" # https://wtfutil.com/getting_started/installation/ tap "wtfutil/wtfutil" # https://wtfutil.com/getting_started/installation/
cask "cyberduck"
cask "docker"
cask "lens"
cask "obsidian"
cask "java" cask "java"
cask "iterm2" cask "iterm2"
cask "zoomus" cask "zoomus"
@ -58,6 +62,7 @@ cask "dropbox"
cask "rescuetime" cask "rescuetime"
cask "wireshark" cask "wireshark"
cask "font-hack-nerd-font" # provides fonts used by vim-devicons https://vimawesome.com/plugin/vim-devicons https://github.com/ryanoasis/nerd-fonts#font-installation cask "font-hack-nerd-font" # provides fonts used by vim-devicons https://vimawesome.com/plugin/vim-devicons https://github.com/ryanoasis/nerd-fonts#font-installation
cask "yacreader"
# Mac app store # Mac app store
mas 'Keynote', id: 409183694 mas 'Keynote', id: 409183694
@ -67,6 +72,7 @@ mas 'Pages', id: 409201541
mas 'GarageBand', id: 682658836 mas 'GarageBand', id: 682658836
mas 'Numbers', id: 409203825 mas 'Numbers', id: 409203825
brew "homeport/tap/havener"
brew "zsh" brew "zsh"
brew "git-ftp" brew "git-ftp"
brew "gnu-sed" brew "gnu-sed"
@ -74,11 +80,12 @@ brew "hugo"
brew "inetutils" brew "inetutils"
brew "ncftp" brew "ncftp"
brew "plantuml" brew "plantuml"
brew "python3"
brew "ripgrep" brew "ripgrep"
brew "twpayne/taps/chezmoi" brew "twpayne/taps/chezmoi"
brew "tmux" brew "tmux"
brew "node" brew "node"
brew "direnv"
brew "fish"
# Fasd (pronounced similar to "fast") is a command-line productivity booster. https://github.com/clvv/fasd # Fasd (pronounced similar to "fast") is a command-line productivity booster. https://github.com/clvv/fasd
brew "fasd" brew "fasd"
@ -108,7 +115,8 @@ brew "asciidoc"
brew "bash-snippets" brew "bash-snippets"
# Mac App Store command line interface # Mac App Store command line interface
brew "mas" brew "mas"
# Using pyenv to be able to install specific python versions https://stackoverflow.com/questions/49794432/how-to-setup-a-pipenv-python-3-6-project-if-os-python-version-is-3-5 # Using pyenv to be able to install specific python versions https://stackoverflow.com/questions/49794432/how-to-setup-a-pipenv-python-3-6-project-if-os-
-version-is-3-5
brew "pyenv" brew "pyenv"
# Google CLI https://github.com/jarun/googler # Google CLI https://github.com/jarun/googler
brew "googler" brew "googler"
@ -142,13 +150,23 @@ brew "aspell"
brew "neofetch" brew "neofetch"
# add nushell https://github.com/nushell/nushell # add nushell https://github.com/nushell/nushell
brew "nushell" brew "nushell"
brew "ncspot"
brew "python@3.10"
brew "pipx"
brew "watch"
# tools for K8S # tools for K8S
brew "kubectl" brew "kubectl"
brew "kubectx" brew "kubectx"
brew "kube-linter"
brew "kubernetes-cli"
brew "kustomize"
brew "popeye" # Kubernetes resources sanity analysis
brew "packer" brew "packer"
brew "go" brew "go"
brew "golangci-lint"
brew "gopls"
brew "weechat" # need an IRC client brew "weechat" # need an IRC client
brew "tflint" # terraform linter brew "tflint" # terraform linter
brew "ktlint" # kotlin linter brew "ktlint" # kotlin linter
@ -156,6 +174,8 @@ brew "cmake" # compiler, was needed for compiling YouCompleteMe, see https://git
brew "zola" # a simple and fast static site generator brew "zola" # a simple and fast static site generator
brew "rustup" # Install Rust brew "rustup" # Install Rust
brew "jq" # add jq utility for parsing json brew "jq" # add jq utility for parsing json
brew "jsonlint"
brew "gron"
brew "octant" # k8s cluster viewer brew "octant" # k8s cluster viewer
brew "telepresence" # telepresence https://www.telepresence.io/reference/install brew "telepresence" # telepresence https://www.telepresence.io/reference/install
brew "ansiweather" # https://github.com/fcambus/ansiweather brew "ansiweather" # https://github.com/fcambus/ansiweather
@ -171,7 +191,6 @@ brew "tac" # Needed for some terraform modules at work
brew "coreutils" brew "coreutils"
brew "gh" # GitHub CLI brew "gh" # GitHub CLI
brew "bash" # time to upgrade bash brew "bash" # time to upgrade bash
brew "popeye" # Kubernetes resources sanity analysis
brew "pre-commit" # https://pre-commit.com/#install brew "pre-commit" # https://pre-commit.com/#install
brew "terraform-docs" # https://github.com/segmentio/terraform-docs brew "terraform-docs" # https://github.com/segmentio/terraform-docs
brew "shfmt" # format shell brew "shfmt" # format shell
@ -199,6 +218,12 @@ brew "fd"
brew "git-delta" brew "git-delta"
brew "sn0int" brew "sn0int"
brew "prettier" brew "prettier"
brew "diffutils"
brew "switchaudio-osx" brew "switchaudio-osx"
brew "findutils" brew "findutils"
brew "git-extras" brew "git-extras"
brew "broot"
brew "jxplorer"
brew "android-file-transfer"
brew "aws-vault"
brew "asciinema"

View File

@ -20,6 +20,9 @@ alias lh='ls -alt | head' # see the last modified files
alias tree='ls --almost-all --tree -I .git' alias tree='ls --almost-all --tree -I .git'
alias x='extract' alias x='extract'
# Searching
alias searchbook="libgen-cli search --output $HOME/Downloads/Books"
# Projects shortcuts # Projects shortcuts
alias code='cd $HOME/Code' alias code='cd $HOME/Code'
alias blog='z morgangeek-blog' alias blog='z morgangeek-blog'
@ -43,3 +46,6 @@ alias za='vim $HOME/.zsh_aliases' # edit zsh_aliases
# Quick editing # Quick editing
alias checkthis='arrow "type Ctrl+Z When done"; \cat > /tmp/file; arrow "Ok now we check your text..."; checkenlist /tmp/file' alias checkthis='arrow "type Ctrl+Z When done"; \cat > /tmp/file; arrow "Ok now we check your text..."; checkenlist /tmp/file'
# Linting
alias checkreadme='checkenlist README*'

View File

@ -13,6 +13,11 @@ alias chown='gchown --preserve-root'
alias chmod='gchmod --preserve-root' alias chmod='gchmod --preserve-root'
alias chgrp='gchgrp --preserve-root' alias chgrp='gchgrp --preserve-root'
alias current_year='`echo date +"%Y"`' alias current_year='`echo date +"%Y"`'
alias ftk='file_to_kindle'
alias send_to_kindle='file_to_kindle'
alias stk='send_to_kindle'
alias tokindle='file_to_kindle'
alias kindle='to_kindle'
alias headers='curl -I --compress' # Find out if remote server supports gzip / mod_deflate or not # alias headers='curl -I --compress' # Find out if remote server supports gzip / mod_deflate or not #
alias https='http --default-scheme=https' # useful alias stealed from a colleague. http is provided by httpie alias https='http --default-scheme=https' # useful alias stealed from a colleague. http is provided by httpie
alias path='echo -e ${PATH//:/\\n}' # Explode and display current PATH alias path='echo -e ${PATH//:/\\n}' # Explode and display current PATH

View File

@ -1,9 +1,13 @@
personal_repl-1.1 en 0 personal_repl-1.1 en 0
behing behind
bg background bg background
branchs branches
definenation definition definenation definition
dev development dev development
env environment env environment
evals evaluates
festing Testing festing Testing
prtscn print screen prtscn print screen
stackoverflow Stack Overflow stackoverflow Stack Overflow
symblinks symbolic links symblinks symbolic links
unix Unix

View File

@ -1,15 +1,22 @@
personal_ws-1.1 en 274 personal_ws-1.1 en 322
ABAP
AIX
APIs APIs
AST AST
ASTs ASTs
ActionScript
Acyclic Acyclic
Ansible Ansible
Applitools Applitools
Axios
BDD BDD
BINDIR BINDIR
Backend Backend
Belarussian
Bitbucket Bitbucket
Bourne
Brewfile Brewfile
Builtins
CDN CDN
CIs CIs
CLI CLI
@ -23,6 +30,7 @@ CloudDocs
CodeClimate CodeClimate
Codefresh Codefresh
Coreutils Coreutils
Cygwin
DOM DOM
DSL DSL
DevOps DevOps
@ -33,6 +41,8 @@ FaaS
Fanboyism Fanboyism
Favicon Favicon
Feng Feng
Fortran
FreeBSD
GKE GKE
GPL GPL
GatsbyJS GatsbyJS
@ -44,6 +54,7 @@ HashiCorp
Hirokuni Hirokuni
HomeBrew HomeBrew
Huawei Huawei
IRIX
IoT IoT
JS JS
JWT JWT
@ -64,21 +75,27 @@ Microservices
Middleware Middleware
Minikube Minikube
Minimalistic Minimalistic
NetBSD
Netlify Netlify
OCaml OCaml
OSS OSS
OSX OSX
OWASP OWASP
OpenBSD
PRs PRs
PagerDuty PagerDuty
PluginInstall PluginInstall
Postgres Postgres
PowerShell
PrismJS PrismJS
Prolog
PyPI PyPI
README README
RGB
ROI ROI
RSS RSS
RabbitMQ RabbitMQ
Redux
Repl Repl
Repo Repo
Roadmap Roadmap
@ -87,17 +104,24 @@ SDKMan
SLA SLA
SRP SRP
Semgrep Semgrep
Serbo
Solaris
SonarQube SonarQube
Spotify Spotify
Survivorship Survivorship
TCP
TLS TLS
TODO
Terraform's Terraform's
Terrascan Terrascan
TravisCI TravisCI
UI UI
UTF
UX UX
VirtualBox
Vundle Vundle
WSL WSL
WinZip
YAGNI YAGNI
YAML YAML
ansible ansible
@ -121,12 +145,14 @@ bashtop
benchmarking benchmarking
blackbox blackbox
bundler bundler
bzip
cd cd
centos centos
chaifeng chaifeng
checkci checkci
chmod chmod
chsh chsh
cmd
codebase codebase
codebases codebases
compat compat
@ -135,14 +161,17 @@ conf
config config
configs configs
copyhooks copyhooks
csv
customizable customizable
darwin darwin
dest dest
dev dev
dir
dockerized dockerized
dotfiles dotfiles
dryrun dryrun
duplications duplications
encodings
env env
esac esac
eslint eslint
@ -158,6 +187,8 @@ gpg
gradle gradle
groupinstall groupinstall
gulpfile gulpfile
gz
gzip
hardcoded hardcoded
hcl hcl
headspace headspace
@ -165,6 +196,7 @@ homebrew
hostname hostname
hostnames hostnames
htop htop
iTerm
idempotency idempotency
impactful impactful
init init
@ -227,13 +259,16 @@ regexes
repo repo
repos repos
ripgrep ripgrep
robbyrussell
rustc rustc
rustfmt rustfmt
rustup rustup
rvm rvm
sSL sSL
sSfL sSfL
scrollbar
sdk sdk
sed
selfupdate selfupdate
semver semver
serverless serverless
@ -242,42 +277,47 @@ snf
src src
stderr stderr
stdout stdout
stylesheet
subcommands subcommands
subdirectories subdirectories
subdirectory
submodule
submodules
subshell
sudo sudo
surfraw surfraw
svn
templateDir templateDir
templatedir templatedir
templating templating
terraform terraform
terrascan terrascan
textarea textarea
toml
txt txt
uname uname
uncomment
uncommenting
unhandled unhandled
unsave unsave
untrapped untrapped
url url
usr usr
utils utils
vcs
vimrc vimrc
vlc
walkthroughs walkthroughs
webpage webpage
wget
whitepaper whitepaper
whitespace whitespace
whoami whoami
wikit wikit
wtf wtf
yacc
yaml yaml
yamllint yamllint
yml yml
zsh zsh
zshrc zshrc
POWERLEVEL9K
dir
robbyrussell
Powerlevel10k
#ithub
#ithub/!
#ithub
github/!

View File

@ -1,2 +1,4 @@
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
source /Users/morganwattiez/.config/broot/launcher/bash/br

View File

@ -45,6 +45,8 @@ autoload -U compinit && compinit
"$HOME/.scripts/install_weavescope.sh" "$HOME/.scripts/install_weavescope.sh"
"$HOME/.scripts/install_bashtop.sh" "$HOME/.scripts/install_bashtop.sh"
"$HOME/.scripts/install_awsls.sh" "$HOME/.scripts/install_awsls.sh"
"$HOME/.scripts/install_bach.sh" # Bash testing framework
"$HOME/.scripts/install_broot.sh"
"$HOME/.scripts/configure_git_hooks.sh" "$HOME/.scripts/configure_git_hooks.sh"
"$HOME/.scripts/upgrade.sh" "$HOME/.scripts/upgrade.sh"
"$HOME/.scripts/reload.sh" "$HOME/.scripts/reload.sh"

View File

@ -6,3 +6,5 @@ go get -u -v github.com/juliensalinas/torrengo
go get -u -v github.com/asciimoo/wuzz # Interactive CLI tool for HTTP inspection go get -u -v github.com/asciimoo/wuzz # Interactive CLI tool for HTTP inspection
go get -u -v github.com/keilerkonzept/terraform-module-versions # detect new terraform modules versions go get -u -v github.com/keilerkonzept/terraform-module-versions # detect new terraform modules versions
go get -u -v github.com/talos-systems/conform go get -u -v github.com/talos-systems/conform
go get -u -v github.com/ciehanski/libgen-cli
go get -u -v github.com/ajbosco/reads/cmd/reads

5
dot_scripts/install_bach.sh Executable file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
echo "Installing Bach (Bash Testing Framework)"
sudo curl -L https://raw.githubusercontent.com/bach-sh/bach/master/bach.sh -o /usr/local/bin/bach
chmod +x "$_"

4
dot_scripts/install_broot.sh Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
echo "Installing Broot"
ln -snf "$HOME/Code/dotfiles/private_dot_config/broot/conf.toml" "$HOME/.config/broot/conf.toml"
broot --install

24
dot_scripts/mail.tpl Normal file
View File

@ -0,0 +1,24 @@
From: "#FROM_NAME" <#FROM_MAIL>
To: "#TO_NAME" <#TO_MAIL>
Subject: Convert
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="MULTIPART-MIXED-BOUNDARY"
--MULTIPART-MIXED-BOUNDARY
Content-Type: multipart/alternative; boundary="MULTIPART-ALTERNATE-BOUNDARY"
--MULTIPART-ALTERNATE-BOUNDARY
Content-Type: text/plain; charset="UTF-8"
Hello #TO_NAME
--MULTIPART-ALTERNATE-BOUNDARY
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hello #TO_NAME</div>
--MULTIPART-ALTERNATE-BOUNDARY--
--MULTIPART-MIXED-BOUNDARY
Content-Type: application/octet-stream; name="#ATTACHMENT_NAME"
Content-Disposition: attachment; filename="#ATTACHMENT_NAME"
Content-Transfer-Encoding: base64

View File

@ -8,7 +8,8 @@ sudo python3 get-pip.py
case "$(uname -s)" in case "$(uname -s)" in
Darwin) Darwin)
echo "(Mac OS X) Updating PATH for loading pip user installed packages" echo "(Mac OS X) Updating PATH for loading pip user installed packages"
ln -snf /usr/local/opt/python/bin//pip3.8 /usr/local/bin/pip3 ln -snf /usr/local/lib/python3.9/site-packages/pip /usr/local/bin/pip21
ln -snf /usr/local/lib/python3.9/site-packages/pip /usr/local/bin/pip3
export PATH="$PATH:/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/bin/:/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/opt/python/bin/" export PATH="$PATH:/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/bin/:/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/opt/python/bin/"
;; ;;
esac esac

View File

@ -3,3 +3,9 @@
echo "Installing Rust compiler and package manager" echo "Installing Rust compiler and package manager"
rustup-init -y rustup-init -y
rustup component add rustfmt rustup component add rustfmt
git clone git@github.com:njaremko/podcast.git "$HOME/Code/podcast"
cd "$HOME/Code/podcast" || exit
cargo install --path=.
mkdir "$ZSH_CUSTOM/plugins/podcast" && podcast completion zsh >"$ZSH_CUSTOM/plugins/podcast/_podcast"
cd "$HOME" || exit

33
dot_scripts/sendmail.sh Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
source "$HOME/.scripts/secrets.sh"
function file_to_mail() {
local source_file="$1"
local attachment_name=$(basename "$1")
local target_file="$source_file-encoded"
base64 "$source_file" >"$target_file"
local target_file_content
target_file_content=$(\cat "$target_file")
local mail_template="$HOME/Code/dotfiles/dot_scripts/mail.tpl"
local mail_from="$PRINCIPAL_ACCOUNT_EMAIL"
local mail_to=${2:-"$mail_from"}
local name_from="$PRINCIPAL_ACCOUNT_FULLNAME"
local name_to="$name_from"
\cat "$mail_template" |
sed "s/#FROM_NAME/$name_from/g" |
sed "s/#FROM_MAIL/$mail_from/g" |
sed "s/#TO_NAME/$name_to/g" |
sed "s/#TO_MAIL/$mail_to/g" |
sed "s/#ATTACHMENT_NAME/$attachment_name/g" >/tmp/mailwithattachement.txt
# sed "s/#ATTACHMENT_CONTENT/$target_file_content/g" >/tmp/mailwithattachement.txt
# sed "s/#ATTACHMENT_CONTENT/$target_file_content/g" >/tmp/mailwithattachement.txt
echo "\n$target_file_content\n" >>/tmp/mailwithattachement.txt
echo "\n--MULTIPART-MIXED-BOUNDARY--" >>/tmp/mailwithattachement.txt
curl -v --ssl-reqd --url 'smtps://smtp.gmail.com:465' --user "$GMAIL_APP_USER:$GMAIL_APP_PASSWORD" --mail-from "$mail_from" --mail-rcpt "$mail_to" --upload-file /tmp/mailwithattachement.txt
}

View File

@ -19,7 +19,7 @@ esac
bundle update --all bundle update --all
#gem update --system #gem update --system
#gem update asciidoctor-pdf t #gem update asciidoctor-pdf t
zsh ~/.oh-my-zsh/tools/upgrade.sh zsh ~/.oh-my-zsh/tools/upgrade.sh || upgrade_oh_my_zsh
sudo pip install --upgrade pip 2>/dev/null sudo pip install --upgrade pip 2>/dev/null
sudo pip3 install --upgrade pip 2>/dev/null sudo pip3 install --upgrade pip 2>/dev/null
pip list --outdated --format=freeze G -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U pip list --outdated --format=freeze G -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U

View File

@ -113,19 +113,19 @@ let g:ale_completion_enabled = 1
let g:ale_open_list = 1 let g:ale_open_list = 1
"\ 'yaml': ['prettier'], "\ 'yaml': ['prettier'],
let g:ale_fixers = { "let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'], "\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'python': ['black'], "\ 'python': ['black'],
\ 'rust': ['rustfmt'], "\ 'rust': ['rustfmt'],
\ 'Jenkinsfile': ['checkci'], "\ 'Jenkinsfile': ['checkci'],
\ 'sh' : ['shfmt'], "\ 'sh' : ['shfmt'],
\ 'zsh' : ['shfmt'], "\ 'zsh' : ['shfmt'],
\} "\}
let g:ale_linters = {'zsh': ['shellcheck'], 'text': ['writegood', 'proselint', 'alex']} let g:ale_linters = {'zsh': ['shellcheck'], 'text': ['writegood', 'proselint', 'alex']}
" when running at every change you may want to disable quickfix " when running at every change you may want to disable quickfix
let g:prettier#quickfix_enabled = 1 let g:prettier#quickfix_enabled = 0
let g:prettier#quickfix_auto_focus = 1 let g:prettier#quickfix_auto_focus = 1
let g:prettier#config#print_width = '30' let g:prettier#config#print_width = '30'
let g:prettier#exec_cmd_path = "/usr/local/bin/prettier" let g:prettier#exec_cmd_path = "/usr/local/bin/prettier"

View File

@ -43,6 +43,9 @@ function substring() {
function browse() { function browse() {
open -na "$DEFAULT_BROWSER" --args "$1" open -na "$DEFAULT_BROWSER" --args "$1"
} }
function incognito() {
open -na "$DEFAULT_BROWSER" --args --incognito "$1"
}
function google() { function google() {
browse "https://www.google.com/search?q=$*" browse "https://www.google.com/search?q=$*"
} }
@ -139,9 +142,7 @@ function whichfunc() {
whence -v $1 whence -v $1
type -a $1 type -a $1
} }
source "$HOME/Code/dotfiles/dot_scripts/suggest_readable_parameters.sh"
source $HOME/Code/dotfiles/dot_scripts/suggest_readable_parameters.sh
# TODO : suggest spelling fixes # TODO : suggest spelling fixes
function suggest_code_refactoring() { function suggest_code_refactoring() {
#inspired by : \grep 'awk '\''{$1=$1};1'\' $HOME/Code/dotfiles/dot_zsh* #inspired by : \grep 'awk '\''{$1=$1};1'\' $HOME/Code/dotfiles/dot_zsh*
@ -166,7 +167,7 @@ function suggest_aliases() {
local search_input_size=${1:-'50'} local search_input_size=${1:-'50'}
header "alias recommendations" header "alias recommendations"
while read -r line; do while read -r line; do
local matching_aliases=$(ag "$line") local matching_aliases=$(ag --multiline "$line")
if [ ! -z "$matching_aliases" ]; then if [ ! -z "$matching_aliases" ]; then
success "there is an alias for $line :" success "there is an alias for $line :"
while read -r alias_line; do while read -r alias_line; do
@ -179,13 +180,52 @@ function suggest_aliases() {
done < <(top_commands_full "" "$search_input_size" | awk '{ $1=""; $2=""; $3=""; print}' | awk 'NF' | awk '{$1=$1};1' | awk -v COUNT=1 'NF>COUNT' H "-$search_input_size") done < <(top_commands_full "" "$search_input_size" | awk '{ $1=""; $2=""; $3=""; print}' | awk 'NF' | awk '{$1=$1};1' | awk -v COUNT=1 'NF>COUNT' H "-$search_input_size")
} }
# Download management
function file_to_kindle() {
local source_file="$1"
if [[ "$source_file" =~ .*.epub$ ]]; then
if epub2mobi "$source_file" 2>/dev/null; then
source_file=$(echo $source_file | sed 's/.epub$/.mobi/')
fi
fi
file_to_mail "$source_file" "$KINDLE_ACCOUNT_EMAIL"
}
function getabook() {
local searchterm="$1"
if searchbook "$searchterm"; then
echo "new downloaded file"
grepsearchterm=$(echo "$searchterm" | sed 's/ /.*/g')
if find ~/Downloads/Books -mmin -2 | grip "$grepsearchterm.*(epub|mobi|pdf)$"; then
local matching_file=$(find ~/Downloads/Books -mmin -2 | grip "$grepsearchterm.*(epub|mobi|pdf)$" | head -1)
local downloaded_file=$(basename "$matching_file")
cd "$HOME/Downloads/Books" &>/dev/null || exit
success "file downloaded in your Books folder : $downloaded_file"
if file_to_kindle "$downloaded_file" 2>/dev/null; then
success "file sent to your kindle, please review your emails to approve the transfer"
mailperso
else
error "could not send your file $downloaded_file to your email address, please check your folder"
open ~/Downloads/Books
fi
else
error "could not find a matching file in your download folder"
fi
else
error ":'( the automatic download failed for $1, does this book exists ? check yourself or retry"
browse "https://libgen.lc/search.php?req=$1"
fi
}
# Mail management
source $HOME/Code/dotfiles/dot_scripts/sendmail.sh
# Sound management # Sound management
# Inspired by https://apple.stackexchange.com/a/213048/231885 for switching devices # Inspired by https://apple.stackexchange.com/a/213048/231885 for switching devices
# and https://coderwall.com/p/22p0ja/set-get-osx-volume-mute-from-the-command-line for volume management # and https://coderwall.com/p/22p0ja/set-get-osx-volume-mute-from-the-command-line for volume management
function mute_device() { function mute_device() {
local current_device=$(SwitchAudioSource -c) local current_device=$(SwitchAudioSource -c)
local target_device="$1" local target_device="$1"
if SwitchAudioSource -a | grep "$target_device" 1>/dev/null; then if SwitchAudioSource -a G "$target_device" 1>/dev/null; then
SwitchAudioSource -s "$1" 1>/dev/null SwitchAudioSource -s "$1" 1>/dev/null
osascript -e 'set volume output muted true' osascript -e 'set volume output muted true'
success "device $target_device muted" success "device $target_device muted"
@ -193,14 +233,14 @@ function mute_device() {
if [ "$current_device" != "$target_device" ]; then if [ "$current_device" != "$target_device" ]; then
arrow "switching back to $current_device" arrow "switching back to $current_device"
fi fi
arrow "currently using $target_device" arrow "currently using $current_device"
else else
error "sound device not found : $target_device (maybe it's disconnected ?)" error "sound device not found : $target_device (maybe it's disconnected ?)"
fi fi
} }
function switch_device() { function switch_device() {
local target_device="$1" local target_device="$1"
if SwitchAudioSource -a | grep "$target_device" 1>/dev/null; then if SwitchAudioSource -a G "$target_device" 1>/dev/null; then
if SwitchAudioSource -s "$1" 1>/dev/null; then if SwitchAudioSource -s "$1" 1>/dev/null; then
success "switched to $target_device" success "switched to $target_device"
unmute unmute
@ -325,12 +365,22 @@ function checkenlist() {
} }
function checkenremote() { function checkenremote() {
local target_url=$(echo "$1" | sed 's/github.com/raw.githubusercontent.com/g' | sed 's;blob/;;') local target_url="$1"
if [[ "$target_url" =~ "githubusercontent.com" && ! "$target_url" =~ "README" ]]; then if [[ ! "$target_url" =~ "githubusercontent.com" && ! "$target_url" =~ "README" && ! "$target_url" =~ "readme" ]]; then
target_url=$(echo "$target_url/master/README.md") arrow "no readme found"
local guess_readme_url=$(http "$target_url" | \grep -ioP 'href="\K.*REAdme.(md|rst)(?=")' | head -1)
arrow "does https://github.com${guess_readme_url} exist "
arrow "guess url : $guess_readme_url"
if http --check-status "https://github.com${guess_readme_url}" &>/dev/null; then
target_url="https://github.com${guess_readme_url}"
arrow "target url changed to ${target_url}"
else
arrow "https://github.com${guess_readme_url} do not exist"
fi
fi fi
target_url=$(echo "$target_url" | sed 's/github.com/raw.githubusercontent.com/g' | sed 's;blob/;;')
arrow "checking $target_url" arrow "checking $target_url"
curl --location --insecure --silent "$target_url" > /tmp/file && checkenlist /tmp/file && write-good --no-passive /tmp/file && proselint /tmp/file && \cat /tmp/file > alex -q --stdin curl --location --insecure --silent "$target_url" > /tmp/file && checkenlist /tmp/file #&& write-good --no-passive /tmp/file && proselint /tmp/file && \cat /tmp/file > alex -q --stdin
} }
# Time management # Time management
@ -571,7 +621,8 @@ function fork() {
else else
gitperso gitperso
fi fi
checkenlist README* checkreadme
# TODO : check all the codebase for spelling mistakes in info/debug/error messages etc.
} }
function git-project() { function git-project() {
if [ -d "$REPO_PATH" ]; then if [ -d "$REPO_PATH" ]; then
@ -710,3 +761,13 @@ function runiflucky() {
fi fi
fi fi
} }
function aws-login() {
profile_list=$(aws-vault list --profiles | fzf --ansi)
login_url=$(export AWS_SESSION_TOKEN_TTL=3h && aws-vault login $profile_list -s)
echo "$login_url $1"
browse "$login_url $1" 1>/dev/null 2>&1 &
}
function aws-exec() {
profile_list=$(aws-vault list --profiles | fzf --ansi)
aws-vault exec $profile_list
}

View File

@ -16,6 +16,7 @@ fi
# load a random theme each time oh-my-zsh is loaded, in which case, # load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME # to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
#
ZSH_THEME="powerlevel10k/powerlevel10k" ZSH_THEME="powerlevel10k/powerlevel10k"
ZSH_COLORIZE_STYLE="monokai" ZSH_COLORIZE_STYLE="monokai"
@ -96,7 +97,7 @@ POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND='clear'
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # Add wisely, as too many plugins slow down shell startup.
plugins=(reminder common-aliases extract git sdk zsh-syntax-highlighting zsh-autosuggestions ansible brew colorize docker pipenv pip python terraform aws helm kubectl) plugins=(reminder common-aliases extract git sdk zsh-syntax-highlighting zsh-autosuggestions ansible brew colorize docker pipenv pip python terraform aws helm kubectl fzf alias-finder)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
# User configuration # User configuration
@ -136,6 +137,13 @@ export GIT_PERSONAL_EMAIL=""
export GIT_PERSONAL_USER="" export GIT_PERSONAL_USER=""
export GIT_PRO_EMAIL="" export GIT_PRO_EMAIL=""
export GIT_PRO_USER="" export GIT_PRO_USER=""
export GMAIL_APP_USER=""
export GMAIL_APP_PASSWORD=""
export KINDLE_ACCOUNT_EMAIL="" # e.g : john.doe@kindle.com
export PRINCIPAL_ACCOUNT_EMAIL="" # e.g : john.doe@gmail.com
export PRINCIPAL_ACCOUNT_FULLNAME="" # e.g : John Doe
export BB_TOKEN="" # Bitbucket server PAT (personal access token)
export GITHUB_TOKEN="" # GitHub PAT (personal access token)
source "$HOME/Code/dotfiles/dot_aliases/misc.sh" source "$HOME/Code/dotfiles/dot_aliases/misc.sh"
@ -171,7 +179,8 @@ export SDKMAN_DIR="$HOME/.sdkman"
case "$(uname -s)" in case "$(uname -s)" in
Darwin) Darwin)
ln -snf /usr/local/opt/python/bin//pip3.8 /usr/local/bin/pip3 ln -snf /usr/local/lib/python3.9/site-packages/pip /usr/local/bin/pip21
ln -snf /usr/local/lib/python3.9/site-packages/pip /usr/local/bin/pip3
export PATH="$PATH:/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/bin/:/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin" export PATH="$PATH:/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/bin/:/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin"
;; ;;
esac esac
@ -183,3 +192,5 @@ export PATH="/usr/local/opt/grep/libexec/gnubin:$GOPATH/bin:$RUSTPATH:$PATH"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
source /Users/morganwattiez/.config/broot/launcher/bash/br

View File

@ -0,0 +1,238 @@
###############################################################
# This configuration file lets you
# - define new commands
# - change the shortcut or triggering keys of built-in verbs
# - change the colors
# - set default values for flags
# - set special behaviors on specific paths
#
# Configuration documentation is available at
# https://dystroy.org/broot
###############################################################
###############################################################
# Default flags
# You can set up flags you want broot to start with by
# default, for example `default_flags="ihp"` if you usually want
# to see hidden and gitignored files and the permissions (then
# if you don't want the hidden files you can launch `br -H`)
# A popular flag is the `g` one which displays git related info.
#
default_flags = ""
###############################################################
# Special paths
# If some paths must be handled specially, uncomment (and change
# this section as per the examples
#
# [special-paths]
# "/media/slow-backup-disk" = "no-enter"
# "/home/dys/useless" = "hide"
# "/home/dys/my-link-I-want-to-explore" = "enter"
###############################################################
# Date/Time format
# If you want to change the format for date/time, uncomment the
# following line and change it according to
# https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html
#
# date_time_format = "%Y/%m/%d %R"
###############################################################
# Column order
# cols_order, if specified, must be a permutation of "gbpdscn"
# where every char denotes a column:
# g : Git file info
# b : branch (shows the depth and parent in the tree)
# p : permissions (mode, user, group)
# d : last modification date
# s : size (with size bar when sorting)
# c : count, number of files in directories
# n : file name
#
# cols_order = "gbdscn"
###############################################################
# Verbs and shortcuts
# You can define your own commands which would be applied to
# the selection.
#
# Exemple 1: launching `tail -n` on the selected file (leaving broot)
# [[verbs]]
# name = "tail_lines"
# invocation = "tl {lines_count}"
# execution = "tail -f -n {lines_count} {file}"
#
# Exemple 2: creating a new file without leaving broot
# [[verbs]]
# name = "touch"
# invocation = "touch {new_file}"
# execution = "touch {directory}/{new_file}"
# leave_broot = false
# If $EDITOR isn't set on your computer, you should either set it using
# something similar to
# export EDITOR=/usr/bin/nvim
# or just replace it with your editor of choice in the 'execution'
# pattern.
# If your editor is able to open a file on a specific line, use {line}
# so that you may jump directly at the right line from a preview.
# Example:
# execution = "/usr/bin/nvim +{line} {file}"
[[verbs]]
invocation = "edit"
key = "F2"
shortcut = "e"
execution = "$EDITOR {file}"
leave_broot = false
[[verbs]]
invocation = "create {subpath}"
execution = "$EDITOR {directory}/{subpath}"
leave_broot = false
[[verbs]]
invocation = "git_diff"
shortcut = "gd"
leave_broot = false
execution = "git difftool -y {file}"
# If $PAGER isn't set on your computer, you should either set it
# or just replace it with your viewer of choice in the 'execution'
# pattern.
# Example:
# execution = "less {file}"
[[verbs]]
name = "view"
invocation = "view"
execution = "$PAGER {file}"
leave_broot = false
# A popular set of shorctuts for going up and down:
#
# [[verbs]]
# key = "ctrl-j"
# execution = ":line_down"
#
# [[verbs]]
# key = "ctrl-k"
# execution = ":line_up"
#
# [[verbs]]
# key = "ctrl-d"
# execution = ":page_down"
#
# [[verbs]]
# key = "ctrl-u"
# execution = ":page_up"
# [[verbs]]
# key = "home"
# execution = ":select_first"
# [[verbs]]
# key = "end"
# execution = ":select_last"
# If you develop using git, you might like to often switch
# to the "git status" filter:
# [[verbs]]
# key = "ctrl-g"
# execution = ":toggle_git_status"
# You can reproduce the bindings of Norton Commander
# on copying or moving to the other panel:
#
# [[verbs]]
# key = "F5"
# execution = ":copy_to_panel"
#
# [[verbs]]
# key = "F6"
# execution = ":move_to_panel"
###############################################################
# Skin
# If you want to change the colors of broot,
# uncomment the following bloc and start messing
# with the various values.
#
# [skin]
# default = "gray(23) none / gray(20) none"
# tree = "ansi(94) None / gray(3) None"
# file = "gray(20) None / gray(15) None"
# directory = "ansi(208) None Bold / ansi(172) None bold"
# exe = "Cyan None"
# link = "Magenta None"
# pruning = "gray(12) None Italic"
# perm__ = "gray(5) None"
# perm_r = "ansi(94) None"
# perm_w = "ansi(132) None"
# perm_x = "ansi(65) None"
# owner = "ansi(138) None"
# group = "ansi(131) None"
# count = "ansi(136) gray(3)"
# dates = "ansi(66) None"
# sparse = "ansi(214) None"
# content_extract = "ansi(29) None"
# content_match = "ansi(34) None"
# git_branch = "ansi(229) None"
# git_insertions = "ansi(28) None"
# git_deletions = "ansi(160) None"
# git_status_current = "gray(5) None"
# git_status_modified = "ansi(28) None"
# git_status_new = "ansi(94) None Bold"
# git_status_ignored = "gray(17) None"
# git_status_conflicted = "ansi(88) None"
# git_status_other = "ansi(88) None"
# selected_line = "None gray(5) / None gray(4)"
# char_match = "Yellow None"
# file_error = "Red None"
# flag_label = "gray(15) None"
# flag_value = "ansi(208) None Bold"
# input = "White None / gray(15) gray(2)"
# status_error = "gray(22) ansi(124)"
# status_job = "ansi(220) gray(5)"
# status_normal = "gray(20) gray(3) / gray(2) gray(2)"
# status_italic = "ansi(208) gray(3) / gray(2) gray(2)"
# status_bold = "ansi(208) gray(3) Bold / gray(2) gray(2)"
# status_code = "ansi(229) gray(3) / gray(2) gray(2)"
# status_ellipsis = "gray(19) gray(1) / gray(2) gray(2)"
# purpose_normal = "gray(20) gray(2)"
# purpose_italic = "ansi(178) gray(2)"
# purpose_bold = "ansi(178) gray(2) Bold"
# purpose_ellipsis = "gray(20) gray(2)"
# scrollbar_track = "gray(7) None / gray(4) None"
# scrollbar_thumb = "gray(22) None / gray(14) None"
# help_paragraph = "gray(20) None"
# help_bold = "ansi(208) None Bold"
# help_italic = "ansi(166) None"
# help_code = "gray(21) gray(3)"
# help_headers = "ansi(208) None"
# help_table_border = "ansi(239) None"
# preview = "gray(20) gray(1) / gray(18) gray(2)"
# preview_line_number = "gray(12) gray(3)"
# preview_match = "None ansi(29)"
# hex_null = "gray(11) None"
# hex_ascii_graphic = "gray(18) None"
# hex_ascii_whitespace = "ansi(143) None"
# hex_ascii_other = "ansi(215) None"
# hex_non_ascii = "ansi(167) None"
# You may find explanations and other skins on
# https://dystroy.org/broot/skins
# for example a skin suitable for white backgrounds
###############################################################
# File Extension Colors
#
# uncomment and modify the next section if you want to color
# file name depending on their extension
#
# [ext-colors]
# png = "rgb(255, 128, 75)"
# rs = "yellow"

View File

@ -19,3 +19,6 @@ https://github.com/MorganGeek.private.atom?token=AA4MQGFBMZSPMN5NQZZGYMN5EFTLU
https://buttondown.email/hillelwayne/rss https://buttondown.email/hillelwayne/rss
https://www.kill-the-newsletter.com/feeds/5guqrixbconkaq4dtfa0.xml https://www.kill-the-newsletter.com/feeds/5guqrixbconkaq4dtfa0.xml
https://www.kill-the-newsletter.com/feeds/a64hwil6d0amjfsa3fo2.xml https://www.kill-the-newsletter.com/feeds/a64hwil6d0amjfsa3fo2.xml
https://www.kill-the-newsletter.com/feeds/eyobd9lr5rtaj1ga9kg0.xml
https://www.switchaboo.com/rss/
https://blog.eban.bzh/rss.xml

View File

@ -5,3 +5,6 @@ Host *
IdentityFile ~/.ssh/id_ed25519 IdentityFile ~/.ssh/id_ed25519
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 3600 ServerAliveInterval 3600
Match all
Include banyan.config

View File

@ -12,7 +12,7 @@ backcall==0.1.0
beautifulsoup4==4.9.1 beautifulsoup4==4.9.1
beautysh==6.0.1 beautysh==6.0.1
black==19.10b0 black==19.10b0
bleach==3.1.4 bleach==3.3.0
bs4==0.0.1 bs4==0.0.1
cachetools==3.1.1 cachetools==3.1.1
castero==0.8.0 castero==0.8.0
@ -57,7 +57,7 @@ jupyter-core==4.6.1
kitchen==1.2.6 kitchen==1.2.6
kiwisolver==1.1.0 kiwisolver==1.1.0
lazy-object-proxy==1.4.3 lazy-object-proxy==1.4.3
lxml==4.4.1 lxml==4.6.5
matplotlib==3.1.1 matplotlib==3.1.1
mccabe==0.6.1 mccabe==0.6.1
mock==3.0.5 mock==3.0.5
@ -151,4 +151,119 @@ webencodings==0.5.1
websocket-client==0.56.0 websocket-client==0.56.0
wrapt==1.11.2 wrapt==1.11.2
yamllint==1.23.0 yamllint==1.23.0
zope.interface==4.6.0 ansicolor==0.2.6
appdirs==1.4.3
appnope==0.1.0
argcomplete==1.10.0
arrow==0.15.5
asn1crypto==1.2.0
astroid==2.3.3
attrs==19.3.0
Automat==0.8.0
autopep8==1.4.4
backcall==0.1.0
beautifulsoup4==4.9.1
beautysh==6.0.1
black==19.10b0
bleach==3.3.0
bs4==0.0.1
cachetools==3.1.1
castero==0.8.0
certifi==2020.6.20
cffi==1.13.2
chardet==3.0.4
CJKwrap==2.2
click==7.1.2
colorama==0.4.1
colorzero==1.1
configobj==5.0.6
constantly==15.1.0
cryptography==2.8
cssselect==1.1.0
cycler==0.10.0
ddgr==1.6
decorator==4.4.1
docutils==0.15.2
entrypoints==0.3
flake8==3.7.9
future==0.18.2
gitlint==0.13.1
google-api-python-client==1.7.11
google-auth==1.7.0
google-auth-httplib2==0.0.3
gpg==1.13.1
gpiozero==1.5.1
guizero==1.1.0
haxor-news==0.4.3
httplib2==0.18.0
hyperlink==19.0.0
idna==2.10
incremental==17.5.0
ipykernel==5.1.3
ipython==7.9.0
ipython-genutils==0.2.0
isort==4.3.21
jedi==0.15.1
jmespath==0.9.4
jupyter-client==5.3.4
jupyter-core==4.6.1
kitchen==1.2.6
kiwisolver==1.1.0
lazy-object-proxy==1.4.3
lxml==4.6.5
matplotlib==3.1.1
mccabe==0.6.1
mock==3.0.5
multi-key-dict==2.0.3
nudatus==0.0.4
numpy==1.17.3
oauth2client==4.1.3
parsedatetime==2.4
parsel==1.5.2
parso==0.5.1
pathspec==0.6.0
pbr==5.4.3
pexpect==4.7.0
pickleshare==0.7.5
pigpio==1.44
Pillow==6.2.1
pipenv==2018.11.26
pkginfo==1.5.0.1
pocket==0.3.6
prompt-toolkit==2.0.10
proselint==0.10.2
Protego==0.1.15
psutil==5.7.0
ptyprocess==0.6.0
pyasn1==0.4.7
pyasn1-modules==0.2.7
pycodestyle==2.5.0
pycparser==2.19
PyDispatcher==2.0.5
pyfiglet==0.8.post1
pyflakes==2.1.1
Pygments==2.4.2
pyparsing==2.4.4
PySDL2==0.9.7
python-dateutil==2.8.0
python-mpv==0.4.8
python-vlc==3.0.10114
pyzmq==18.1.0
regex==2019.11.1
requests==2.24.0
rsa==3.4.2
sh==1.12.14
six==1.15.0
soupsieve==2.0.1
toml==0.10.0
tornado==6.0.3
traitlets==4.3.3
typed-ast==1.4.0
uritemplate==3.0.0
urllib3==1.25.9
virtualenv==16.7.7
virtualenv-clone==0.5.3
w3lib==1.21.0
wcwidth==0.1.7
webencodings==0.5.1
wrapt==1.11.2