Compare commits
17 Commits
master
...
feature-CI
Author | SHA1 | Date | |
---|---|---|---|
|
3738f1cb7b | ||
|
d5a5a180a3 | ||
|
74319d622c | ||
|
7fde8a6578 | ||
|
d03e4f65b8 | ||
|
12df752a95 | ||
|
1b5dbc0aa8 | ||
|
967fd46455 | ||
|
2aed87a6ec | ||
|
8bc12c4a70 | ||
|
068ed6a9b3 | ||
|
57cae533b4 | ||
|
d02cd7d932 | ||
|
410650677c | ||
|
adf6be522b | ||
|
eb2d11966f | ||
|
e299ebef7e |
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
policies:
|
|
||||||
- type: commit
|
|
||||||
spec:
|
|
||||||
header:
|
|
||||||
length: 89
|
|
||||||
imperative: true
|
|
||||||
case: lower
|
|
||||||
invalidLastCharacters: .
|
|
||||||
body:
|
|
||||||
required: false
|
|
||||||
dco: true
|
|
||||||
gpg: false
|
|
||||||
spellcheck:
|
|
||||||
locale: US
|
|
||||||
maximumOfOneCommit: true
|
|
||||||
conventional:
|
|
||||||
types:
|
|
||||||
- type
|
|
||||||
scopes:
|
|
||||||
- scope
|
|
||||||
descriptionLength: 72
|
|
21
.github/workflows/test.yaml
vendored
Normal file
21
.github/workflows/test.yaml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
on: [push]
|
||||||
|
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_and_test:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@master
|
||||||
|
- name: Mimic
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ln -snf /Users/runner/work/dotfiles ~/Code
|
||||||
|
- name: Run bootstrap
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
~/Code/dotfiles/dot_scripts/bootstrap.sh
|
||||||
|
env:
|
||||||
|
REPO: ${{github.workspace}}
|
||||||
|
DOTFILES_REF: ${{github.sha}}
|
||||||
|
HOMEBREW_BUNDLE_BREW_SKIP: "node"
|
25
.gitignore
vendored
25
.gitignore
vendored
@ -3,28 +3,3 @@ Gemfile.lock
|
|||||||
.newjiraissue
|
.newjiraissue
|
||||||
private_dot_3llo/config.sh
|
private_dot_3llo/config.sh
|
||||||
*secret*
|
*secret*
|
||||||
# rainbowstream (twitter client)
|
|
||||||
completer.hist
|
|
||||||
|
|
||||||
# no logs
|
|
||||||
*.log
|
|
||||||
|
|
||||||
# gh / github
|
|
||||||
private_dot_config/gh/state.yml
|
|
||||||
|
|
||||||
# no backups
|
|
||||||
*.bak
|
|
||||||
|
|
||||||
# no secrets
|
|
||||||
private_dot_config/gh/hosts.yml
|
|
||||||
|
|
||||||
# no symbolic links
|
|
||||||
.pre-commit-config.yaml
|
|
||||||
|
|
||||||
# no temp files
|
|
||||||
dot_scripts/version*
|
|
||||||
|
|
||||||
# newsboat (rss reader)
|
|
||||||
*newsboat/cache.db
|
|
||||||
*newsboat/history.cmdline
|
|
||||||
*private_dot_newsboat/queue
|
|
||||||
|
61
.pre-commit-config.yaml
Normal file
61
.pre-commit-config.yaml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# See https://pre-commit.com for more information
|
||||||
|
# See https://pre-commit.com/hooks.html for more hooks
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v2.5.0
|
||||||
|
hooks:
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: check-yaml
|
||||||
|
- id: check-added-large-files
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: pretty-format-json
|
||||||
|
- id: check-symlinks
|
||||||
|
- id: detect-aws-credentials
|
||||||
|
- id: detect-private-key
|
||||||
|
- id: flake8
|
||||||
|
- id: requirements-txt-fixer
|
||||||
|
- id: sort-simple-yaml
|
||||||
|
- repo: git://github.com/antonbabenko/pre-commit-terraform
|
||||||
|
rev: v1.27.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases
|
||||||
|
hooks:
|
||||||
|
- id: terraform_fmt
|
||||||
|
- id: terraform_docs
|
||||||
|
- id: terragrunt_fmt
|
||||||
|
- id: terraform_tflint
|
||||||
|
args: ['--deep']
|
||||||
|
- id: terraform_validate
|
||||||
|
- repo: https://github.com/jumanjihouse/pre-commit-hooks
|
||||||
|
sha: 1.11.2
|
||||||
|
hooks:
|
||||||
|
- id: shellcheck
|
||||||
|
- id: shfmt
|
||||||
|
- id: script-must-have-extension
|
||||||
|
- id: git-check
|
||||||
|
# - id: git-dirty
|
||||||
|
- id: forbid-binary
|
||||||
|
- id: bundler-audit
|
||||||
|
- repo: https://github.com/cesar-rodriguez/terrascan
|
||||||
|
rev: v0.2.0
|
||||||
|
hooks:
|
||||||
|
- id: terrascan
|
||||||
|
pass_filenames: false
|
||||||
|
args: [-l=infra] #NOTE: that this is the directory you created earlier to host your terraform
|
||||||
|
verbose: true
|
||||||
|
- repo: https://github.com/askulkarni2/pre-commit-docker-jenkinslint
|
||||||
|
rev: master
|
||||||
|
hooks:
|
||||||
|
- id: docker-jenkinslint
|
||||||
|
language: docker_image
|
||||||
|
entry: --entrypoint /usr/local/bin/run-jflint.sh askulkarni2/jenkinslint
|
||||||
|
files: Jenkinsfile
|
||||||
|
|
||||||
|
#- repo: https://github.com/ansible/ansible-lint.git
|
||||||
|
# rev: v4.1.0
|
||||||
|
# hooks:
|
||||||
|
# - id: ansible-lint
|
||||||
|
# files: \.(yaml|yml)$
|
||||||
|
#- repo: https://github.com/pre-commit/mirrors-autopep8
|
||||||
|
# rev: 'v1.5' # Use the sha / tag you want to point at
|
||||||
|
# hooks:
|
||||||
|
# - id: autopep8
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
#- search: /Something [bB]ad/
|
|
||||||
# replacement: Something Good
|
|
||||||
#- search: foobar
|
|
||||||
# insensitive: true
|
|
||||||
# replacement: FOOBAR
|
|
||||||
- search: collibra
|
|
||||||
insensitive: true
|
|
||||||
- search: ~/Code
|
|
||||||
- search: TODO
|
|
||||||
- search: FIXME
|
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
- name: No FIXME
|
|
||||||
pattern: FIXME
|
|
||||||
- name: No TODO
|
|
||||||
pattern: TODO
|
|
70
Brewfile
70
Brewfile
@ -1,7 +1,6 @@
|
|||||||
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,11 +21,7 @@ tap "skanehira/docui" # provides docui, simple terminal UI for creating/configur
|
|||||||
tap "romkatv/powerlevel10k" # provides powerlevel10k
|
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/
|
|
||||||
cask "cyberduck"
|
|
||||||
cask "docker"
|
|
||||||
cask "lens"
|
|
||||||
cask "obsidian"
|
|
||||||
cask "java"
|
cask "java"
|
||||||
cask "iterm2"
|
cask "iterm2"
|
||||||
cask "zoomus"
|
cask "zoomus"
|
||||||
@ -62,17 +57,19 @@ 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
|
# Github actions cannot install these.
|
||||||
mas 'iMovie', id: 408981434
|
unless ENV.has_key?('CI') then
|
||||||
mas 'Microsoft Remote Desktop', id: 1295203466
|
mas '1Password', id:1333542190
|
||||||
mas 'Pages', id: 409201541
|
mas 'Keynote', id: 409183694
|
||||||
mas 'GarageBand', id: 682658836
|
mas 'iMovie', id: 408981434
|
||||||
mas 'Numbers', id: 409203825
|
mas 'Microsoft Remote Desktop', id: 1295203466
|
||||||
|
mas 'Pages', id: 409201541
|
||||||
|
mas 'GarageBand', id: 682658836
|
||||||
|
mas 'Numbers', id: 409203825
|
||||||
|
end
|
||||||
|
|
||||||
brew "homeport/tap/havener"
|
|
||||||
brew "zsh"
|
brew "zsh"
|
||||||
brew "git-ftp"
|
brew "git-ftp"
|
||||||
brew "gnu-sed"
|
brew "gnu-sed"
|
||||||
@ -80,12 +77,11 @@ 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"
|
||||||
@ -113,10 +109,13 @@ brew "htop"
|
|||||||
brew "moreutils"
|
brew "moreutils"
|
||||||
brew "asciidoc"
|
brew "asciidoc"
|
||||||
brew "bash-snippets"
|
brew "bash-snippets"
|
||||||
# Mac App Store command line interface
|
|
||||||
brew "mas"
|
# Github actions cannot install these.
|
||||||
# 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-
|
unless ENV.has_key?('CI') then
|
||||||
-version-is-3-5
|
brew "mas" # Mac App Store command line interface
|
||||||
|
end
|
||||||
|
|
||||||
|
# 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
|
||||||
brew "pyenv"
|
brew "pyenv"
|
||||||
# Google CLI https://github.com/jarun/googler
|
# Google CLI https://github.com/jarun/googler
|
||||||
brew "googler"
|
brew "googler"
|
||||||
@ -150,23 +149,13 @@ 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
|
||||||
@ -174,8 +163,6 @@ 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
|
||||||
@ -191,6 +178,7 @@ 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
|
||||||
@ -209,21 +197,3 @@ brew "powerlevel10k"
|
|||||||
brew "translate-shell" # provides the trans command, more doc via https://www.ostechnix.com/use-google-translate-commandline-linux/
|
brew "translate-shell" # provides the trans command, more doc via https://www.ostechnix.com/use-google-translate-commandline-linux/
|
||||||
brew "toxiproxy"
|
brew "toxiproxy"
|
||||||
brew "bitwarden-cli"
|
brew "bitwarden-cli"
|
||||||
brew "awscli@2"
|
|
||||||
brew "newsboat"
|
|
||||||
brew "wtfutil"
|
|
||||||
brew "tfenv"
|
|
||||||
brew "tokei"
|
|
||||||
brew "fd"
|
|
||||||
brew "git-delta"
|
|
||||||
brew "sn0int"
|
|
||||||
brew "prettier"
|
|
||||||
brew "diffutils"
|
|
||||||
brew "switchaudio-osx"
|
|
||||||
brew "findutils"
|
|
||||||
brew "git-extras"
|
|
||||||
brew "broot"
|
|
||||||
brew "jxplorer"
|
|
||||||
brew "android-file-transfer"
|
|
||||||
brew "aws-vault"
|
|
||||||
brew "asciinema"
|
|
||||||
|
37
README.md
37
README.md
@ -1,51 +1,38 @@
|
|||||||
# Introduction
|
|
||||||
|
|
||||||
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
|
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
### Centos
|
### Centos
|
||||||
|
|
||||||
`yum install git -y`
|
`yum install git -y`
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/MorganGeek/dotfiles.git $HOME/Code/dotfiles
|
git clone https://github.com/MorganGeek/dotfiles.git ~/Code/dotfiles
|
||||||
$HOME/Code/dotfiles/dot_scripts/bootstrap.sh
|
~/Code/dotfiles/dot_scripts/bootstrap.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run
|
### Run
|
||||||
|
|
||||||
run `.scripts/bootstrap.sh`
|
run `.scripts/bootstrap.sh`
|
||||||
|
|
||||||
### Reload
|
### Reload
|
||||||
|
|
||||||
run `zsh .scripts/reload.sh`
|
run `zsh .scripts/reload.sh`
|
||||||
|
|
||||||
### Upgrade
|
### Upgrade
|
||||||
|
|
||||||
run `zsh .scripts/upgrade.sh`
|
run `zsh .scripts/upgrade.sh`
|
||||||
|
|
||||||
### Scope
|
### Scope
|
||||||
|
* Use SDKMan to install development tools
|
||||||
|
* Install Docker Desktop for Mac
|
||||||
|
* Install asciidoctor-pdf
|
||||||
|
* Install Oh My Zsh and some cool dependencies
|
||||||
|
* OSX Defaults
|
||||||
|
* Install NPM dependencies
|
||||||
|
* Install pip and pipenv
|
||||||
|
* Install AWS-CLI
|
||||||
|
|
||||||
- Use SDKMan to install development tools
|
### If Yubico is installed, run this :
|
||||||
- Install Docker Desktop for Mac
|
|
||||||
- Install asciidoctor-pdf
|
|
||||||
- Install Oh My Zsh and some cool dependencies
|
|
||||||
- OSX Defaults
|
|
||||||
- Install NPM dependencies
|
|
||||||
- Install pip and pipenv
|
|
||||||
- Install AWS-CLI
|
|
||||||
|
|
||||||
### If Yubico is installed, run this
|
|
||||||
|
|
||||||
`sudo ansible-playbook ~/.scripts/ansible/macsecure_playbook.yaml`
|
`sudo ansible-playbook ~/.scripts/ansible/macsecure_playbook.yaml`
|
||||||
|
|
||||||
#### In cases of `\n` errors with zsh
|
#### In cases of `\n` errors with zsh
|
||||||
|
https://github.com/robbyrussell/oh-my-zsh/issues/6764#issuecomment-384045008
|
||||||
[Source](https://github.com/robbyrussell/oh-my-zsh/issues/6764#issuecomment-384045008)
|
|
||||||
|
|
||||||
```
|
```
|
||||||
cd $ZSH
|
cd $ZSH
|
||||||
git config core.autocrlf false
|
git config core.autocrlf false
|
||||||
|
29
centos.sh
29
centos.sh
@ -53,7 +53,7 @@ chmod 755 /bin/git-ftp
|
|||||||
yum install golang golang-godoc golang-vet golang-src golang-pkg-linux-amd64 -y
|
yum install golang golang-godoc golang-vet golang-src golang-pkg-linux-amd64 -y
|
||||||
echo "export GOPATH=\"$HOME/go\"" >>~/.zshrc
|
echo "export GOPATH=\"$HOME/go\"" >>~/.zshrc
|
||||||
echo "export PATH=\"$GOPATH/bin:$PATH\"" >>~/.zshrc
|
echo "export PATH=\"$GOPATH/bin:$PATH\"" >>~/.zshrc
|
||||||
. "$HOME/.zshrc"
|
. ~/.zshrc
|
||||||
|
|
||||||
# Install Hugo
|
# Install Hugo
|
||||||
mkdir "$HOME/src"
|
mkdir "$HOME/src"
|
||||||
@ -68,12 +68,15 @@ yum -y install telnet ftp rsh traceroute
|
|||||||
# FTP UI
|
# FTP UI
|
||||||
yum -y install filezilla
|
yum -y install filezilla
|
||||||
|
|
||||||
~/.scripts/sdkmandeps.sh
|
# Install SDK Man
|
||||||
|
curl -s "https://get.sdkman.io" | bash
|
||||||
|
source "/root/.sdkman/bin/sdkman-init.sh"
|
||||||
|
|
||||||
# Install Plantuml
|
# Install Plantuml
|
||||||
|
sdk install java
|
||||||
curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download -o /usr/local/bin/plantuml.jar &&
|
curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download -o /usr/local/bin/plantuml.jar &&
|
||||||
echo 'java -jar /usr/local/bin/plantuml.jar $@' >/usr/local/bin/plantuml &&
|
echo 'java -jar /usr/local/bin/plantuml.jar $@' >/usr/local/bin/plantuml &&
|
||||||
chmod +x /usr/local/bin/plantuml
|
chmod +x /usr/local/bin/plantuml
|
||||||
|
|
||||||
# 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-python-version-is-3-5
|
||||||
curl https://pyenv.run | bash
|
curl https://pyenv.run | bash
|
||||||
@ -167,21 +170,21 @@ sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/goog
|
|||||||
|
|
||||||
# Install BAT (cat with more power)
|
# Install BAT (cat with more power)
|
||||||
wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
|
wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
|
||||||
tar -xzvf bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
|
tar -xzvf bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
|
||||||
mv bat-v0.11.0-x86_64-unknown-linux-musl/bat /usr/local/bin/ &&
|
mv bat-v0.11.0-x86_64-unknown-linux-musl/bat /usr/local/bin/ &&
|
||||||
rm -rf bat-v0.11.0-x86_64-unknown-linux-musl*
|
rm -rf bat-v0.11.0-x86_64-unknown-linux-musl*
|
||||||
|
|
||||||
# Install fselect
|
# Install fselect
|
||||||
cargo install fselect
|
cargo install fselect
|
||||||
|
|
||||||
# surfraw
|
# surfraw
|
||||||
git clone --depth 1 https://gitlab.com/surfraw/Surfraw.git &&
|
git clone --depth 1 https://gitlab.com/surfraw/Surfraw.git &&
|
||||||
cd Surfraw &&
|
cd Surfraw &&
|
||||||
./prebuild &&
|
./prebuild &&
|
||||||
./configure &&
|
./configure &&
|
||||||
make && make install &&
|
make && make install &&
|
||||||
cd .. &&
|
cd .. &&
|
||||||
rm -rf Surfraw
|
rm -rf Surfraw
|
||||||
|
|
||||||
# Dictionary
|
# Dictionary
|
||||||
yum -y install dictd
|
yum -y install dictd
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>AboutToPasteTabsWithCancel</key>
|
|
||||||
<true/>
|
|
||||||
<key>AboutToPasteTabsWithCancel_selection</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
<key>AlternateMouseScroll</key>
|
|
||||||
<true/>
|
|
||||||
<key>AppleAntiAliasingThreshold</key>
|
<key>AppleAntiAliasingThreshold</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>AppleScrollAnimationEnabled</key>
|
<key>AppleScrollAnimationEnabled</key>
|
||||||
@ -23,7 +17,7 @@
|
|||||||
<key>LoadPrefsFromCustomFolder</key>
|
<key>LoadPrefsFromCustomFolder</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSNavLastRootDirectory</key>
|
<key>NSNavLastRootDirectory</key>
|
||||||
<string>/Applications</string>
|
<string>~</string>
|
||||||
<key>NSNavPanelExpandedSizeForOpenMode</key>
|
<key>NSNavPanelExpandedSizeForOpenMode</key>
|
||||||
<string>{712, 448}</string>
|
<string>{712, 448}</string>
|
||||||
<key>NSQuotedKeystrokeBinding</key>
|
<key>NSQuotedKeystrokeBinding</key>
|
||||||
@ -58,21 +52,13 @@
|
|||||||
<key>NSTableView Supports v2 KeyBingingTable</key>
|
<key>NSTableView Supports v2 KeyBingingTable</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSWindow Frame NSFontPanel</key>
|
<key>NSWindow Frame NSFontPanel</key>
|
||||||
<string>944 202 445 77 0 0 1920 1057 </string>
|
<string>1111 136 445 77 0 0 1680 1027 </string>
|
||||||
<key>NSWindow Frame ProfilesPanel</key>
|
|
||||||
<string>275 596 735 382 0 0 1680 1027 </string>
|
|
||||||
<key>NSWindow Frame SUStatusFrame</key>
|
|
||||||
<string>640 674 400 129 0 0 1680 1027 </string>
|
|
||||||
<key>NSWindow Frame SUUpdateAlert</key>
|
|
||||||
<string>650 498 620 392 0 0 1920 1057 </string>
|
|
||||||
<key>NSWindow Frame SessionsPreferences</key>
|
<key>NSWindow Frame SessionsPreferences</key>
|
||||||
<string>220 84 606 469 0 0 1680 1027 </string>
|
<string>-1651 117 606 469 -1920 -30 1920 1057 </string>
|
||||||
<key>NSWindow Frame SharedPreferences</key>
|
<key>NSWindow Frame SharedPreferences</key>
|
||||||
<string>236 550 796 486 0 0 1920 1057 </string>
|
<string>-1683 427 796 486 -1920 -30 1920 1057 </string>
|
||||||
<key>NSWindow Frame iTerm Window 0</key>
|
<key>NSWindow Frame iTerm Window 0</key>
|
||||||
<string>-1482 354 650 452 -1920 -102 1920 1057 </string>
|
<string>-757 48 650 527 -1920 -30 1920 1057 </string>
|
||||||
<key>NSWindow Frame iTerm Window 1</key>
|
|
||||||
<string>2355 366 650 452 1920 0 1920 1057 </string>
|
|
||||||
<key>New Bookmarks</key>
|
<key>New Bookmarks</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
@ -275,8 +261,8 @@
|
|||||||
<key>Red Component</key>
|
<key>Red Component</key>
|
||||||
<real>0.0055023282766342163</real>
|
<real>0.0055023282766342163</real>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Background Image Is Tiled</key>
|
<key>Background Image Location</key>
|
||||||
<false/>
|
<string></string>
|
||||||
<key>Badge Color</key>
|
<key>Badge Color</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Alpha Component</key>
|
<key>Alpha Component</key>
|
||||||
@ -290,12 +276,10 @@
|
|||||||
<key>Red Component</key>
|
<key>Red Component</key>
|
||||||
<real>1</real>
|
<real>1</real>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Blend</key>
|
|
||||||
<real>0.050000000000000003</real>
|
|
||||||
<key>Blinking Cursor</key>
|
<key>Blinking Cursor</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>Blur</key>
|
<key>Blur</key>
|
||||||
<true/>
|
<false/>
|
||||||
<key>Bold Color</key>
|
<key>Bold Color</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Blue Component</key>
|
<key>Blue Component</key>
|
||||||
@ -315,8 +299,6 @@
|
|||||||
<integer>80</integer>
|
<integer>80</integer>
|
||||||
<key>Command</key>
|
<key>Command</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>Cursor Boost</key>
|
|
||||||
<real>0.0</real>
|
|
||||||
<key>Cursor Color</key>
|
<key>Cursor Color</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Blue Component</key>
|
<key>Blue Component</key>
|
||||||
@ -685,7 +667,7 @@
|
|||||||
<real>0.0</real>
|
<real>0.0</real>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Minimum Contrast</key>
|
<key>Minimum Contrast</key>
|
||||||
<real>0.72345525568181823</real>
|
<real>0.0</real>
|
||||||
<key>Mouse Reporting</key>
|
<key>Mouse Reporting</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Name</key>
|
<key>Name</key>
|
||||||
@ -695,7 +677,7 @@
|
|||||||
<key>Non-ASCII Anti Aliased</key>
|
<key>Non-ASCII Anti Aliased</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Normal Font</key>
|
<key>Normal Font</key>
|
||||||
<string>HackNerdFontCompleteM-Regular 14</string>
|
<string>MesloLGMForPowerline-Regular 14</string>
|
||||||
<key>Option Key Sends</key>
|
<key>Option Key Sends</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
<key>Prompt Before Closing 2</key>
|
<key>Prompt Before Closing 2</key>
|
||||||
@ -743,7 +725,7 @@
|
|||||||
<key>Terminal Type</key>
|
<key>Terminal Type</key>
|
||||||
<string>xterm-256color</string>
|
<string>xterm-256color</string>
|
||||||
<key>Transparency</key>
|
<key>Transparency</key>
|
||||||
<real>0.081466132614213205</real>
|
<real>0.0</real>
|
||||||
<key>Unlimited Scrollback</key>
|
<key>Unlimited Scrollback</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Use Bold Font</key>
|
<key>Use Bold Font</key>
|
||||||
@ -754,10 +736,6 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>Use Non-ASCII Font</key>
|
<key>Use Non-ASCII Font</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>Use Tab Color</key>
|
|
||||||
<false/>
|
|
||||||
<key>Use Underline Color</key>
|
|
||||||
<false/>
|
|
||||||
<key>Vertical Spacing</key>
|
<key>Vertical Spacing</key>
|
||||||
<real>1</real>
|
<real>1</real>
|
||||||
<key>Visual Bell</key>
|
<key>Visual Bell</key>
|
||||||
@ -1402,8 +1380,6 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>NoSyncHaveRequestedFullDiskAccess</key>
|
<key>NoSyncHaveRequestedFullDiskAccess</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NoSyncHaveUsedCopyMode</key>
|
|
||||||
<true/>
|
|
||||||
<key>NoSyncHaveWarnedAboutPasteConfirmationChange</key>
|
<key>NoSyncHaveWarnedAboutPasteConfirmationChange</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NoSyncInstallationId</key>
|
<key>NoSyncInstallationId</key>
|
||||||
@ -1416,10 +1392,6 @@
|
|||||||
<false/>
|
<false/>
|
||||||
<key>NoSyncTimeOfFirstLaunchOfVersionWithTip</key>
|
<key>NoSyncTimeOfFirstLaunchOfVersionWithTip</key>
|
||||||
<real>569923461.412552</real>
|
<real>569923461.412552</real>
|
||||||
<key>PMPrintingExpandedStateForPrint2</key>
|
|
||||||
<false/>
|
|
||||||
<key>PasteTabToStringTabStopSize</key>
|
|
||||||
<integer>4</integer>
|
|
||||||
<key>PointerActions</key>
|
<key>PointerActions</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Button,1,1,,</key>
|
<key>Button,1,1,,</key>
|
||||||
@ -1455,8 +1427,6 @@
|
|||||||
</dict>
|
</dict>
|
||||||
<key>PrefsCustomFolder</key>
|
<key>PrefsCustomFolder</key>
|
||||||
<string>/Users/morganwattiez</string>
|
<string>/Users/morganwattiez</string>
|
||||||
<key>Print In Black And White</key>
|
|
||||||
<true/>
|
|
||||||
<key>SUEnableAutomaticChecks</key>
|
<key>SUEnableAutomaticChecks</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>SUFeedAlternateAppNameKey</key>
|
<key>SUFeedAlternateAppNameKey</key>
|
||||||
@ -1466,11 +1436,9 @@
|
|||||||
<key>SUHasLaunchedBefore</key>
|
<key>SUHasLaunchedBefore</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>SULastCheckTime</key>
|
<key>SULastCheckTime</key>
|
||||||
<date>2020-07-19T09:05:45Z</date>
|
<date>2019-02-26T13:53:46Z</date>
|
||||||
<key>SUSendProfileInfo</key>
|
<key>SUSendProfileInfo</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>ShowFullScreenTabBar</key>
|
|
||||||
<false/>
|
|
||||||
<key>TabStyleWithAutomaticOption</key>
|
<key>TabStyleWithAutomaticOption</key>
|
||||||
<integer>4</integer>
|
<integer>4</integer>
|
||||||
<key>WordCharacters</key>
|
<key>WordCharacters</key>
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
"Guid" : "15B87686-16CF-448A-9B73-5E38F56A2179",
|
"Guid" : "15B87686-16CF-448A-9B73-5E38F56A2179",
|
||||||
"Rows" : 25,
|
"Rows" : 25,
|
||||||
"Default Bookmark" : "No",
|
"Default Bookmark" : "No",
|
||||||
"Blend" : 0.050000000000000003,
|
|
||||||
"Cursor Guide Color" : {
|
"Cursor Guide Color" : {
|
||||||
"Red Component" : 0.70213186740875244,
|
"Red Component" : 0.70213186740875244,
|
||||||
"Color Space" : "sRGB",
|
"Color Space" : "sRGB",
|
||||||
@ -285,7 +284,8 @@
|
|||||||
},
|
},
|
||||||
"Window Type" : 0,
|
"Window Type" : 0,
|
||||||
"Cursor Boost" : 0,
|
"Cursor Boost" : 0,
|
||||||
"Blur" : true,
|
"Background Image Location" : "",
|
||||||
|
"Blur" : false,
|
||||||
"Badge Color" : {
|
"Badge Color" : {
|
||||||
"Red Component" : 1,
|
"Red Component" : 1,
|
||||||
"Color Space" : "sRGB",
|
"Color Space" : "sRGB",
|
||||||
@ -307,7 +307,6 @@
|
|||||||
"Blue Component" : 0.63137254901960782,
|
"Blue Component" : 0.63137254901960782,
|
||||||
"Green Component" : 0.63137254901960782
|
"Green Component" : 0.63137254901960782
|
||||||
},
|
},
|
||||||
"Background Image Is Tiled" : false,
|
|
||||||
"Name" : "MorganGeek",
|
"Name" : "MorganGeek",
|
||||||
"Cursor Text Color" : {
|
"Cursor Text Color" : {
|
||||||
"Red Component" : 0.027450980392156862,
|
"Red Component" : 0.027450980392156862,
|
||||||
@ -323,7 +322,7 @@
|
|||||||
"Blue Component" : 0.58823529411764708,
|
"Blue Component" : 0.58823529411764708,
|
||||||
"Green Component" : 0.58039215686274515
|
"Green Component" : 0.58039215686274515
|
||||||
},
|
},
|
||||||
"Transparency" : 0.081466132614213205,
|
"Transparency" : 0,
|
||||||
"Ansi 1 Color" : {
|
"Ansi 1 Color" : {
|
||||||
"Red Component" : 0.86274509803921573,
|
"Red Component" : 0.86274509803921573,
|
||||||
"Color Space" : "sRGB",
|
"Color Space" : "sRGB",
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias jirasearch='issues'
|
|
||||||
alias cicdlist="jira issue jql \"project = 'CICD' AND resolution = Unresolved\""
|
|
||||||
alias backlogs="jira issue jql \"status = New AND project IN (CICD) AND Created > -2w ORDER BY Priority DESC\""
|
|
||||||
alias bakclogs='backlogs'
|
|
||||||
alias support="jira issue jql \"project in (CICD) AND (Created > -2w AND resolution = Unresolved AND (type = 'Engineering Incident' AND status not in ('Waiting for external information') OR type IN ('Engineering Request', 'Task', 'User Story') AND status in ('New', 'To be picked next')) OR resolution != Unresolved AND status = 'In Progress') ORDER BY key DESC\""
|
|
||||||
alias guardian="support"
|
|
||||||
alias lastissues='jira issue jql "project IN (CICD) AND Created > -2w ORDER BY Created DESC, Priority DESC"'
|
|
||||||
alias workingon="jira issue jql \"assignee = currentUser() AND resolution = Unresolved AND status not in ('In Review', 'Done', 'In Testing', 'Waiting For Build') OR QA = currentUser() AND status = 'In Testing' ORDER BY updated DESC, priority DESC\""
|
|
||||||
alias toreview='jira issue jql "project in (CICD) AND Updated > -2w AND issue.property[development].openprs > 0 ORDER BY Created DESC, Priority ASC"'
|
|
||||||
alias newissues="jira issue jql \"project IN (CICD) AND Created > -2w AND resolution = Unresolved AND status not in ('In Progress') ORDER BY Created DESC, Priority DESC\""
|
|
||||||
alias n='newissues'
|
|
||||||
alias backlog=cicdlist
|
|
||||||
alias bakclog='backlog'
|
|
||||||
alias b='backlog'
|
|
||||||
alias mybacklog="jira issue ls && asana && confluencetasks && trello_web"
|
|
||||||
alias mb='mybacklog'
|
|
||||||
alias myissues='mb'
|
|
||||||
alias me='mb'
|
|
||||||
alias j='jira issue open'
|
|
||||||
alias trello='3llo'
|
|
||||||
alias work='moro'
|
|
@ -1,51 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
alias biggerthan10='biggerthan 10M'
|
|
||||||
alias c='cat'
|
|
||||||
alias h='cd $HOME'
|
|
||||||
alias cp='cp -i' # confirmation before overwrite #
|
|
||||||
alias del='rm -rf'
|
|
||||||
alias mv='mv -i' # confirmation before overwrite
|
|
||||||
alias mkcd='take'
|
|
||||||
alias rm='gomi'
|
|
||||||
alias df='df -H'
|
|
||||||
alias diff='colordiff --side-by-side --ignore-space-change --width=200 --suppress-common-lines --recursive'
|
|
||||||
alias du='ncdu --color dark -rr -x --exclude .git --exclude node_modules'
|
|
||||||
alias ctrl-c='pbcopy'
|
|
||||||
alias s=ls
|
|
||||||
alias sl=ll
|
|
||||||
alias ls='lsd'
|
|
||||||
alias lsg='ll | grip' # show me files matching "ls grep"
|
|
||||||
alias ltr='ls -latr'
|
|
||||||
alias lh='ls -alt | head' # see the last modified files
|
|
||||||
alias tree='ls --almost-all --tree -I .git'
|
|
||||||
alias x='extract'
|
|
||||||
|
|
||||||
# Searching
|
|
||||||
alias searchbook="libgen-cli search --output $HOME/Downloads/Books"
|
|
||||||
|
|
||||||
# Projects shortcuts
|
|
||||||
alias code='cd $HOME/Code'
|
|
||||||
alias blog='z morgangeek-blog'
|
|
||||||
|
|
||||||
# Dotfiles
|
|
||||||
alias cm='chezmoi'
|
|
||||||
alias dots='cd $HOME/Code/dotfiles'
|
|
||||||
alias dotfiles='dots'
|
|
||||||
alias gochezmoi='cd $HOME/.local/share/chezmoi'
|
|
||||||
|
|
||||||
# Viewing files
|
|
||||||
alias cat='bat --style=plain --color "always"'
|
|
||||||
alias preview="fzf --preview 'bat --color \"always\" --style=plain {}' --cycle "
|
|
||||||
alias markdown2='pandoc README.md | lynx -stdin -dump'
|
|
||||||
alias markdown='glow'
|
|
||||||
alias v=vi
|
|
||||||
alias ve='vim $HOME/.vimrc' # vimrc editing
|
|
||||||
alias ze='vim $HOME/.zshrc' # zsh profile editing
|
|
||||||
alias zf='vim $HOME/.zsh_functions' # edit zsh_functions
|
|
||||||
alias za='vim $HOME/.zsh_aliases' # edit zsh_aliases
|
|
||||||
|
|
||||||
# Quick editing
|
|
||||||
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*'
|
|
@ -1,16 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
alias commit='gc'
|
|
||||||
alias gpa='git add -p .'
|
|
||||||
alias gcls='git clone --depth 1 --recurse-submodules'
|
|
||||||
alias gpar='gitpushallremote'
|
|
||||||
alias gpcr='gitpushcurrentremote'
|
|
||||||
alias lg='lazygit'
|
|
||||||
alias neworigin='setorigin'
|
|
||||||
alias origin='setorigin'
|
|
||||||
alias goto='git go'
|
|
||||||
alias master='goto master'
|
|
||||||
alias develop='goto develop'
|
|
||||||
alias gg='git config -l | grip' # search git config for ...
|
|
||||||
alias ucommit='PRE_COMMIT_ALLOW_NO_CONFIG=1 git commit --no-verify'
|
|
||||||
alias gitperso='git config user.name "$GIT_PERSONAL_USER" && git config user.email "$GIT_PERSONAL_EMAIL" && success "using profile $(git whoami)"'
|
|
||||||
alias gitpro='git config user.name "$GIT_PRO_USER" && git config user.email "$GIT_PRO_EMAIL" && success "using profile $(git whoami)"'
|
|
@ -1,32 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Show/hide hidden files in Finder
|
|
||||||
alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder"
|
|
||||||
alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder"
|
|
||||||
|
|
||||||
# Hide/show all desktop icons (useful when presenting)
|
|
||||||
alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder"
|
|
||||||
alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder"
|
|
||||||
|
|
||||||
# Flush Directory Service cache
|
|
||||||
alias flush="dscacheutil -flushcache && killall -HUP mDNSResponder"
|
|
||||||
alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend" # Lock the screen (when going AFK)
|
|
||||||
alias lastlogin="log show --style syslog --last 1d | awk '/Enter/ && /unlockUIBecomesActive/ {print \$1 \" \" \$2}'"
|
|
||||||
alias loginhistory='lastlogin'
|
|
||||||
# Empty the Trash on all mounted volumes and the main HDD.
|
|
||||||
# Also, clear Apple’s System Logs to improve shell startup speed.
|
|
||||||
# Finally, clear download history from quarantine. https://mths.be/bum
|
|
||||||
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv $HOME/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 $HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'"
|
|
||||||
# via https://github.com/richinfante/dotfiles/blob/0e1df2d833257e3a3ca2e4fcc8f2f128d52b5d29/dotfiles/.profile_setup/30-aliases.sh
|
|
||||||
alias finder="open ."
|
|
||||||
alias cls="clear; printf '\e[3J'"
|
|
||||||
# Sound management
|
|
||||||
alias mute_headset='mute_device "Plantronics BT600"'
|
|
||||||
alias mute_speakers='mute_device "Haut-parleurs MacBook Pro"'
|
|
||||||
alias switch_headset='mute_speakers && switch_device "Plantronics BT600"'
|
|
||||||
alias switch_speakers='mute_headset && switch_device "Haut-parleurs MacBook Pro"'
|
|
||||||
# Meeting management
|
|
||||||
alias zoom="switch_headset && open -na 'zoom.us'"
|
|
||||||
alias nozoom="pkill 'zoom.us' && success 'zoom has been stopped'"
|
|
||||||
alias zoom30='zoomtimeboxed 30'
|
|
||||||
alias zoom60='zoomtimeboxed 60'
|
|
||||||
alias unmute='osascript -e "set volume without output muted"'
|
|
@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
alias adhoc="ansible --one-line 127.0.0.1 -m"
|
|
||||||
alias ans='adhoc'
|
|
||||||
alias bash="/usr/local/bin/bash"
|
|
||||||
#alias date="gdate"
|
|
||||||
alias away='moro break 10 && coffee'
|
|
||||||
alias afk='away'
|
|
||||||
|
|
||||||
# Protect the / directory - via https://github.com/JanEbbing/mytoolbox/blob/5440831fbd0d1575e595d931d4d35be187cf736e/.bash_aliases
|
|
||||||
alias chown='gchown --preserve-root'
|
|
||||||
alias chmod='gchmod --preserve-root'
|
|
||||||
alias chgrp='gchgrp --preserve-root'
|
|
||||||
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 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 p='ps -ef | grip ' # Show matching processes. Usage : p <process name>
|
|
||||||
alias root='sudo -i'
|
|
||||||
alias ':q'='exit'
|
|
||||||
alias current_hour='date +"%H:%M"'
|
|
||||||
alias current_time='current_hour'
|
|
||||||
# FIXME : register the alias only if browser is Chrome based (Google Chrome/Brave/etc)
|
|
||||||
alias meditate='browse chrome-extension://onjcfgnjjbnflacfbnjaapcbiecckilk/popup.html#fullscreen'
|
|
||||||
alias runhooks='pre-commit run -a'
|
|
||||||
# https://unix.stackexchange.com/a/205854/220566
|
|
||||||
alias trim='awk "{\$1=\$1};1"'
|
|
||||||
alias trem="awk '{\$1=\$1};1'"
|
|
||||||
# via https://github.com/richinfante/dotfiles/blob/0e1df2d833257e3a3ca2e4fcc8f2f128d52b5d29/dotfiles/.profile_setup/30-aliases.sh
|
|
||||||
alias lowercase='tr "[[:upper:]]" "[[:lower:]]"'
|
|
||||||
alias uppercase='tr "[[:lower:]]" "[[:upper:]]"'
|
|
||||||
alias to_lower='lowercase'
|
|
||||||
alias to_upper='uppercase'
|
|
||||||
alias tryhook='pre-commit try-repo .'
|
|
||||||
alias whatyear='current_year'
|
|
||||||
alias whathour='current_time'
|
|
||||||
alias whattime='whathour'
|
|
@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
alias music='baton'
|
|
||||||
alias mytracks='music me saved tracks'
|
|
||||||
alias saved='mytracks'
|
|
||||||
alias liked='saved'
|
|
||||||
alias next='music next'
|
|
||||||
alias prev='music prev'
|
|
||||||
alias previous='prev'
|
|
||||||
alias like='music save'
|
|
||||||
alias curr='music status'
|
|
@ -1,8 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias ip='echo $(curl ident.me -4 2>/dev/null)'
|
|
||||||
alias ipinfo='curl "ipinfo.io/"$(ip)'
|
|
||||||
alias getips='\egrep "\b(([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(1[0-9][0-9]|2[0-4][0-9]|25[0-5]|[0-9]{1,2})\b"'
|
|
||||||
alias ping='prettyping -c 5 --nolegend' # Stop after sending count ECHO_REQUEST packets
|
|
||||||
alias fastping='ping -c 100 -i.2' # don't wait interval 1 second, go fast
|
|
||||||
alias speed-test="docker run --rm -it jariasl/speed-test" # via https://github.com/chrismetcalf/homedir/blob/fc7a9814a3513410b4bf4ec39e9e5bc6e62898e3/.zsh/rc/alias
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias hack='hacker'
|
|
||||||
alias crypto='curl rate.sx'
|
|
||||||
alias weather='weather "?lang=fr&"'
|
|
@ -1,7 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias addfeed='rssadd'
|
|
||||||
alias addrss='rssadd'
|
|
||||||
alias rss='newsboat'
|
|
||||||
alias feed='rss'
|
|
||||||
alias feeds='rss'
|
|
@ -1,24 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias ddg='ddgr'
|
|
||||||
alias goo='googler'
|
|
||||||
alias se='sr -elvi'
|
|
||||||
alias eg='env | grip' # search env variables for pattern
|
|
||||||
alias engines='sr -elvi'
|
|
||||||
alias grep='rg'
|
|
||||||
alias grip='grep -i'
|
|
||||||
alias usernames="python3 $HOME/Code/sherlock/sherlock.py --rank --print-found"
|
|
||||||
alias ygg="torrengo -s ygg"
|
|
||||||
alias ag='alias | grip' # search for patten among aliases
|
|
||||||
alias hg='history | grip' # search for pattern among history
|
|
||||||
alias hist='history'
|
|
||||||
alias codestats='tokei'
|
|
||||||
alias dups='file_dups'
|
|
||||||
alias pairs='file_getpairs'
|
|
||||||
alias filter_pairs="tr '[:upper:]' '[:lower:]' | \grep -o -E '\w{3,} \w{3,}' | \grep --invert-match --word-regexp --fixed-strings --file=\"\$HOME/stopwords.txt\" | \sed 's/s$//g' | \sed 's/ing$//g' | sort | uniq -c | sort --numeric-sort --reverse"
|
|
||||||
alias sort_count="sort | uniq -c | sort --numeric-sort --reverse"
|
|
||||||
alias words='file_getwords'
|
|
||||||
alias fd="\fd"
|
|
||||||
alias wiki='wikit'
|
|
||||||
alias dico='dict'
|
|
||||||
alias topshellloc='| tr "|" "\n" | grep -v "function" | \grep -Eo "(.*)" | trim | sort | uniq -c | sort -nr'
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias mgmt='ssh $(whoami)@$PROXY_HOST -i $HOME/.ssh/id_ed25519'
|
|
||||||
alias m='mgmt'
|
|
||||||
alias tunnel='ssh -D 8000 -N $(whoami)@$PROXY_HOST -i $HOME/.ssh/id_ed25519'
|
|
||||||
alias gpg2="gpg"
|
|
||||||
alias sshpub='cat $HOME/.ssh/id_ed25519.pub'
|
|
||||||
alias ssla="openssl x509 -alias -noout -in" # Usage : ssla <cert>
|
|
||||||
alias encrypt='ansible-vault encrypt **/vault.yml --vault-password-file=$VAULT_PASSWORD_FILE'
|
|
||||||
alias decrypt='ansible-vault decrypt **/vault.yml --vault-password-file=$VAULT_PASSWORD_FILE'
|
|
||||||
alias bitwarden-cli='bw'
|
|
||||||
alias newpass='bw generate --special --uppercase --lowercase --number --length 30'
|
|
@ -1,50 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright 2017 Google Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# https://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
alias terraform_landscape='landscape'
|
|
||||||
alias tf='terraform'
|
|
||||||
alias tfa='terraform apply'
|
|
||||||
alias tfc='terraform console'
|
|
||||||
alias tfd='terraform destroy'
|
|
||||||
alias tff='terraform fmt'
|
|
||||||
alias tfg='terraform graph'
|
|
||||||
alias tfim='terraform import'
|
|
||||||
alias tfin='terraform init'
|
|
||||||
alias tfo='terraform output'
|
|
||||||
alias tfp='terraform plan'
|
|
||||||
alias tfpr='terraform providers'
|
|
||||||
alias tfr='terraform refresh'
|
|
||||||
alias tfsh='terraform show'
|
|
||||||
alias tft='terraform taint'
|
|
||||||
alias tfut='terraform untaint'
|
|
||||||
alias tfv='terraform validate'
|
|
||||||
alias tfw='terraform workspace'
|
|
||||||
alias tfs='terraform state'
|
|
||||||
alias tffu='terraform force-unlock'
|
|
||||||
alias tfwst='terraform workspace select'
|
|
||||||
alias tfwsw='terraform workspace show'
|
|
||||||
alias tfssw='terraform state show'
|
|
||||||
alias tfwde='terraform workspace delete'
|
|
||||||
alias tfwls='terraform workspace list'
|
|
||||||
alias tfsls='terraform state list'
|
|
||||||
alias tfwnw='terraform workspace new'
|
|
||||||
alias tfsmv='terraform state mv'
|
|
||||||
alias tfspl='terraform state pull'
|
|
||||||
alias tfsph='terraform state push'
|
|
||||||
alias tfsrm='terraform state rm'
|
|
||||||
alias tfay='terraform apply -auto-approve'
|
|
||||||
alias tfdy='terraform destroy -auto-approve'
|
|
||||||
alias tfinu='terraform init -upgrade'
|
|
||||||
alias tfpde='terraform plan --destroy'
|
|
@ -1,49 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright 2017 Google Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# https://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
alias tg='terragrunt'
|
|
||||||
alias tga='terragrunt apply'
|
|
||||||
alias tgc='terragrunt console'
|
|
||||||
alias tgd='terragrunt destroy'
|
|
||||||
alias tgf='terragrunt fmt'
|
|
||||||
alias tgg='terragrunt graph'
|
|
||||||
alias tgim='terragrunt import'
|
|
||||||
alias tgin='terragrunt init'
|
|
||||||
alias tgo='terragrunt output'
|
|
||||||
alias tgp='terragrunt plan'
|
|
||||||
alias tgpr='terragrunt providers'
|
|
||||||
alias tgr='terragrunt refresh'
|
|
||||||
alias tgsh='terragrunt show'
|
|
||||||
alias tgt='terragrunt taint'
|
|
||||||
alias tgut='terragrunt untaint'
|
|
||||||
alias tgv='terragrunt validate'
|
|
||||||
alias tgw='terragrunt workspace'
|
|
||||||
alias tgs='terragrunt state'
|
|
||||||
alias tgfu='terragrunt force-unlock'
|
|
||||||
alias tgwst='terragrunt workspace select'
|
|
||||||
alias tgwsw='terragrunt workspace show'
|
|
||||||
alias tgssw='terragrunt state show'
|
|
||||||
alias tgwde='terragrunt workspace delete'
|
|
||||||
alias tgwls='terragrunt workspace list'
|
|
||||||
alias tgsls='terragrunt state list'
|
|
||||||
alias tgwnw='terragrunt workspace new'
|
|
||||||
alias tgsmv='terragrunt state mv'
|
|
||||||
alias tgspl='terragrunt state pull'
|
|
||||||
alias tgsph='terragrunt state push'
|
|
||||||
alias tgsrm='terragrunt state rm'
|
|
||||||
alias tgay='terragrunt apply -auto-approve'
|
|
||||||
alias tgdy='terragrunt destroy -auto-approve'
|
|
||||||
alias tginu='terragrunt init -upgrade'
|
|
||||||
alias tgpde='terragrunt plan --destroy'
|
|
@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
alias twitter='\t'
|
|
||||||
alias tsearch='twitter search all'
|
|
||||||
alias tweets='tsearch --long -a -d'
|
|
||||||
alias tsearchfav='twitter search favorites'
|
|
||||||
alias tsearchtimeline='twitter search timeline'
|
|
||||||
alias tstream='rainbowstream'
|
|
||||||
alias mystream='tstream'
|
|
@ -1,13 +0,0 @@
|
|||||||
personal_repl-1.1 en 0
|
|
||||||
behing behind
|
|
||||||
bg background
|
|
||||||
branchs branches
|
|
||||||
definenation definition
|
|
||||||
dev development
|
|
||||||
env environment
|
|
||||||
evals evaluates
|
|
||||||
festing Testing
|
|
||||||
prtscn print screen
|
|
||||||
stackoverflow Stack Overflow
|
|
||||||
symblinks symbolic links
|
|
||||||
unix Unix
|
|
@ -1,323 +0,0 @@
|
|||||||
personal_ws-1.1 en 322
|
|
||||||
ABAP
|
|
||||||
AIX
|
|
||||||
APIs
|
|
||||||
AST
|
|
||||||
ASTs
|
|
||||||
ActionScript
|
|
||||||
Acyclic
|
|
||||||
Ansible
|
|
||||||
Applitools
|
|
||||||
Axios
|
|
||||||
BDD
|
|
||||||
BINDIR
|
|
||||||
Backend
|
|
||||||
Belarussian
|
|
||||||
Bitbucket
|
|
||||||
Bourne
|
|
||||||
Brewfile
|
|
||||||
Builtins
|
|
||||||
CDN
|
|
||||||
CIs
|
|
||||||
CLI
|
|
||||||
CUI
|
|
||||||
CVE
|
|
||||||
CentOS
|
|
||||||
Chai
|
|
||||||
Changelog
|
|
||||||
CircleCI
|
|
||||||
CloudDocs
|
|
||||||
CodeClimate
|
|
||||||
Codefresh
|
|
||||||
Coreutils
|
|
||||||
Cygwin
|
|
||||||
DOM
|
|
||||||
DSL
|
|
||||||
DevOps
|
|
||||||
Diffutils
|
|
||||||
Dockerfile
|
|
||||||
ESLint
|
|
||||||
FaaS
|
|
||||||
Fanboyism
|
|
||||||
Favicon
|
|
||||||
Feng
|
|
||||||
Fortran
|
|
||||||
FreeBSD
|
|
||||||
GKE
|
|
||||||
GPL
|
|
||||||
GatsbyJS
|
|
||||||
Gemfile
|
|
||||||
GitLab
|
|
||||||
Gocui
|
|
||||||
HCL
|
|
||||||
HashiCorp
|
|
||||||
Hirokuni
|
|
||||||
HomeBrew
|
|
||||||
Huawei
|
|
||||||
IRIX
|
|
||||||
IoT
|
|
||||||
JS
|
|
||||||
JWT
|
|
||||||
Jinja
|
|
||||||
KMS
|
|
||||||
Keybind
|
|
||||||
Keybinds
|
|
||||||
Kubernetes
|
|
||||||
LinkedIn
|
|
||||||
MPL
|
|
||||||
MacOS
|
|
||||||
Mackup
|
|
||||||
Maintainer's
|
|
||||||
Metavariable
|
|
||||||
MicroK
|
|
||||||
Microservice
|
|
||||||
Microservices
|
|
||||||
Middleware
|
|
||||||
Minikube
|
|
||||||
Minimalistic
|
|
||||||
NetBSD
|
|
||||||
Netlify
|
|
||||||
OCaml
|
|
||||||
OSS
|
|
||||||
OSX
|
|
||||||
OWASP
|
|
||||||
OpenBSD
|
|
||||||
PRs
|
|
||||||
PagerDuty
|
|
||||||
PluginInstall
|
|
||||||
Postgres
|
|
||||||
PowerShell
|
|
||||||
PrismJS
|
|
||||||
Prolog
|
|
||||||
PyPI
|
|
||||||
README
|
|
||||||
RGB
|
|
||||||
ROI
|
|
||||||
RSS
|
|
||||||
RabbitMQ
|
|
||||||
Redux
|
|
||||||
Repl
|
|
||||||
Repo
|
|
||||||
Roadmap
|
|
||||||
SAST
|
|
||||||
SDKMan
|
|
||||||
SLA
|
|
||||||
SRP
|
|
||||||
Semgrep
|
|
||||||
Serbo
|
|
||||||
Solaris
|
|
||||||
SonarQube
|
|
||||||
Spotify
|
|
||||||
Survivorship
|
|
||||||
TCP
|
|
||||||
TLS
|
|
||||||
TODO
|
|
||||||
Terraform's
|
|
||||||
Terrascan
|
|
||||||
TravisCI
|
|
||||||
UI
|
|
||||||
UTF
|
|
||||||
UX
|
|
||||||
VirtualBox
|
|
||||||
Vundle
|
|
||||||
WSL
|
|
||||||
WinZip
|
|
||||||
YAGNI
|
|
||||||
YAML
|
|
||||||
ansible
|
|
||||||
ansible's
|
|
||||||
ansiweatherrc
|
|
||||||
antipatterns
|
|
||||||
apache
|
|
||||||
args
|
|
||||||
async
|
|
||||||
autocompiled
|
|
||||||
autoescaping
|
|
||||||
autofix
|
|
||||||
autoload
|
|
||||||
autosuggestions
|
|
||||||
awsls
|
|
||||||
azurerm
|
|
||||||
bach
|
|
||||||
backend
|
|
||||||
backends
|
|
||||||
bashtop
|
|
||||||
benchmarking
|
|
||||||
blackbox
|
|
||||||
bundler
|
|
||||||
bzip
|
|
||||||
cd
|
|
||||||
centos
|
|
||||||
chaifeng
|
|
||||||
checkci
|
|
||||||
chmod
|
|
||||||
chsh
|
|
||||||
cmd
|
|
||||||
codebase
|
|
||||||
codebases
|
|
||||||
compat
|
|
||||||
compinit
|
|
||||||
conf
|
|
||||||
config
|
|
||||||
configs
|
|
||||||
copyhooks
|
|
||||||
csv
|
|
||||||
customizable
|
|
||||||
darwin
|
|
||||||
dest
|
|
||||||
dev
|
|
||||||
dir
|
|
||||||
dockerized
|
|
||||||
dotfiles
|
|
||||||
dryrun
|
|
||||||
duplications
|
|
||||||
encodings
|
|
||||||
env
|
|
||||||
esac
|
|
||||||
eslint
|
|
||||||
favicon
|
|
||||||
filesystem
|
|
||||||
frontend
|
|
||||||
fsSL
|
|
||||||
gcc
|
|
||||||
gh
|
|
||||||
gitconfig
|
|
||||||
githook
|
|
||||||
gpg
|
|
||||||
gradle
|
|
||||||
groupinstall
|
|
||||||
gulpfile
|
|
||||||
gz
|
|
||||||
gzip
|
|
||||||
hardcoded
|
|
||||||
hcl
|
|
||||||
headspace
|
|
||||||
homebrew
|
|
||||||
hostname
|
|
||||||
hostnames
|
|
||||||
htop
|
|
||||||
iTerm
|
|
||||||
idempotency
|
|
||||||
impactful
|
|
||||||
init
|
|
||||||
integrations
|
|
||||||
ipsum
|
|
||||||
js
|
|
||||||
json
|
|
||||||
kotlin
|
|
||||||
libxcrypt
|
|
||||||
linter
|
|
||||||
linters
|
|
||||||
linux
|
|
||||||
llo
|
|
||||||
ln
|
|
||||||
localhost
|
|
||||||
lorem
|
|
||||||
macOS
|
|
||||||
macos
|
|
||||||
matcher
|
|
||||||
md
|
|
||||||
metacharacters
|
|
||||||
metavariable
|
|
||||||
metavariables
|
|
||||||
microservices
|
|
||||||
middleware
|
|
||||||
middlewares
|
|
||||||
minified
|
|
||||||
minifies
|
|
||||||
minify
|
|
||||||
misconfiguration
|
|
||||||
mkdir
|
|
||||||
mockall
|
|
||||||
mockfalse
|
|
||||||
mocktrue
|
|
||||||
moro
|
|
||||||
mutexes
|
|
||||||
namespace
|
|
||||||
namespaces
|
|
||||||
neofetch
|
|
||||||
newsboat
|
|
||||||
nitty
|
|
||||||
nms
|
|
||||||
npm
|
|
||||||
parallelization
|
|
||||||
parallelize
|
|
||||||
parallelizing
|
|
||||||
parseable
|
|
||||||
pipenv
|
|
||||||
powerlevel
|
|
||||||
pre
|
|
||||||
presentational
|
|
||||||
programmatically
|
|
||||||
py
|
|
||||||
pyenv
|
|
||||||
pypi
|
|
||||||
qall
|
|
||||||
rebase
|
|
||||||
reconnection
|
|
||||||
regexes
|
|
||||||
repo
|
|
||||||
repos
|
|
||||||
ripgrep
|
|
||||||
robbyrussell
|
|
||||||
rustc
|
|
||||||
rustfmt
|
|
||||||
rustup
|
|
||||||
rvm
|
|
||||||
sSL
|
|
||||||
sSfL
|
|
||||||
scrollbar
|
|
||||||
sdk
|
|
||||||
sed
|
|
||||||
selfupdate
|
|
||||||
semver
|
|
||||||
serverless
|
|
||||||
sherlock
|
|
||||||
snf
|
|
||||||
src
|
|
||||||
stderr
|
|
||||||
stdout
|
|
||||||
stylesheet
|
|
||||||
subcommands
|
|
||||||
subdirectories
|
|
||||||
subdirectory
|
|
||||||
submodule
|
|
||||||
submodules
|
|
||||||
subshell
|
|
||||||
sudo
|
|
||||||
surfraw
|
|
||||||
svn
|
|
||||||
templateDir
|
|
||||||
templatedir
|
|
||||||
templating
|
|
||||||
terraform
|
|
||||||
terrascan
|
|
||||||
textarea
|
|
||||||
toml
|
|
||||||
txt
|
|
||||||
uname
|
|
||||||
uncomment
|
|
||||||
uncommenting
|
|
||||||
unhandled
|
|
||||||
unsave
|
|
||||||
untrapped
|
|
||||||
url
|
|
||||||
usr
|
|
||||||
utils
|
|
||||||
vcs
|
|
||||||
vimrc
|
|
||||||
vlc
|
|
||||||
walkthroughs
|
|
||||||
webpage
|
|
||||||
wget
|
|
||||||
whitepaper
|
|
||||||
whitespace
|
|
||||||
whoami
|
|
||||||
wikit
|
|
||||||
wtf
|
|
||||||
yacc
|
|
||||||
yaml
|
|
||||||
yamllint
|
|
||||||
yml
|
|
||||||
zsh
|
|
||||||
zshrc
|
|
@ -1 +0,0 @@
|
|||||||
personal_repl-1.1 fr 0
|
|
@ -1,6 +0,0 @@
|
|||||||
personal_ws-1.1 fr 5
|
|
||||||
Make
|
|
||||||
bash
|
|
||||||
bin
|
|
||||||
pre-commit
|
|
||||||
usr
|
|
@ -1,4 +1,2 @@
|
|||||||
|
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
|
||||||
source /Users/morganwattiez/.config/broot/launcher/bash/br
|
|
||||||
|
@ -1,120 +1,61 @@
|
|||||||
---
|
|
||||||
# See https://pre-commit.com for more information
|
# See https://pre-commit.com for more information
|
||||||
# See https://pre-commit.com/hooks.html for more hooks
|
# See https://pre-commit.com/hooks.html for more hooks
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v3.1.0
|
rev: v2.5.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-added-large-files
|
- id: trailing-whitespace
|
||||||
- id: check-case-conflict
|
- id: end-of-file-fixer
|
||||||
- id: check-executables-have-shebangs
|
|
||||||
- id: check-json
|
|
||||||
- id: check-merge-conflict
|
|
||||||
- id: check-symlinks
|
|
||||||
- id: check-yaml
|
- id: check-yaml
|
||||||
- id: check-xml
|
- id: check-added-large-files
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: pretty-format-json
|
||||||
|
- id: check-symlinks
|
||||||
- id: detect-aws-credentials
|
- id: detect-aws-credentials
|
||||||
- id: detect-private-key
|
- id: detect-private-key
|
||||||
- id: end-of-file-fixer
|
- id: flake8
|
||||||
- id: mixed-line-ending
|
|
||||||
- id: pretty-format-json
|
|
||||||
- id: requirements-txt-fixer
|
- id: requirements-txt-fixer
|
||||||
- id: sort-simple-yaml
|
- id: sort-simple-yaml
|
||||||
- id: trailing-whitespace
|
- repo: git://github.com/antonbabenko/pre-commit-terraform
|
||||||
- repo: https://gitlab.com/pycqa/flake8.git
|
rev: v1.27.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases
|
||||||
rev: master
|
|
||||||
hooks:
|
|
||||||
- id: flake8
|
|
||||||
- repo: git://github.com/antonbabenko/pre-commit-terraform
|
|
||||||
rev: v1.31.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases
|
|
||||||
hooks:
|
hooks:
|
||||||
- id: terraform_fmt
|
- id: terraform_fmt
|
||||||
- id: terragrunt_fmt
|
|
||||||
- id: terraform_docs
|
- id: terraform_docs
|
||||||
- id: terraform_docs_without_aggregate_type_defaults
|
- id: terragrunt_fmt
|
||||||
- id: terraform_tflint
|
- id: terraform_tflint
|
||||||
args: [--deep]
|
args: ['--deep']
|
||||||
- id: terraform_validate
|
- id: terraform_validate
|
||||||
- id: terraform_tfsec
|
- repo: https://github.com/jumanjihouse/pre-commit-hooks
|
||||||
#- repo: https://github.com/ansible/ansible-lint.git
|
sha: 1.11.2
|
||||||
# rev: v4.1.0
|
|
||||||
# hooks:
|
|
||||||
#- id: ansible-lint
|
|
||||||
# files: \.(yaml|yml)$
|
|
||||||
- repo: git@github.com:jorisroovers/gitlint.git
|
|
||||||
rev: v0.13.1
|
|
||||||
hooks:
|
|
||||||
- id: gitlint
|
|
||||||
- repo: https://github.com/jumanjihouse/pre-commit-hooks
|
|
||||||
rev: 1.11.2
|
|
||||||
hooks:
|
hooks:
|
||||||
- id: shellcheck
|
- id: shellcheck
|
||||||
- id: shfmt
|
- id: shfmt
|
||||||
- id: script-must-have-extension
|
- id: script-must-have-extension
|
||||||
- id: git-check
|
- id: git-check
|
||||||
|
# - id: git-dirty
|
||||||
- id: forbid-binary
|
- id: forbid-binary
|
||||||
- id: bundler-audit
|
- id: bundler-audit
|
||||||
- id: markdownlint
|
- repo: https://github.com/cesar-rodriguez/terrascan
|
||||||
- repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt
|
rev: v0.2.0
|
||||||
rev: 0.0.11
|
|
||||||
hooks:
|
|
||||||
- id: yamlfmt
|
|
||||||
- repo: https://github.com/cesar-rodriguez/terrascan
|
|
||||||
rev: v0.2.1
|
|
||||||
hooks:
|
hooks:
|
||||||
- id: terrascan
|
- id: terrascan
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
args: [-l=infra] #NOTE: that this is the directory you created earlier to host your terraform
|
args: [-l=infra] #NOTE: that this is the directory you created earlier to host your terraform
|
||||||
verbose: true
|
verbose: true
|
||||||
- repo: https://github.com/Lucas-C/pre-commit-hooks-nodejs
|
- repo: https://github.com/askulkarni2/pre-commit-docker-jenkinslint
|
||||||
rev: v1.1.1
|
|
||||||
hooks:
|
|
||||||
- id: htmlhint
|
|
||||||
args: [--config, .htmlhintrc]
|
|
||||||
- id: htmllint
|
|
||||||
- id: markdown-toc
|
|
||||||
args: [--indent, ' ', -i]
|
|
||||||
- id: dockerfile_lint
|
|
||||||
args: [--json, --verbose, --dockerfile]
|
|
||||||
- repo: https://github.com/lovesegfault/beautysh
|
|
||||||
rev: 6.0.1
|
|
||||||
hooks:
|
|
||||||
- id: beautysh
|
|
||||||
- repo: https://github.com/mattlqx/pre-commit-search-and-replace
|
|
||||||
rev: v1.0.3
|
|
||||||
hooks:
|
|
||||||
- id: search-and-replace
|
|
||||||
- repo: https://github.com/codingjoe/relint
|
|
||||||
rev: 1.2.0
|
|
||||||
hooks:
|
|
||||||
- id: relint
|
|
||||||
- repo: git@github.com:Vimjas/vint.git
|
|
||||||
rev: master
|
rev: master
|
||||||
hooks:
|
|
||||||
- id: vint
|
|
||||||
# install with `pre-commit install -t commit-msg`
|
|
||||||
- repo: https://github.com/talos-systems/conform
|
|
||||||
rev: master
|
|
||||||
hooks:
|
|
||||||
- id: conform
|
|
||||||
stages:
|
|
||||||
- commit-msg
|
|
||||||
- repo: local
|
|
||||||
hooks:
|
|
||||||
- id: check-committer
|
|
||||||
name: Check Committer Identity
|
|
||||||
entry: pre-commit-verify-committer
|
|
||||||
language: system
|
|
||||||
always_run: true
|
|
||||||
files: ''
|
|
||||||
- repo: https://github.com/askulkarni2/pre-commit-docker-jenkinslint
|
|
||||||
rev: 88dd7702e44bbc4dc742b37897e1ded7fe99dfba
|
|
||||||
hooks:
|
hooks:
|
||||||
- id: docker-jenkinslint
|
- id: docker-jenkinslint
|
||||||
language: docker_image
|
language: docker_image
|
||||||
entry: --entrypoint /usr/local/bin/run-jflint.sh askulkarni2/jenkinslint
|
entry: --entrypoint /usr/local/bin/run-jflint.sh askulkarni2/jenkinslint
|
||||||
files: Jenkinsfile
|
files: Jenkinsfile
|
||||||
- repo: git@github.com:amperser/proselint.git
|
|
||||||
rev: 0.10.2
|
#- repo: https://github.com/ansible/ansible-lint.git
|
||||||
hooks:
|
# rev: v4.1.0
|
||||||
- id: proselint
|
# hooks:
|
||||||
|
# - id: ansible-lint
|
||||||
|
# files: \.(yaml|yml)$
|
||||||
|
#- repo: https://github.com/pre-commit/mirrors-autopep8
|
||||||
|
# rev: 'v1.5' # Use the sha / tag you want to point at
|
||||||
|
# hooks:
|
||||||
|
# - id: autopep8
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
# See https://pre-commit.com for more information
|
|
||||||
# See https://pre-commit.com/hooks.html for more hooks
|
|
||||||
repos:
|
|
||||||
- repo: local
|
|
||||||
hooks:
|
|
||||||
- id: check-committer
|
|
||||||
name: Check Committer Identity
|
|
||||||
entry: pre-commit-verify-committer
|
|
||||||
language: system
|
|
||||||
always_run: true
|
|
||||||
files: ''
|
|
||||||
- repo: https://github.com/askulkarni2/pre-commit-docker-jenkinslint
|
|
||||||
rev: 88dd7702e44bbc4dc742b37897e1ded7fe99dfba
|
|
||||||
hooks:
|
|
||||||
- id: docker-jenkinslint
|
|
||||||
language: docker_image
|
|
||||||
entry: --entrypoint /usr/local/bin/run-jflint.sh askulkarni2/jenkinslint
|
|
||||||
files: Jenkinsfile
|
|
@ -6,34 +6,8 @@
|
|||||||
tags = log --no-walk --tags --pretty=\"%h %d %s\" --decorate=full
|
tags = log --no-walk --tags --pretty=\"%h %d %s\" --decorate=full
|
||||||
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||||
st = status
|
st = status
|
||||||
|
|
||||||
# View abbreviated SHA, description, and history graph of the latest 20 commits.
|
|
||||||
l = log --pretty=oneline -n 20 --graph --abbrev-commit
|
|
||||||
|
|
||||||
# View the current working tree status using the short format.
|
|
||||||
s = status -s
|
|
||||||
|
|
||||||
# Show the diff between the latest commit and the current state.
|
|
||||||
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
|
|
||||||
|
|
||||||
# `git di $number` shows the diff between the state `$number` revisions ago and the current state.
|
|
||||||
di = !"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d"
|
|
||||||
|
|
||||||
# Switch to a branch, creating it if necessary.
|
|
||||||
go = "!f() { git checkout -b \"$1\" 2> /dev/null || git checkout \"$1\"; }; f"
|
|
||||||
|
|
||||||
# Show verbose output about tags, branches or remotes
|
|
||||||
tags = tag -l
|
|
||||||
branches = branch --all
|
|
||||||
remotes = remote --verbose
|
|
||||||
|
|
||||||
# List contributors with number of commits.
|
|
||||||
contributors = shortlog --summary --numbered
|
|
||||||
contrib = ! git log --pretty=format:'%aN' | sort | uniq -c | sort -nr
|
contrib = ! git log --pretty=format:'%aN' | sort | uniq -c | sort -nr
|
||||||
whois = ! sh -c 'git log -i --pretty=\"format:%an <%ae>\" --author=\"\" | sort -u' -
|
whois = ! sh -c 'git log -i --pretty=\"format:%an <%ae>\" --author=\"\" | sort -u' -
|
||||||
|
|
||||||
# Show the user email for the current repository.
|
|
||||||
whoami = config user.email
|
|
||||||
di = diff -w --color-words=.
|
di = diff -w --color-words=.
|
||||||
ac = ! git add . && git commit -v
|
ac = ! git add . && git commit -v
|
||||||
unstage = reset HEAD
|
unstage = reset HEAD
|
||||||
@ -50,60 +24,14 @@
|
|||||||
--format=\"%ad\" \
|
--format=\"%ad\" \
|
||||||
--date=\"format:%H\" \
|
--date=\"format:%H\" \
|
||||||
| awk '{n=$1+0;if(H[n]++>max)max=H[n]}END{for(i=0;i<24;i++){printf\"%02d -%5d \",i,H[i];for(n=0;n<H[i]/max*50;n++){printf \"*\"}print\"\"}}'"
|
| awk '{n=$1+0;if(H[n]++>max)max=H[n]}END{for(i=0;i<24;i++){printf\"%02d -%5d \",i,H[i];for(n=0;n<H[i]/max*50;n++){printf \"*\"}print\"\"}}'"
|
||||||
|
|
||||||
# Find commits by source code
|
|
||||||
fc = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short -S$1; }; f"
|
|
||||||
|
|
||||||
# Find commits by commit message
|
|
||||||
fm = "!f() { git log --pretty=format:'%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d' --decorate --date=short --grep=$1; }; f"
|
|
||||||
|
|
||||||
# Credit an author on the latest commit.
|
|
||||||
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f"
|
|
||||||
|
|
||||||
# List aliases.
|
|
||||||
aliases = config --get-regexp alias
|
|
||||||
|
|
||||||
# Amend the currently staged files to the latest commit.
|
|
||||||
amend = commit --amend --reuse-message=HEAD
|
|
||||||
|
|
||||||
[help]
|
[help]
|
||||||
autocorrect = -1 # not more git psuh
|
autocorrect = -1 # not more git psuh
|
||||||
|
|
||||||
[init]
|
[init]
|
||||||
templateDir = /Users/morganwattiez/.git-template
|
templateDir = ~/.git-template
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
pager = delta --line-numbers --diff-highlight
|
pager = diff-so-fancy | less --tabs=4 -RFX
|
||||||
# Treat spaces before tabs and all kinds of trailing whitespace as an error.
|
excludesfile = ~/.gitignore
|
||||||
# [default] trailing-space: looks for spaces at the end of a line
|
|
||||||
# [default] space-before-tab: looks for spaces before tabs at the beginning of a line
|
|
||||||
whitespace = space-before-tab,-indent-with-non-tab,trailing-space
|
|
||||||
|
|
||||||
[diff]
|
[diff]
|
||||||
noprefix = true
|
noprefix = true
|
||||||
|
|
||||||
[apply]
|
|
||||||
# Detect whitespace errors when applying a patch.
|
|
||||||
whitespace = fix
|
|
||||||
|
|
||||||
[branch]
|
|
||||||
# Show most recently changed branches first.
|
|
||||||
sort = -committerdate
|
|
||||||
tool = colordiff
|
|
||||||
|
|
||||||
[difftool "colordiff"]
|
|
||||||
cmd = colordiff -ydw \"$LOCAL\" \"$REMOTE\"
|
|
||||||
|
|
||||||
[url "git@github.com:"]
|
[url "git@github.com:"]
|
||||||
insteadOf = https://github.com/
|
insteadOf = https://github.com/
|
||||||
|
|
||||||
[difftool]
|
|
||||||
prompt = false
|
|
||||||
|
|
||||||
[delta]
|
|
||||||
plus-color = "#012800"
|
|
||||||
minus-color = "#340001"
|
|
||||||
theme = Monokai Extended
|
|
||||||
|
|
||||||
[interactive]
|
|
||||||
diffFilter = delta --color-only
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
become: yes
|
become: yes
|
||||||
@ -7,15 +7,15 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Check yubikey binaries are installed
|
- name: Check yubikey binaries are installed
|
||||||
stat:
|
stat:
|
||||||
path: '{{ item }}'
|
path: "{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- /usr/local/bin/ykpamcfg
|
- /usr/local/bin/ykpamcfg
|
||||||
- /Applications/YubiKey Manager.app/Contents/MacOS/ykman
|
- "/Applications/YubiKey\ Manager.app/Contents/MacOS/ykman"
|
||||||
|
|
||||||
- name: Check Yubico is recognized
|
- name: Check Yubico is recognized
|
||||||
shell: "'/Applications/YubiKey Manager.app/Contents/MacOS/ykman' list | awk '{print $6}'"
|
shell: "'/Applications/YubiKey Manager.app/Contents/MacOS/ykman' list | awk '{print $6}'"
|
||||||
register: yubicoChallenge
|
register: yubicoChallenge
|
||||||
failed_when: yubicoChallenge.rc != 0 or yubicoChallenge.stdout == ''
|
failed_when: "yubicoChallenge.rc != 0 or yubicoChallenge.stdout == ''"
|
||||||
|
|
||||||
- name: Get current user
|
- name: Get current user
|
||||||
become: false
|
become: false
|
||||||
@ -24,14 +24,14 @@
|
|||||||
|
|
||||||
- name: Check yubico challenge exists
|
- name: Check yubico challenge exists
|
||||||
stat:
|
stat:
|
||||||
path: /Users/{{ username_on_host.stdout }}/.yubico/challenge-{{ yubicoChallenge.stdout }}
|
path: "/Users/{{ username_on_host.stdout }}/.yubico/challenge-{{ yubicoChallenge.stdout }}"
|
||||||
|
|
||||||
- name: Ensure yubikey is needed for authentication at login screen
|
- name: Ensure yubikey is needed for authentication at login screen
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: '{{ item }}'
|
path: "{{ item }}"
|
||||||
regexp: ^auth.*pam_yubico.so.*
|
regexp: '^auth.*pam_yubico.so.*'
|
||||||
line: auth required /usr/local/lib/security/pam_yubico.so mode=challenge-response
|
line: "auth required /usr/local/lib/security/pam_yubico.so mode=challenge-response"
|
||||||
insertbefore: ^account required pam_opendirectory.so
|
insertbefore: "^account required pam_opendirectory.so"
|
||||||
state: absent
|
state: absent
|
||||||
with_items:
|
with_items:
|
||||||
- /etc/pam.d/screensaver
|
- /etc/pam.d/screensaver
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
become: yes
|
become: yes
|
||||||
@ -7,15 +7,15 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Check yubikey binaries are installed
|
- name: Check yubikey binaries are installed
|
||||||
stat:
|
stat:
|
||||||
path: '{{ item }}'
|
path: "{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- /usr/local/bin/ykpamcfg
|
- /usr/local/bin/ykpamcfg
|
||||||
- /Applications/YubiKey Manager.app/Contents/MacOS/ykman
|
- "/Applications/YubiKey\ Manager.app/Contents/MacOS/ykman"
|
||||||
|
|
||||||
- name: Check Yubico is recognized
|
- name: Check Yubico is recognized
|
||||||
shell: "'/Applications/YubiKey Manager.app/Contents/MacOS/ykman' list | awk '{print $6}'"
|
shell: "'/Applications/YubiKey Manager.app/Contents/MacOS/ykman' list | awk '{print $6}'"
|
||||||
register: yubicoChallenge
|
register: yubicoChallenge
|
||||||
failed_when: yubicoChallenge.rc != 0 or yubicoChallenge.stdout == ''
|
failed_when: "yubicoChallenge.rc != 0 or yubicoChallenge.stdout == ''"
|
||||||
|
|
||||||
- name: Get current user
|
- name: Get current user
|
||||||
become: false
|
become: false
|
||||||
@ -24,23 +24,23 @@
|
|||||||
|
|
||||||
- name: Check yubico challenge exists
|
- name: Check yubico challenge exists
|
||||||
stat:
|
stat:
|
||||||
path: /Users/{{ username_on_host.stdout }}/.yubico/challenge-{{ yubicoChallenge.stdout }}
|
path: "/Users/{{ username_on_host.stdout }}/.yubico/challenge-{{ yubicoChallenge.stdout }}"
|
||||||
|
|
||||||
- name: Ensure yubikey is needed for authentication at login screen
|
- name: Ensure yubikey is needed for authentication at login screen
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: '{{ item }}'
|
path: "{{ item }}"
|
||||||
regexp: ^auth.*pam_yubico.so.*
|
regexp: '^auth.*pam_yubico.so.*'
|
||||||
line: auth required /usr/local/lib/security/pam_yubico.so mode=challenge-response
|
line: "auth required /usr/local/lib/security/pam_yubico.so mode=challenge-response"
|
||||||
insertbefore: ^account required pam_opendirectory.so
|
insertbefore: "^account required pam_opendirectory.so"
|
||||||
with_items:
|
with_items:
|
||||||
- /etc/pam.d/screensaver
|
- /etc/pam.d/screensaver
|
||||||
- /etc/pam.d/authorization
|
- /etc/pam.d/authorization
|
||||||
|
|
||||||
- name: Ensure touch id is enough to authenticate with sudo
|
- name: Ensure touch id is enough to authenticate with sudo
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: '{{ item }}'
|
path: "{{ item }}"
|
||||||
regexp: ^auth.*sufficient.*pam_tid.so.*
|
regexp: '^auth.*sufficient.*pam_tid.so.*'
|
||||||
line: auth sufficient pam_tid.so
|
line: "auth sufficient pam_tid.so"
|
||||||
insertafter: ^#.*
|
insertafter: "^#.*"
|
||||||
with_items:
|
with_items:
|
||||||
- /etc/pam.d/sudo
|
- /etc/pam.d/sudo
|
||||||
|
@ -1,52 +1,285 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# Make sure Code directory exists
|
||||||
|
|
||||||
echo "Hello $(whoami)! Let's get you set up."
|
echo "Hello $(whoami)! Let's get you set up."
|
||||||
|
|
||||||
# Make sure Code directory exists
|
echo "create vim directory is missing"
|
||||||
|
mkdir -vp "$HOME/.vim"
|
||||||
|
|
||||||
echo "mkdir -p $HOME/Code"
|
echo "mkdir -p $HOME/Code"
|
||||||
mkdir -p "$HOME/Code"
|
mkdir -p ~/Code
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_scripts" "$HOME/.scripts"
|
ln -snf ~/Code/dotfiles/dot_scripts ~/.scripts
|
||||||
chmod +x "$HOME/.scripts/*.sh"
|
ln -snf ~/Code/dotfiles/dot_gitconfig ~/.gitconfig
|
||||||
|
chmod +x ~/.scripts/*.sh
|
||||||
|
|
||||||
"$HOME/.scripts/install_linux_packages.sh"
|
if [[ $(uname) == "Linux" ]]; then
|
||||||
"$HOME/.scripts/install_homebrew.sh"
|
IS_LINUX=true
|
||||||
|
else
|
||||||
|
IS_LINUX=false
|
||||||
|
fi
|
||||||
|
|
||||||
# Path to ruby
|
if [[ $(uname) == "Darwin" ]]; then
|
||||||
export PATH="/usr/local/opt/ruby/bin:$PATH"
|
IS_MAC=true
|
||||||
|
else
|
||||||
|
IS_MAC=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install missing package (Linux)
|
||||||
|
function installLinuxPackages() {
|
||||||
|
if [ "$IS_LINUX" = true ]; then
|
||||||
|
echo "(Linux) Installing Development Tools"
|
||||||
|
yum install sudo -y
|
||||||
|
sudo yum groupinstall 'Development Tools' -y
|
||||||
|
sudo yum install git which zip unzip ruby curl file docker gcc make libxcrypt-compat vim-enhanced -y
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Install HomeBrew
|
||||||
|
function installBrew() {
|
||||||
|
if [ "$IS_MAC" = true ]; then
|
||||||
|
echo "(Mac OS X) installing homebrew"
|
||||||
|
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||||
|
# Prevent `Error: Your Homebrew is outdated. Please run `brew update`.`
|
||||||
|
echo "Updating Homebrew"
|
||||||
|
brew update
|
||||||
|
# Path to ruby
|
||||||
|
export PATH="/usr/local/opt/ruby/bin:$PATH"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Create symbolic links
|
# Create symbolic links
|
||||||
"$HOME/.scripts/symbolic_links.sh"
|
function createSymbolicLinks() {
|
||||||
|
echo "Creating symbolic links"
|
||||||
|
ln -snf ~/Code/dotfiles/dot_profile ~/.profile
|
||||||
|
ln -snf ~/.local/share/chezmoi/ ~/dotfiles
|
||||||
|
ln -snf ~/Code/dotfiles/Gemfile ~/Gemfile
|
||||||
|
ln -snf ~/Code/dotfiles/README.md ~/README.md
|
||||||
|
ln -snf ~/Code/dotfiles/dot_bash_profile ~/.bash_profile
|
||||||
|
ln -snf ~/Code/dotfiles/dot_macos ~/.macos
|
||||||
|
ln -snf ~/Code/dotfiles/dot_scripts/checkci.sh /usr/local/bin/checkci
|
||||||
|
ln -snf ~/Code/dotfiles/dot_vimrc ~/.vimrc
|
||||||
|
ln -snf ~/Code/dotfiles/dot_vim/ale_linters ~/.vim/ale_linters # custom linters
|
||||||
|
ln -snf ~/Code/dotfiles/dot_zsh_aliases ~/.zsh_aliases
|
||||||
|
ln -snf ~/Code/dotfiles/dot_zsh_functions ~/.zsh_functions
|
||||||
|
ln -snf ~/Code/dotfiles/dot_zshrc ~/.zshrc
|
||||||
|
ln -snf ~/Code/dotfiles/dot_zshrc.pre-oh-my-zsh ~/.zshrc.pre-oh-my-zsh
|
||||||
|
ln -snf ~/Code/dotfiles/private_dot_ssh/config ~/.ssh/config
|
||||||
|
ln -snf ~/Code/dotfiles/requirements.txt ~/requirements.txt
|
||||||
|
ln -snf ~/Code/dotfiles/dot_surfraw.conf ~/.surfraw.conf
|
||||||
|
ln -snf ~/Code/dotfiles/private_dot_3llo/config.sh ~/.3llo_config
|
||||||
|
ln -snf ~/Code/dotfiles/dot_ansiweatherrc ~/.ansiweatherrc
|
||||||
|
ln -snf ~/Code/dotfiles/dot_p10k.zsh ~/.p10k.zsh
|
||||||
|
ln -snf ~/Code/dotfiles/dot_git-template ~/.git-template
|
||||||
|
}
|
||||||
|
|
||||||
# Install user applications
|
# Install dependencies (apps, fonts, ...) with Brew
|
||||||
"$HOME/.scripts/install_macpackages.sh"
|
function installMacSoftware() {
|
||||||
"$HOME/.scripts/install_linux_user_apps.sh"
|
if [ "$IS_MAC" = true ]; then
|
||||||
|
echo "(Mac OS X) Installing Docker"
|
||||||
|
~/.scripts/install_docker_for_mac.sh
|
||||||
|
echo "(Mac OS X) Brew installing stuff (apps, fonts, ...)"
|
||||||
|
ln -snf ~/Code/dotfiles/Brewfile ~/Brewfile
|
||||||
|
brew bundle
|
||||||
|
# Configure Mac specific symbolic links
|
||||||
|
echo "(Mac OS X) Adding symbolic links"
|
||||||
|
mkdir -pv "$HOME/Library/Application Support/Code/User/snippets"
|
||||||
|
ln -snf "$HOME/.config/Code/User/settings.json" "$HOME/Library/Application Support/Code/User/settings.json"
|
||||||
|
ln -snf "$HOME/Library/Mobile Documents/com~apple~CloudDocs/Mackup/Library/Application Support/Code/User/snippets" "$HOME/Library/Application Support/Code/User/snippets"
|
||||||
|
ln -snf "$HOME/Library/Mobile Documents/com~apple~CloudDocs/Mackup/.mackup.cfg" "$HOME/.mackup.cfg"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Install dependencies (apps, fonts, ...) for CentOS
|
||||||
|
function installLinuxSoftware() {
|
||||||
|
if [ "$IS_LINUX" = true ]; then
|
||||||
|
echo "(CentOS) Installing stuff (apps, ...)"
|
||||||
|
chmod +x ~/Code/dotfiles/centos.sh
|
||||||
|
~/Code/dotfiles/centos.sh
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Switch to ZSH
|
# Switch to ZSH
|
||||||
echo "switching to ZSH"
|
function switchToZsh() {
|
||||||
command -v zsh >>/etc/shells
|
sudo -v
|
||||||
chsh -s "$(command -v zsh)"
|
echo "switching to ZSH"
|
||||||
|
command -v zsh >>/etc/shells
|
||||||
|
chsh -s "$(command -v zsh)"
|
||||||
|
}
|
||||||
|
|
||||||
"$HOME/.scripts/sdkmandeps.sh"
|
# Use SDKMan to install development tools
|
||||||
"$HOME/.scripts/rubydeps.sh"
|
function installSDKMan() {
|
||||||
"$HOME/.scripts/bundlerdeps.sh"
|
echo "Installing SDKMan as development tools manager"
|
||||||
"$HOME/.scripts/ohmyzshdeps.sh"
|
curl -s "https://get.sdkman.io" | bash
|
||||||
"$HOME/.scripts/vimdeps.sh"
|
|
||||||
"$HOME/.scripts/load_macos_defaults.sh"
|
|
||||||
"$HOME/.scripts/configure_etc_hosts.sh"
|
|
||||||
"$HOME/.scripts/pythondeps.sh"
|
|
||||||
"$HOME/.scripts/install_baton.sh"
|
|
||||||
"$HOME/.scripts/rustdeps.sh"
|
|
||||||
"$HOME/.scripts/npmdeps.sh"
|
|
||||||
|
|
||||||
terraform-docs completion zsh >/usr/local/share/zsh/site-functions/_terraform-docs
|
echo "SDKMan installing development tools"
|
||||||
autoload -U compinit && compinit
|
sdk install java
|
||||||
|
sdk install gradle
|
||||||
|
sdk install java 8.0.222-zulu
|
||||||
|
sdk install kotlin
|
||||||
|
echo "SDKMan updating"
|
||||||
|
sdk selfupdate
|
||||||
|
}
|
||||||
|
function installRubyOnLinux() {
|
||||||
|
if [ "$IS_LINUX" = true ]; then
|
||||||
|
echo '(Linux) Installing ruby'
|
||||||
|
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
|
||||||
|
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
|
||||||
|
curl -L get.rvm.io | bash -s stable
|
||||||
|
source /etc/profile.d/rvm.sh
|
||||||
|
rvm reload
|
||||||
|
rvm requirements run
|
||||||
|
rvm install 2.3.7
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
"$HOME/.scripts/godeps.sh"
|
# Install bundler for managing ruby dependencies and Gemfile
|
||||||
"$HOME/.scripts/install_weavescope.sh"
|
function installBundler() {
|
||||||
"$HOME/.scripts/install_bashtop.sh"
|
echo "Installing bundler for managing ruby dependencies and Gemfile"
|
||||||
"$HOME/.scripts/install_awsls.sh"
|
sudo gem install bundler
|
||||||
"$HOME/.scripts/install_bach.sh" # Bash testing framework
|
bundle install
|
||||||
"$HOME/.scripts/install_broot.sh"
|
}
|
||||||
"$HOME/.scripts/configure_git_hooks.sh"
|
|
||||||
"$HOME/.scripts/upgrade.sh"
|
# Install Oh My Zsh and some cool dependencies
|
||||||
"$HOME/.scripts/reload.sh"
|
function installOhMyZsh() {
|
||||||
|
echo "Installing Oh My Zsh + customizing themes and plugins"
|
||||||
|
echo 'source /usr/local/opt/powerlevel10k/powerlevel10k.zsh-theme' ~/.zshrc >>!
|
||||||
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
||||||
|
git clone https://github.com/AlexisBRENON/oh-my-zsh-reminder "$ZSH_CUSTOM/plugins/reminder"
|
||||||
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$ZSH_CUSTOM/plugins/zsh-syntax-highlighting"
|
||||||
|
git clone https://github.com/zsh-users/zsh-autosuggestions "$ZSH_CUSTOM/plugins/zsh-autosuggestions"
|
||||||
|
ln -snf ~/Code/dotfiles/dot_zshrc ~/.zshrc
|
||||||
|
ln -snf ~/Code/dotfiles/dot_zshrc.pre-oh-my-zsh ~/.zshrc.pre-oh-my-zsh
|
||||||
|
}
|
||||||
|
function installVimPlugins() {
|
||||||
|
echo "Installing Vundle + VIM Plugins"
|
||||||
|
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
||||||
|
vim +'PluginInstall --sync' +qa >/dev/null
|
||||||
|
#https://github.com/ycm-core/YouCompleteMe/blob/master/README.md#installation
|
||||||
|
cd "$HOME/.vim/bundle/YouCompleteMe" || exit
|
||||||
|
./install.py --all
|
||||||
|
cd "$HOME" || exit
|
||||||
|
git clone https://github.com/dbeniamine/cheat.sh-vim.git ~/.vim/cheat.sh-vim
|
||||||
|
}
|
||||||
|
# Install no-more-secrets
|
||||||
|
function installNoMoreSecrets() {
|
||||||
|
echo "Installing no-more-secrets (for fun)"
|
||||||
|
git clone https://github.com/bartobri/no-more-secrets.git ~/Code/no-more-secrets
|
||||||
|
cd "$HOME/Code/no-more-secrets" || exit
|
||||||
|
make nms sneakers
|
||||||
|
sudo make install
|
||||||
|
cd "$HOME" || exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# OSX Defaults
|
||||||
|
function overrideMacOsDefaults() {
|
||||||
|
if [ "$IS_MAC" = true ]; then
|
||||||
|
echo "(Mac OS X) Loading preferences"
|
||||||
|
sudo sh .macos
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Customize /etc/hosts
|
||||||
|
function overrideEtcHosts() {
|
||||||
|
echo "Overriding /etc/hosts"
|
||||||
|
curl https://someonewhocares.org/hosts/hosts -o /etc/hosts
|
||||||
|
}
|
||||||
|
|
||||||
|
function installSoftware() {
|
||||||
|
# Install pip and pipenv
|
||||||
|
echo "Installing pip and pipenv"
|
||||||
|
sudo easy_install pip
|
||||||
|
sudo pip install --upgrade pip
|
||||||
|
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||||
|
sudo python3 get-pip.py
|
||||||
|
if [ "$IS_MAC" = true ]; then
|
||||||
|
echo "(Mac OS X) Updating PATH for loading pip user installed packages"
|
||||||
|
ln -snf /usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin/pip 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"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Upgrading pip"
|
||||||
|
sudo pip install --upgrade pip
|
||||||
|
echo "Pip installing stuff"
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
# was used for some slack cli in python... https://pypi.org/project/slack-cli/
|
||||||
|
# pip3 install pipenv
|
||||||
|
# pyenv install 3.6.0
|
||||||
|
|
||||||
|
# Install baton (CLI to manage Spotify playback) https://github.com/joshuathompson/baton
|
||||||
|
case "$(uname -s)" in
|
||||||
|
Darwin)
|
||||||
|
echo '(Mac OS X) Installing baton (spotify CLI)'
|
||||||
|
curl -sSL https://github.com/joshuathompson/baton/releases/download/0.1.7/baton-0.1.7-darwin-amd64 -o /usr/local/bin/baton && chmod +x /usr/local/bin/baton
|
||||||
|
;;
|
||||||
|
|
||||||
|
Linux)
|
||||||
|
echo '(Linux) Installing baton (spotify CLI)'
|
||||||
|
curl -sSL https://github.com/joshuathompson/baton/releases/download/0.1.7/baton-0.1.7-linux-amd64 -o /usr/local/bin/baton && chmod +x /usr/local/bin/baton
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo 'Non supported OS : Installation aborted for baton (spotify CLI)'
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Use rustup to install the Rust compiler (rustc) and the Rust package manager (cargo).
|
||||||
|
echo "Installing Rust compiler and package manager"
|
||||||
|
rustup-init -y
|
||||||
|
rustup component add rustfmt
|
||||||
|
# Install pa11y tool for local webpage accessibility analysis
|
||||||
|
echo "Installing pa11y tool for local webpage accessibility analysis"
|
||||||
|
npm install -g pa11y
|
||||||
|
|
||||||
|
git clone https://github.com/sherlock-project/sherlock.git ~/Code/sherlock
|
||||||
|
cd sherlock || exit
|
||||||
|
python3 -m pip install -r requirements.txt
|
||||||
|
|
||||||
|
git config --global init.templateDir ~/.git-template
|
||||||
|
pre-commit init-templatedir ~/.git-template
|
||||||
|
|
||||||
|
terraform-docs completion zsh >/usr/local/share/zsh/site-functions/_terraform-docs
|
||||||
|
autoload -U compinit && compinit
|
||||||
|
|
||||||
|
go get -u -v github.com/jessfraz/dockfmt
|
||||||
|
go get -u -v github.com/dmlittle/scenery
|
||||||
|
go get -u -v github.com/camptocamp/terraboard
|
||||||
|
|
||||||
|
sudo curl -L git.io/scope -o /usr/local/bin/scope
|
||||||
|
sudo chmod a+x /usr/local/bin/scope
|
||||||
|
}
|
||||||
|
|
||||||
|
# Upgrade
|
||||||
|
function upgradeSoftware() {
|
||||||
|
echo "Upgrading apps"
|
||||||
|
~/.scripts/upgrade.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Reload
|
||||||
|
function reloadConfig() {
|
||||||
|
echo "Reloading config"
|
||||||
|
~/.scripts/reload.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
function doIt() {
|
||||||
|
installLinuxPackages;
|
||||||
|
installBrew;
|
||||||
|
createSymbolicLinks;
|
||||||
|
installMacSoftware;
|
||||||
|
installLinuxSoftware;
|
||||||
|
switchToZsh;
|
||||||
|
installSDKMan;
|
||||||
|
installRubyOnLinux;
|
||||||
|
installBundler;
|
||||||
|
installOhMyZsh;
|
||||||
|
installVimPlugins;
|
||||||
|
installNoMoreSecrets;
|
||||||
|
overrideMacOsDefaults;
|
||||||
|
overrideEtcHosts;
|
||||||
|
installSoftware;
|
||||||
|
upgradeSoftware;
|
||||||
|
reloadConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
doIt;
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install bundler for managing ruby dependencies and Gemfile
|
|
||||||
echo "Installing bundler for managing ruby dependencies and Gemfile"
|
|
||||||
sudo gem install bundler
|
|
||||||
bundle install
|
|
@ -1,31 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
###
|
|
||||||
### checkci — checks a Jenkinsfile syntax against a real Jenkins instance
|
|
||||||
###
|
|
||||||
### Note: this script gets:
|
|
||||||
### the (jenkins) username from git config
|
|
||||||
### the (jenkins) password/secret from Environment variable $JENKINS_SECRET
|
|
||||||
### the (jenkins) URL from Environment variable $JENKINS_URL
|
|
||||||
###
|
|
||||||
### Usage:
|
|
||||||
### checkci.sh [jenkinsfile]
|
|
||||||
###
|
|
||||||
### Options:
|
|
||||||
### [input] path to Jenkinsfile (optional).
|
|
||||||
### -h Show this message.
|
|
||||||
|
|
||||||
help() {
|
|
||||||
gsed -rn 's/^### ?//;T;p' "$0"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $# == 0 ]] || [[ "$1" == "-h" ]]; then
|
|
||||||
help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
function _checkci() {
|
function _checkci() {
|
||||||
local username
|
local username
|
||||||
username="$(git config --global -l G "user.email" | cut -d'@' -f1 | cut -d'=' -f2)"
|
username="$(git config --global -l | grep "user.email" | cut -d'@' -f1 | cut -d'=' -f2)"
|
||||||
local jenkinsfile="${1:-Jenkinsfile}"
|
local jenkinsfile="${1:-Jenkinsfile}"
|
||||||
curl --user "$username:$JENKINS_SECRET" -X POST -F "jenkinsfile=<$jenkinsfile" "$JENKINS_URL/pipeline-model-converter/validate"
|
curl --user "$username:$JENKINS_SECRET" -X POST -F "jenkinsfile=<$jenkinsfile" "$JENKINS_URL/pipeline-model-converter/validate"
|
||||||
}
|
}
|
||||||
|
0
dot_scripts/cleanup.sh
Executable file → Normal file
0
dot_scripts/cleanup.sh
Executable file → Normal file
0
dot_scripts/configure.sh
Executable file → Normal file
0
dot_scripts/configure.sh
Executable file → Normal file
@ -1,4 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Customize /etc/hosts
|
|
||||||
echo "Overriding /etc/hosts"
|
|
||||||
curl https://someonewhocares.org/hosts/hosts -o /etc/hosts
|
|
@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copy pre-commit hooks
|
|
||||||
cd "$HOME/Code/dotfiles" || exit
|
|
||||||
git config --global init.templateDir ~/.git-template
|
|
||||||
pre-commit init-templatedir ~/.git-template
|
|
||||||
copyhooks
|
|
@ -1,166 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
"""
|
|
||||||
Origin : https://github.com/qznc/dot/blob/master/bin/git-overview
|
|
||||||
Gather a general overview from a git repository.
|
|
||||||
It shall identify the major contributors within a project.
|
|
||||||
It shall identify interesting parts in the code.
|
|
||||||
"""
|
|
||||||
|
|
||||||
from subprocess import check_output
|
|
||||||
from datetime import datetime
|
|
||||||
from os.path import splitext
|
|
||||||
|
|
||||||
_CMD_AUTHOR_HISTORY = 'git log --date=iso --format="format:%an;%ad;%G?;%H"'
|
|
||||||
_CMD_FILELIST = "git ls-files"
|
|
||||||
_CMD_COMMIT_FILES_CHANGES = "git diff-tree --no-commit-id --name-only -r "
|
|
||||||
|
|
||||||
from collections import namedtuple
|
|
||||||
|
|
||||||
FileInfo = namedtuple("FileInfo", "path,authors,commits,firstc,lastc")
|
|
||||||
|
|
||||||
|
|
||||||
def read_log_data():
|
|
||||||
total_commits = 0
|
|
||||||
authors = dict()
|
|
||||||
files = dict()
|
|
||||||
raw = check_output(_CMD_AUTHOR_HISTORY, shell=True, universal_newlines=True)
|
|
||||||
for line in raw.split("\n"):
|
|
||||||
total_commits += 1
|
|
||||||
name, dt, signed, hash = line.split(";")
|
|
||||||
if not name in authors:
|
|
||||||
authors[name] = (datetime.now(), datetime(1900, 1, 1), 0)
|
|
||||||
first, last, count = authors[name]
|
|
||||||
when = datetime.strptime(dt[:-6], "%Y-%m-%d %H:%M:%S")
|
|
||||||
if when < first:
|
|
||||||
first = when
|
|
||||||
if when > last:
|
|
||||||
last = when
|
|
||||||
authors[name] = (first, last, count + 1)
|
|
||||||
craw = check_output(
|
|
||||||
_CMD_COMMIT_FILES_CHANGES + hash, shell=True, universal_newlines=True
|
|
||||||
)
|
|
||||||
for file in craw.split("\n"):
|
|
||||||
if file == "":
|
|
||||||
continue
|
|
||||||
if file in files:
|
|
||||||
fi = files[file]
|
|
||||||
else:
|
|
||||||
files[file] = fi = dict(
|
|
||||||
path=file,
|
|
||||||
authors=set(),
|
|
||||||
commits=0,
|
|
||||||
firstc=datetime.now(),
|
|
||||||
lastc=datetime(1900, 1, 1),
|
|
||||||
)
|
|
||||||
fi["authors"].add(name)
|
|
||||||
fi["commits"] += 1
|
|
||||||
if when < fi["firstc"]:
|
|
||||||
fi["firstc"] = when
|
|
||||||
if when > fi["lastc"]:
|
|
||||||
fi["lastc"] = when
|
|
||||||
return authors, files, total_commits
|
|
||||||
|
|
||||||
|
|
||||||
def readable_duration(dur):
|
|
||||||
"""Given a timedelta object, returns a human-readable string"""
|
|
||||||
if dur.days > 0:
|
|
||||||
if dur.days > 365 * 2:
|
|
||||||
return "%d years" % (dur.days / 365)
|
|
||||||
elif dur.days > 30 * 5:
|
|
||||||
return "%d months" % (dur.days / 30)
|
|
||||||
else:
|
|
||||||
return "%d days" % (dur.days)
|
|
||||||
else:
|
|
||||||
if dur.seconds > 60 * 60 * 2:
|
|
||||||
return "%d hours" % (dur.seconds / 60 / 60)
|
|
||||||
elif dur.seconds > 60 * 5:
|
|
||||||
return "%d minutes" % (dur.seconds / 60)
|
|
||||||
else:
|
|
||||||
return "%d seconds" % (dur.seconds)
|
|
||||||
|
|
||||||
|
|
||||||
def partition_by_extension(fileinfo):
|
|
||||||
pd = dict()
|
|
||||||
meta = dict()
|
|
||||||
total_filecount = 0
|
|
||||||
total_extfilecount = 0
|
|
||||||
for path, fi in fileinfo.items():
|
|
||||||
total_filecount += 1
|
|
||||||
root, ext = splitext(path)
|
|
||||||
if not ext:
|
|
||||||
continue
|
|
||||||
total_extfilecount += 1
|
|
||||||
if not ext in pd:
|
|
||||||
pd[ext] = dict()
|
|
||||||
meta[ext] = dict(filecount=0)
|
|
||||||
pd[ext][path] = fi
|
|
||||||
meta[ext]["filecount"] += 1
|
|
||||||
return pd, meta, total_filecount, total_extfilecount
|
|
||||||
|
|
||||||
|
|
||||||
def print_top_committers(authorinfo, total_commits):
|
|
||||||
authors = sorted(authorinfo.items(), key=lambda x: x[1][2], reverse=True)
|
|
||||||
total_authors = len(authors)
|
|
||||||
committed = 0
|
|
||||||
print("Top Committers (of %d authors):" % (total_authors))
|
|
||||||
for author, info in authors:
|
|
||||||
first, last, count = info
|
|
||||||
readable_last = last.strftime("%Y-%m-%d")
|
|
||||||
if count == 1:
|
|
||||||
print("%-20s 1 commit on %s" % (author, readable_last))
|
|
||||||
else:
|
|
||||||
duration = readable_duration(last - first)
|
|
||||||
print(
|
|
||||||
"%-20s %4d commits during %s until %s"
|
|
||||||
% (author, count, duration, readable_last)
|
|
||||||
)
|
|
||||||
committed += count
|
|
||||||
if committed > total_commits * 0.8:
|
|
||||||
break
|
|
||||||
print(
|
|
||||||
" together these authors have 80+%% of the commits (%d/%d)"
|
|
||||||
% (committed, total_commits)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def print_important_files(fileinfo):
|
|
||||||
files = list(fileinfo.values())
|
|
||||||
files.sort(key=lambda x: x["commits"])
|
|
||||||
print("Files with most commits:")
|
|
||||||
for x in files[-5:]:
|
|
||||||
readable_last = x["lastc"].strftime("%Y-%m-%d")
|
|
||||||
duration = readable_duration(x["lastc"] - x["firstc"])
|
|
||||||
print(
|
|
||||||
"%4d commits: %-20s during %s until %s"
|
|
||||||
% (x["commits"], x["path"], duration, readable_last)
|
|
||||||
)
|
|
||||||
print()
|
|
||||||
files.sort(key=lambda x: len(x["authors"]))
|
|
||||||
print("Files with most authors:")
|
|
||||||
for x in files[-5:]:
|
|
||||||
print("%2d authors: %-20s" % (len(x["authors"]), x["path"]))
|
|
||||||
|
|
||||||
|
|
||||||
def print_extension_info(fileinfo):
|
|
||||||
pfileinfo, extinfo, total_filecount, total_extfilecount = partition_by_extension(
|
|
||||||
fileinfo
|
|
||||||
)
|
|
||||||
pf = [(e, i) for e, i in pfileinfo.items()]
|
|
||||||
pf.sort(key=lambda x: extinfo[x[0]]["filecount"], reverse=True)
|
|
||||||
print("By file extension:")
|
|
||||||
fc = 0
|
|
||||||
for ext, info in pf:
|
|
||||||
c = extinfo[ext]["filecount"]
|
|
||||||
print("%5s: %d files" % (ext, extinfo[ext]["filecount"]))
|
|
||||||
fc += c
|
|
||||||
if fc > total_filecount * 0.8:
|
|
||||||
break
|
|
||||||
print(" together these make up 80+%% of the files (%d/%d)" % (fc, total_filecount))
|
|
||||||
|
|
||||||
|
|
||||||
authorinfo, fileinfo, total_commits = read_log_data()
|
|
||||||
print_top_committers(authorinfo, total_commits)
|
|
||||||
print()
|
|
||||||
print_important_files(fileinfo)
|
|
||||||
print()
|
|
||||||
print_extension_info(fileinfo)
|
|
@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
go get -u -v github.com/jessfraz/dockfmt
|
|
||||||
go get -u -v github.com/dmlittle/scenery
|
|
||||||
go get -u -v github.com/camptocamp/terraboard
|
|
||||||
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/keilerkonzept/terraform-module-versions # detect new terraform modules versions
|
|
||||||
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
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install awsls
|
|
||||||
BINDIR="/usr/local/bin" curl -sSfL https://raw.githubusercontent.com/jckuester/awsls/master/install.sh | sh -s v0.1.2
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/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 "$_"
|
|
@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install bashtop (until brew manages it)
|
|
||||||
git clone https://github.com/aristocratos/bashtop.git ~/Code/bashtop
|
|
||||||
cd ~/Code/bashtop || exit
|
|
||||||
sudo make install
|
|
||||||
cd "$HOME" || exit
|
|
@ -1,17 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install baton (CLI to manage Spotify playback) https://github.com/joshuathompson/baton
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin)
|
|
||||||
echo '(Mac OS X) Installing baton (Spotify CLI)'
|
|
||||||
curl -sSL https://github.com/joshuathompson/baton/releases/download/0.1.7/baton-0.1.7-darwin-amd64 -o /usr/local/bin/baton && chmod +x /usr/local/bin/baton
|
|
||||||
;;
|
|
||||||
|
|
||||||
Linux)
|
|
||||||
echo '(Linux) Installing baton (Spotify CLI)'
|
|
||||||
curl -sSL https://github.com/joshuathompson/baton/releases/download/0.1.7/baton-0.1.7-linux-amd64 -o /usr/local/bin/baton && chmod +x /usr/local/bin/baton
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo 'Non supported OS : Installation aborted for baton (Spotify CLI)'
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,4 +0,0 @@
|
|||||||
#!/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
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Install HomeBrew
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin)
|
|
||||||
echo "(Mac OS X) installing homebrew"
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
# Prevent `Error: Your Homebrew is outdated. Please run `brew update`.`
|
|
||||||
echo "Updating Homebrew"
|
|
||||||
brew update
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Install missing package (Linux)
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Linux)
|
|
||||||
echo "(Linux) Installing Development Tools"
|
|
||||||
yum install sudo -y
|
|
||||||
sudo yum groupinstall 'Development Tools' -y
|
|
||||||
sudo yum install git which zip unzip ruby curl file docker gcc make libxcrypt-compat vim-enhanced -y
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install dependencies (apps, fonts, ...) for CentOS
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Linux)
|
|
||||||
echo "(CentOS) Installing stuff (apps, ...)"
|
|
||||||
chmod +x ~/Code/dotfiles/centos.sh
|
|
||||||
~/Code/dotfiles/centos.sh
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Install dependencies (apps, fonts, ...) with Brew
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin)
|
|
||||||
echo "(Mac OS X) Brew installing stuff (apps, fonts, ...)"
|
|
||||||
ln -snf ~/Code/dotfiles/Brewfile ~/Brewfile
|
|
||||||
brew bundle
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Weave Scope is a visualization and monitoring tool for Docker and Kubernetes.
|
|
||||||
sudo curl -L git.io/scope -o /usr/local/bin/scope
|
|
||||||
sudo chmod a+x /usr/local/bin/scope
|
|
||||||
#scope launch
|
|
3
dot_scripts/installed.sh
Executable file → Normal file
3
dot_scripts/installed.sh
Executable file → Normal file
@ -1,3 +1,2 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source $HOME/Code/dotfiles/dot_zsh_aliases
|
npm list -g --depth 0
|
||||||
npmlist
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# OSX Defaults
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin)
|
|
||||||
echo "(Mac OS X) Loading preferences"
|
|
||||||
sudo sh "$HOME/.macos"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/com.googlecode.iterm2.plist" "$HOME/com.googlecode.iterm2.plist"
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,24 +0,0 @@
|
|||||||
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
|
|
@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Install pa11y tool for local webpage accessibility analysis
|
|
||||||
echo "Installing pa11y tool for local webpage accessibility analysis"
|
|
||||||
npm install -g pa11y
|
|
||||||
echo "Installing moro, a productivity CLI tool"
|
|
||||||
npm install -g moro
|
|
||||||
echo "Install wiki CLI tool"
|
|
||||||
npm install -g wikit
|
|
||||||
echo "Install Write-good CLI spell checker"
|
|
||||||
npm install -g write-good
|
|
||||||
echo "Install Alex a text linter"
|
|
||||||
npm install -g alex
|
|
||||||
|
|
||||||
cd "$HOME" || exit
|
|
@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install Oh My Zsh and some cool dependencies
|
|
||||||
echo "Installing Oh My Zsh + customizing themes and plugins"
|
|
||||||
echo 'source /usr/local/opt/powerlevel10k/powerlevel10k.zsh-theme' ~/.zshrc >>!
|
|
||||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
|
||||||
git clone https://github.com/AlexisBRENON/oh-my-zsh-reminder "$ZSH_CUSTOM/plugins/reminder"
|
|
||||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$ZSH_CUSTOM/plugins/zsh-syntax-highlighting"
|
|
||||||
git clone https://github.com/zsh-users/zsh-autosuggestions "$ZSH_CUSTOM/plugins/zsh-autosuggestions"
|
|
||||||
ln -snf ~/Code/dotfiles/dot_zshrc ~/.zshrc
|
|
||||||
ln -snf ~/Code/dotfiles/dot_zshrc.pre-oh-my-zsh ~/.zshrc.pre-oh-my-zsh
|
|
@ -1,31 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# An example hook script to verify what is about to be committed.
|
|
||||||
# Called by "git commit" with no arguments. The hook should
|
|
||||||
# exit with non-zero status after issuing an appropriate message if
|
|
||||||
# it wants to stop the commit.
|
|
||||||
|
|
||||||
# shellcheck disable=SC1090
|
|
||||||
source "$HOME/.zsh_functions"
|
|
||||||
source "$HOME/.scripts/secrets.sh"
|
|
||||||
|
|
||||||
REMOTE=$(git config --get remote.origin.url)
|
|
||||||
USERNAME=$(git config --get user.name)
|
|
||||||
EMAIL=$(git config --get user.email)
|
|
||||||
checkEmailUsername() {
|
|
||||||
if [[ "$EMAIL" != "$1" ]]; then
|
|
||||||
warning "Invalid email: $EMAIL for remote $REMOTE"
|
|
||||||
arrow "fix this by running :\ngit config user.email $1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ "$USERNAME" != "$2" ]]; then
|
|
||||||
warning "Invalid username: $USERNAME for remote $REMOTE"
|
|
||||||
arrow "fix this by running :\ngit config user.name \"$2\""
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
if [[ $REMOTE == *"$COMPANY_NAME"* ]] && [[ "$REMOTE" != *"dotfiles"* ]]; then
|
|
||||||
checkEmailUsername "$GIT_PRO_EMAIL" "$GIT_PRO_USER"
|
|
||||||
else
|
|
||||||
checkEmailUsername "$GIT_PERSONAL_EMAIL" "$GIT_PERSONAL_USER"
|
|
||||||
fi
|
|
@ -1,31 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Install pip and pipenv
|
|
||||||
echo "Installing pip and pipenv"
|
|
||||||
sudo easy_install pip
|
|
||||||
sudo pip install --upgrade pip
|
|
||||||
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
|
||||||
sudo python3 get-pip.py
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin)
|
|
||||||
echo "(Mac OS X) Updating PATH for loading pip user installed packages"
|
|
||||||
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/"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if ! test -f "/usr/bin/python2" || ! command -v python2 &>/dev/null; then
|
|
||||||
sudo ln -snf /usr/bin/python /usr/bin/python2
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Upgrading pip"
|
|
||||||
sudo pip install --upgrade pip
|
|
||||||
echo "Pip installing stuff"
|
|
||||||
pip install -r requirements.txt
|
|
||||||
|
|
||||||
# was used for some slack CLI in python... https://pypi.org/project/slack-cli/
|
|
||||||
# pip3 install pipenv
|
|
||||||
# pyenv install 3.6.0
|
|
||||||
|
|
||||||
git clone https://github.com/sherlock-project/sherlock.git ~/Code/sherlock
|
|
||||||
cd sherlock || exit
|
|
||||||
python3 -m pip install -r requirements.txt
|
|
@ -1,19 +1,13 @@
|
|||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env zsh
|
||||||
export SDKMAN_DIR="$HOME/.sdkman"
|
export SDKMAN_DIR="$HOME/.sdkman"
|
||||||
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
||||||
|
|
||||||
# shellcheck disable
|
|
||||||
|
|
||||||
# Reload
|
|
||||||
echo "Reloading config"
|
|
||||||
|
|
||||||
chmod +x ~/.scripts/*.sh
|
chmod +x ~/.scripts/*.sh
|
||||||
source ~/.zshrc
|
source ~/.zshrc
|
||||||
sdk use java 8.0.222-zulu
|
sdk use java 8.0.222-zulu
|
||||||
|
|
||||||
# Homebrew reloading stuff
|
# Homebrew reloading stuff
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Darwin)
|
Darwin)
|
||||||
echo "(Mac OS X) Homebrew reloading stuff"
|
echo "(Mac OS X) Homebrew reloading stuff"
|
||||||
brew bundle
|
brew bundle
|
||||||
;;
|
;;
|
||||||
@ -21,7 +15,7 @@ esac
|
|||||||
|
|
||||||
# OSX Defaults
|
# OSX Defaults
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Darwin)
|
Darwin)
|
||||||
sudo sh .macos
|
sudo sh .macos
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
echo 'Installing ruby'
|
|
||||||
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
|
|
||||||
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
|
|
||||||
curl -L get.rvm.io | bash -s stable
|
|
||||||
source /etc/profile.d/rvm.sh
|
|
||||||
rvm reload
|
|
||||||
rvm requirements run
|
|
||||||
rvm install 2.3.7
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Use rustup to install the Rust compiler (rustc) and the Rust package manager (cargo).
|
|
||||||
echo "Installing Rust compiler and package manager"
|
|
||||||
rustup-init -y
|
|
||||||
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
|
|
@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Use SDKMan to install development tools
|
|
||||||
echo "Installing SDKMan as development tools manager"
|
|
||||||
curl -s "https://get.sdkman.io" | bash
|
|
||||||
|
|
||||||
# Install missing package (Linux)
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Linux)
|
|
||||||
source "/root/.sdkman/bin/sdkman-init.sh"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "SDKMan installing development tools"
|
|
||||||
sdk install java
|
|
||||||
sdk install gradle
|
|
||||||
sdk install java 8.0.222-zulu
|
|
||||||
sdk install kotlin
|
|
||||||
echo "SDKMan updating"
|
|
||||||
sdk selfupdate
|
|
@ -1,33 +0,0 @@
|
|||||||
#!/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
|
|
||||||
}
|
|
@ -1,50 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
function suggest_readable_parameters() {
|
|
||||||
while read -r command_name; do
|
|
||||||
arrow "searching for usage of $command_name"
|
|
||||||
|
|
||||||
if [[ $(top_commands_full "\b$command_name\b" 50 &>/dev/null | wc -l | trim) -gt 30 ]]; then
|
|
||||||
# arrow "$command_name appears frequently in your history"
|
|
||||||
|
|
||||||
# FIXME : skip false positives like file -> "$file"
|
|
||||||
# FIXME : skip false positives like parameter found "-" in sort --key 4 --numeric-sort --reverse
|
|
||||||
# TODO : bring support for shell functions aliased to anything providing a real manual
|
|
||||||
# e.g : checkov should be taken into account but github should not
|
|
||||||
# TODO : bring support for backslashed functions (e.g : \egrep)
|
|
||||||
# FIXME : alex --quiet is not detected
|
|
||||||
# TODO : support research of command usage when parameters of command appear after command arguments, like : path_swilgt=$(find /usr/local/Cellar/logtalk -name "*swilgt.sh"dev/null)
|
|
||||||
# TODO : support sub commands like in git ls-tree where ls-tree is a subcommand with its own manual : git ls-tree -r --long; or npm install -g <package> where -g is a valid option for npm install
|
|
||||||
|
|
||||||
if [[ $(LC_ALL=C type "$command_name") != *"alias for"* && $(LC_ALL=C type "$command_name") != *"is a shell function"* ]] && [[ $($command_name --help &>/dev/null) -eq 0 || $(info $command_name &>/dev/null) -eq 0 ]]; then
|
|
||||||
while read -r command_usage; do
|
|
||||||
arrow "searching for parameters in: $command_usage "
|
|
||||||
echo "$command_usage" | \grep -Eo "\b$command_name\b (\-[a-zA-Z0-9]*)" H -1 | tr -d '-' | awk -v COUNT=1 'NF=COUNT' 1>/dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
while read -r command_parameters; do
|
|
||||||
success "($command_name) -> found parameters : $command_parameters"
|
|
||||||
while read -r parameter_name; do
|
|
||||||
echo "($command_name $command_parameters) -> check more readable alternative to $parameter_name"
|
|
||||||
$command_name --help 2>/dev/null | \egrep -wo "(\-$parameter_name), --.*" 1>/dev/null # | \grep "\-$parameter_name"
|
|
||||||
local provides_help=$?
|
|
||||||
info $command_name 2>/dev/null | \egrep -wo "(\-$parameter_name), --.*" 1>/dev/null # | \grep "\-$parameter_name"
|
|
||||||
local provides_manual=$?
|
|
||||||
|
|
||||||
if [ "$provides_help" -eq 0 ]; then
|
|
||||||
success "($command_name -$parameter_name) -> found better alternative to $parameter_name in $command_usage:"
|
|
||||||
$command_name --help | \egrep -wo "(\-$parameter_name), --.*"
|
|
||||||
fi
|
|
||||||
if [ "$provides_manual" -eq 0 ]; then
|
|
||||||
success "($command_name -$parameter_name) -> found better alternative to $parameter_name in $command_usage:"
|
|
||||||
info $command_name 2>/dev/null | \egrep -wo "(\-$parameter_name), --.*"
|
|
||||||
fi
|
|
||||||
done < <(echo "$command_parameters" H -1 | tr -d '-' | fold -w 1)
|
|
||||||
done < <(echo "$command_usage" | \grep -Po "(?<=\b$command_name\b )(\-[a-zA-Z0-9]*)" | sort -u)
|
|
||||||
fi
|
|
||||||
done < <(grep -H -n "\b$command_name\b" "$@")
|
|
||||||
else
|
|
||||||
#error "$command_name is not a valid command or does not provide a manual"
|
|
||||||
true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done < <(top_commands "" 1000 | awk '{print $4}' G "^[\\\\]?[a-z]+$" | sort -u)
|
|
||||||
}
|
|
@ -1,59 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
echo "Creating symbolic links"
|
|
||||||
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_profile" "$HOME/.profile"
|
|
||||||
ln -snf "$HOME/.local/share/chezmoi/" "$HOME/dotfiles"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/Gemfile" "$HOME/Gemfile"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/README.md" "$HOME/README.md"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_bash_profile" "$HOME/.bash_profile"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_gitconfig" "$HOME/.gitconfig"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_macos" "$HOME/.macos"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_scripts" "$HOME/.scripts"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_scripts/checkci.sh" /usr/local/bin/checkci
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_scripts/git-overview.py" /usr/local/bin/git-overview # via https://github.com/qznc/dot/blob/master/bin/git-overview
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_scripts/pre-commit-verify-committer.sh" /usr/local/bin/pre-commit-verify-committer
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_vimrc" "$HOME/.vimrc"
|
|
||||||
# custom linters
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_vim/ale_linters" "$HOME/.vim/ale_linters"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_aliases" "$HOME/.aliases"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_zsh_aliases" "$HOME/.zsh_aliases"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_zsh_functions" "$HOME/.zsh_functions"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_zshrc" "$HOME/.zshrc"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_zshrc.pre-oh-my-zsh" "$HOME/.zshrc.pre-oh-my-zsh"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_ssh/config" "$HOME/.ssh/config"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/requirements.txt" "$HOME/requirements.txt"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_surfraw.conf" "$HOME/.surfraw.conf"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_3llo/config.sh" "$HOME/.3llo_config"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_ansiweatherrc" "$HOME/.ansiweatherrc"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_p10k.zsh" "$HOME/.p10k.zsh"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_git-template" "$HOME/.git-template"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_newsboat" "$HOME/.newsboat"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/Code" "$HOME/.config/Code"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/neofetch" "$HOME/.config/neofetch"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/gh" "$HOME/.config/gh"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/htop" "$HOME/.config/htop"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/bashtop" "$HOME/.config/bashtop"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/wtf" "$HOME/.config/wtf"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/private_dot_config/yamllint" "$HOME/.config/yamllint"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_git-template/.pre-commit-config.yaml" "$HOME/dotfiles/.pre-commit-config.yaml"
|
|
||||||
|
|
||||||
# Aspell symbolic links
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_aspell.en.prepl" "$HOME/.aspell.en.prepl"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_aspell.en.pws" "$HOME/.aspell.en.pws"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_aspell.fr.prepl" "$HOME/.aspell.fr.prepl"
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_aspell.fr.pws" "$HOME/.aspell.fr.pws"
|
|
||||||
|
|
||||||
# Vim spellcheck will be based on aspell :-)
|
|
||||||
ln -snf "$HOME/Code/dotfiles/dot_aspell.en.pws" "$HOME/.vim/spell/en.utf-8.add"
|
|
||||||
|
|
||||||
# Other symbolic links + Install Docker Desktop for Mac
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin)
|
|
||||||
echo "(Mac OS X) Adding symbolic links"
|
|
||||||
ln -snf "$HOME/.config/Code/User/settings.json" "$HOME/Library/Application Support/Code/User/settings.json"
|
|
||||||
ln -snf "$HOME/Library/Mobile Documents/com~apple~CloudDocs/Mackup/Library/Application Support/Code/User/snippets" "$HOME/Library/Application Support/Code/User/snippets"
|
|
||||||
ln -snf "$HOME/Library/Mobile Documents/com~apple~CloudDocs/Mackup/.mackup.cfg" "$HOME/.mackup.cfg"
|
|
||||||
echo "(Mac OS X) Installing Docker"
|
|
||||||
~/.scripts/install_docker_for_mac.sh
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -3,9 +3,6 @@ export SDKMAN_DIR="$HOME/.sdkman"
|
|||||||
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
||||||
sdk selfupdate
|
sdk selfupdate
|
||||||
|
|
||||||
# Upgrade
|
|
||||||
echo "Upgrading apps"
|
|
||||||
|
|
||||||
# Upgrading HomeBrew stuff
|
# Upgrading HomeBrew stuff
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Darwin)
|
Darwin)
|
||||||
@ -19,13 +16,11 @@ 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 || upgrade_oh_my_zsh
|
zsh ~/.oh-my-zsh/tools/upgrade.sh
|
||||||
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 | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
|
||||||
pip freeze >~/requirements.txt
|
pip freeze >~/requirements.txt
|
||||||
# Update VIM plugins installed via Vundle https://github.com/VundleVim/Vundle.vim
|
# Update VIM plugins installed via Vundle https://github.com/VundleVim/Vundle.vim
|
||||||
vim +PluginUpdate +qall >/dev/null
|
vim +PluginUpdate +qall >/dev/null
|
||||||
rustup update
|
rustup-update
|
||||||
npm update -g moro
|
|
||||||
pre-commit autoupdate
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
vim --version H -1
|
vim --version | head -1
|
||||||
rustc --version
|
rustc --version
|
||||||
npm --version
|
npm --version
|
||||||
bats --version
|
bats --version
|
||||||
@ -19,12 +19,12 @@ python3 --version
|
|||||||
docker --version
|
docker --version
|
||||||
openssl version
|
openssl version
|
||||||
git --version
|
git --version
|
||||||
atlas-version G Version H -n 1
|
atlas-version | grep Version | head -n 1
|
||||||
|
|
||||||
export SDKMAN_DIR="$HOME/.sdkman"
|
export SDKMAN_DIR="$HOME/.sdkman"
|
||||||
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
||||||
sdk --version
|
sdk --version
|
||||||
tac --version H -n 1
|
tac --version | head -n 1
|
||||||
k9s version
|
k9s version
|
||||||
tfsec --version
|
tfsec --version
|
||||||
aws-iam-authenticator version
|
aws-iam-authenticator version
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
echo "Installing Vundle + VIM Plugins"
|
|
||||||
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
|
||||||
vim +PluginInstall +qall >/dev/null
|
|
||||||
#https://github.com/ycm-core/YouCompleteMe/blob/master/README.md#installation
|
|
||||||
cd "$HOME/.vim/bundle/YouCompleteMe" || exit
|
|
||||||
./install.py --all
|
|
||||||
mkdir -p "$HOME/.vim/spell"
|
|
||||||
|
|
||||||
cd "$HOME" || exit
|
|
||||||
git clone https://github.com/dbeniamine/cheat.sh-vim.git ~/.vim/cheat.sh-vim
|
|
50
dot_vimrc
50
dot_vimrc
@ -45,12 +45,6 @@ Plugin 'tpope/vim-fugitive'
|
|||||||
Plugin 'scrooloose/nerdtree'
|
Plugin 'scrooloose/nerdtree'
|
||||||
" A plugin of NERDTree showing git status
|
" A plugin of NERDTree showing git status
|
||||||
Plugin 'Xuyuanp/nerdtree-git-plugin'
|
Plugin 'Xuyuanp/nerdtree-git-plugin'
|
||||||
" Vim plugin for intensely nerdy commenting powers
|
|
||||||
" In order to use it for instance, for commenting a block of text... do as :
|
|
||||||
" - Select several lines (using <V>)
|
|
||||||
" - Press <SPACE> then <cs>
|
|
||||||
Plugin 'preservim/nerdcommenter'
|
|
||||||
|
|
||||||
" A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks and partial hunks.
|
" A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks and partial hunks.
|
||||||
Plugin 'airblade/vim-gitgutter'
|
Plugin 'airblade/vim-gitgutter'
|
||||||
" Jenkinsfile DSL Vim Syntax
|
" Jenkinsfile DSL Vim Syntax
|
||||||
@ -63,14 +57,6 @@ Plugin 'mbbill/undotree'
|
|||||||
Plugin 'farmergreg/vim-lastplace'
|
Plugin 'farmergreg/vim-lastplace'
|
||||||
" Add icons to your plugins
|
" Add icons to your plugins
|
||||||
Plugin 'ryanoasis/vim-devicons'
|
Plugin 'ryanoasis/vim-devicons'
|
||||||
" Prettier to auto format some files
|
|
||||||
Plugin 'mitermayer/vim-prettier'
|
|
||||||
" Enable OpenAI based text completion
|
|
||||||
Plugin 'jessfraz/openai.vim'
|
|
||||||
" TabNine for code completion
|
|
||||||
Plugin 'zxqfl/tabnine-vim'
|
|
||||||
" read man pages from vim, e.g : SuperMan ls. inspired by https://catonmat.net/read-man-pages-with-vim
|
|
||||||
Plugin 'jez/vim-superman'
|
|
||||||
|
|
||||||
" All of your Plugins must be added before the following line
|
" All of your Plugins must be added before the following line
|
||||||
call vundle#end()
|
call vundle#end()
|
||||||
@ -111,28 +97,12 @@ let g:ale_use_global_executables = 1
|
|||||||
let g:ale_fix_on_save = 1
|
let g:ale_fix_on_save = 1
|
||||||
let g:ale_completion_enabled = 1
|
let g:ale_completion_enabled = 1
|
||||||
let g:ale_open_list = 1
|
let g:ale_open_list = 1
|
||||||
"\ 'yaml': ['prettier'],
|
let g:ale_fixers = {
|
||||||
|
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
|
||||||
"let g:ale_fixers = {
|
\ 'python': ['black'],
|
||||||
"\ '*': ['remove_trailing_lines', 'trim_whitespace'],
|
\ 'rust': ['rustfmt'],
|
||||||
"\ 'python': ['black'],
|
\ 'Jenkinsfile': ['checkci'],
|
||||||
"\ 'rust': ['rustfmt'],
|
\}
|
||||||
"\ 'Jenkinsfile': ['checkci'],
|
|
||||||
"\ 'sh' : ['shfmt'],
|
|
||||||
"\ 'zsh' : ['shfmt'],
|
|
||||||
"\}
|
|
||||||
|
|
||||||
let g:ale_linters = {'zsh': ['shellcheck'], 'text': ['writegood', 'proselint', 'alex']}
|
|
||||||
|
|
||||||
" when running at every change you may want to disable quickfix
|
|
||||||
let g:prettier#quickfix_enabled = 0
|
|
||||||
let g:prettier#quickfix_auto_focus = 1
|
|
||||||
let g:prettier#config#print_width = '30'
|
|
||||||
let g:prettier#exec_cmd_path = "/usr/local/bin/prettier"
|
|
||||||
let g:prettier#autoformat = 0
|
|
||||||
let g:prettier#autoformat_require_pragma = 0
|
|
||||||
|
|
||||||
"autocmd TextChanged,InsertLeave *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync
|
|
||||||
|
|
||||||
" Enable syntax highlighting
|
" Enable syntax highlighting
|
||||||
syntax on
|
syntax on
|
||||||
@ -180,16 +150,12 @@ set tabstop=4
|
|||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
" On pressing tab, insert 4 spaces
|
" On pressing tab, insert 4 spaces
|
||||||
set expandtab
|
set expandtab
|
||||||
" Enable spell checking
|
|
||||||
set spell
|
|
||||||
|
|
||||||
" Default colors for highlighting search result
|
" Default colors for highlighting search result
|
||||||
hi Search ctermfg=White
|
hi Search ctermfg=White
|
||||||
hi Search ctermbg=DarkMagenta
|
hi Search ctermbg=DarkMagenta
|
||||||
|
|
||||||
" test cheat.sh integration with VIM
|
" test cheat.sh integration with VIM
|
||||||
" In any source file, type a query "e.g : how to append ... in python" then
|
|
||||||
" exit insert mode, and press <SPACE> then <KK>
|
|
||||||
let mapleader=" "
|
let mapleader=" "
|
||||||
|
|
||||||
" map a specific key or shortcut to open NERDTree
|
" map a specific key or shortcut to open NERDTree
|
||||||
@ -207,9 +173,6 @@ let g:syntastic_javascript_checkers = [ 'jshint' ]
|
|||||||
let g:syntastic_ocaml_checkers = ['merlin']
|
let g:syntastic_ocaml_checkers = ['merlin']
|
||||||
let g:syntastic_python_checkers = ['pylint']
|
let g:syntastic_python_checkers = ['pylint']
|
||||||
let g:syntastic_shell_checkers = ['shellcheck']
|
let g:syntastic_shell_checkers = ['shellcheck']
|
||||||
let g:syntastic_yaml_checkers = ['yamllint']
|
|
||||||
let g:syntastic_vim_checkers = ['vint']
|
|
||||||
let g:syntastic_zsh_checkers = ['shellcheck']
|
|
||||||
|
|
||||||
set statusline+=%#warningmsg#
|
set statusline+=%#warningmsg#
|
||||||
set statusline+=%{SyntasticStatuslineFlag()}
|
set statusline+=%{SyntasticStatuslineFlag()}
|
||||||
@ -220,4 +183,3 @@ let g:syntastic_auto_loc_list = 1
|
|||||||
let g:syntastic_check_on_open = 1
|
let g:syntastic_check_on_open = 1
|
||||||
let g:syntastic_check_on_wq = 0
|
let g:syntastic_check_on_wq = 0
|
||||||
au BufNewFile,BufRead Jenkinsfile setf groovy
|
au BufNewFile,BufRead Jenkinsfile setf groovy
|
||||||
au BufRead,BufNewFile *.sh setfiletype sh
|
|
||||||
|
187
dot_zsh_aliases
187
dot_zsh_aliases
@ -1,30 +1,56 @@
|
|||||||
# Example aliases
|
# Example aliases
|
||||||
# alias zshconfig="mate $HOME/.zshrc"
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
# alias ohmyzsh="mate $HOME/.oh-my-zsh"
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
#
|
#
|
||||||
|
|
||||||
chmod +x $HOME/.aliases/*
|
# Git, dotfiles, ripgrep, Node.JS
|
||||||
|
alias gcls='git clone --depth 1 --recurse-submodules'
|
||||||
# Git
|
alias cm='chezmoi'
|
||||||
source "$HOME/.aliases/git.sh"
|
alias grep='rg'
|
||||||
|
alias npmlist='npm list -g --depth 0'
|
||||||
# Docker
|
alias lg='lazygit'
|
||||||
alias lzd='lazydocker'
|
alias lzd='lazydocker'
|
||||||
|
alias neworigin='setorigin'
|
||||||
|
alias origin='setorigin'
|
||||||
|
alias gpar='gitpushallremote'
|
||||||
|
|
||||||
# PM : Jira & trello & asana & moro
|
# Jira
|
||||||
source "$HOME/.aliases/backlog.sh"
|
alias jirasearch='issues'
|
||||||
|
alias cicdlist="jira issue jql \"project = 'CICD' AND resolution = Unresolved\""
|
||||||
|
alias backlogs="jira issue jql \"status = New AND project IN (CICD) AND Created > -2w ORDER BY Priority DESC\""
|
||||||
|
alias bakclogs='backlogs'
|
||||||
|
alias support="jira issue jql \"project in (CICD) AND (Created > -2w AND resolution = Unresolved AND (type = 'Engineering Incident' AND status not in ('Waiting for external information') OR type IN ('Engineering Request', 'Task', 'User Story') AND status in ('New', 'To be picked next')) OR resolution != Unresolved AND status = 'In Progress') ORDER BY key DESC\""
|
||||||
|
alias guardian="support"
|
||||||
|
alias lastissues='jira issue jql "project IN (CICD) AND Created > -2w ORDER BY Created DESC, Priority DESC"'
|
||||||
|
alias workingon="jira issue jql \"assignee = currentUser() AND resolution = Unresolved AND status not in ('In Review', 'Done', 'In Testing', 'Waiting For Build') OR QA = currentUser() AND status = 'In Testing' ORDER BY updated DESC, priority DESC\""
|
||||||
|
alias toreview='jira issue jql "project in (CICD) AND Updated > -2w AND issue.property[development].openprs > 0 ORDER BY Created DESC, Priority ASC"'
|
||||||
|
alias newissues="jira issue jql \"project IN (CICD) AND Created > -2w AND resolution = Unresolved AND status not in ('In Progress') ORDER BY Created DESC, Priority DESC\""
|
||||||
|
alias n='newissues'
|
||||||
|
alias backlog=cicdlist
|
||||||
|
alias bakclog='backlog'
|
||||||
|
alias b='backlog'
|
||||||
|
alias mybacklog="jira issue ls && asana"
|
||||||
|
alias mb='mybacklog'
|
||||||
|
alias myissues='mb'
|
||||||
|
alias me='mb'
|
||||||
|
alias j='jira issue open'
|
||||||
|
|
||||||
# News
|
# News
|
||||||
source "$HOME/.aliases/news.sh"
|
alias hack='hacker'
|
||||||
|
alias crypto='curl rate.sx'
|
||||||
|
|
||||||
# Twitter
|
# Twitter
|
||||||
source "$HOME/.aliases/twitter.sh"
|
alias twitter='\t'
|
||||||
|
alias tsearch='twitter search all'
|
||||||
# RSS
|
alias tweets='tsearch --long -a -d'
|
||||||
source "$HOME/.aliases/rss.sh"
|
alias tsearchfav='twitter search favorites'
|
||||||
|
alias tsearchtimeline='twitter search timeline'
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
source "$HOME/.aliases/search.sh"
|
alias ddg='ddgr'
|
||||||
|
alias goo='googler'
|
||||||
|
alias se='sr -elvi'
|
||||||
|
alias engines='sr -elvi'
|
||||||
|
|
||||||
# Events
|
# Events
|
||||||
alias agenda='calendar'
|
alias agenda='calendar'
|
||||||
@ -32,74 +58,105 @@ alias mails="gmail && gmail2"
|
|||||||
alias mailperso="gmail2"
|
alias mailperso="gmail2"
|
||||||
alias mailpro="gmail"
|
alias mailpro="gmail"
|
||||||
|
|
||||||
|
# Viewing files
|
||||||
|
alias cat='bat --style=plain --color "always"'
|
||||||
|
alias preview="fzf --preview 'bat --color \"always\" --style=plain {}' --cycle "
|
||||||
|
alias markdown2='pandoc README.md | lynx -stdin -dump'
|
||||||
|
alias markdown='glow'
|
||||||
|
|
||||||
|
# To do / Done
|
||||||
|
#alias done='task_done'
|
||||||
|
|
||||||
# Management / Security / SSH / SSL
|
# Management / Security / SSH / SSL
|
||||||
source "$HOME/.aliases/secure.sh"
|
alias mgmt='ssh $(whoami)@$PROXY_HOST -i ~/.ssh/id_ed25519'
|
||||||
|
alias m='mgmt'
|
||||||
|
alias tunnel='ssh -D 8000 -N $(whoami)@$PROXY_HOST -i ~/.ssh/id_ed25519'
|
||||||
|
alias sshpub='cat ~/.ssh/id_ed25519.pub'
|
||||||
|
alias ssla="openssl x509 -alias -noout -in" # Usage : ssla <cert>
|
||||||
|
alias encrypt='ansible-vault encrypt **/vault.yml --vault-password-file=$VAULT_PASSWORD_FILE'
|
||||||
|
alias decrypt='ansible-vault decrypt **/vault.yml --vault-password-file=$VAULT_PASSWORD_FILE'
|
||||||
|
alias newpass='bw generate --special --uppercase --lowercase --number --length 30'
|
||||||
|
|
||||||
# Network
|
# Network
|
||||||
source "$HOME/.aliases/network.sh"
|
alias ip='echo $(curl ident.me -4 2>/dev/null)'
|
||||||
|
alias ipinfo='curl "ipinfo.io/"$(ip)'
|
||||||
# Downloads
|
alias getips='\egrep "\b(([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}(1[0-9][0-9]|2[0-4][0-9]|25[0-5]|[0-9]{1,2})\b"'
|
||||||
alias get="curl -O -L" # Download file and save it with filename of remote file
|
|
||||||
|
|
||||||
# Files & folder tricks
|
|
||||||
source "$HOME/.aliases/files.sh"
|
|
||||||
|
|
||||||
# System Utils
|
|
||||||
alias systeminfo='neofetch'
|
|
||||||
alias monitoring='glances'
|
|
||||||
alias reload="exec ${SHELL} -l" # Reload the shell (i.e. invoke as a login shell)
|
|
||||||
alias sc="source $HOME/.zshrc"
|
|
||||||
|
|
||||||
# Infrastructure
|
|
||||||
alias awsls='awsls -profile default -region eu-west-1 --attributes tags aws_instance'
|
|
||||||
|
|
||||||
# Package management tricks
|
|
||||||
alias npmlist='npm list -g --depth 0'
|
|
||||||
alias pip='pip3'
|
|
||||||
|
|
||||||
# RTFM
|
|
||||||
alias learnmore="apropos . | sort --random-sort | awk 'NR == 1 {print$1}' | cut -d'(' -f 1 | xargs man"
|
|
||||||
alias help='tldr'
|
|
||||||
alias latency='curl cheat.sh/latency'
|
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
source "$HOME/.aliases/misc.sh"
|
alias h='cd $HOME'
|
||||||
|
alias bash="/usr/local/bin/bash"
|
||||||
|
alias diff='colordiff --side-by-side --ignore-space-change --width=200 --suppress-common-lines --recursive'
|
||||||
|
alias cp='cp -i' # confirmation before overwrite #
|
||||||
|
alias mv='mv -i' # confirmation before overwrite
|
||||||
|
alias rm='gomi'
|
||||||
|
alias df='df -H'
|
||||||
|
alias du='ncdu --color dark -rr -x --exclude .git --exclude node_modules'
|
||||||
|
#alias du='du -ch'
|
||||||
|
alias weather='weather "?lang=fr&"'
|
||||||
|
alias headers='curl -I --compress' # Find out if remote server supports gzip / mod_deflate or not #
|
||||||
|
alias hist='history'
|
||||||
|
|
||||||
# Linters
|
|
||||||
alias checken="aspell check -d en"
|
|
||||||
alias checkfr="aspell check -d fr"
|
|
||||||
alias fixallscripts="shfmt -w -l -i 2 -ci **/*.sh"
|
|
||||||
|
|
||||||
# Development
|
alias path='echo -e ${PATH//:/\\n}' # Explode and display current PATH
|
||||||
alias gw='./gradlew'
|
alias ping='prettyping -c 5 --nolegend' # Stop after sending count ECHO_REQUEST packets
|
||||||
|
alias https='http --default-scheme=https' # useful alias stealed from a colleague. http is provided by httpie
|
||||||
# NSFW
|
alias p='ps -ef | grep -i ' # Show matching processes. Usage : p <process name>
|
||||||
alias irc='weechat'
|
alias root='sudo -i'
|
||||||
|
alias s=ls
|
||||||
# Terraform
|
alias sl=ll
|
||||||
source "$HOME/.aliases/terraform.sh"
|
alias v=vi
|
||||||
source "$HOME/.aliases/terragrunt.sh"
|
alias ls='lsd'
|
||||||
|
alias tree='ls --almost-all --tree'
|
||||||
# Fun
|
alias pip='pip3'
|
||||||
|
alias c='cat'
|
||||||
|
alias x='extract'
|
||||||
|
alias current_year='`echo date +"%Y"`'
|
||||||
|
alias learnmore="apropos . | sort --random-sort | awk 'NR == 1 {print$1}' | cut -d'(' -f 1 | xargs man"
|
||||||
|
alias biggerthan10='biggerthan 10M'
|
||||||
|
alias latency='curl cheat.sh/latency'
|
||||||
alias moon='curl "wttr.in/Moon?lang=fr"'
|
alias moon='curl "wttr.in/Moon?lang=fr"'
|
||||||
alias lune='moon'
|
alias lune='moon'
|
||||||
|
alias help='tldr'
|
||||||
|
alias systeminfo='neofetch'
|
||||||
|
alias monitoring='glances'
|
||||||
|
alias ':q'='exit'
|
||||||
|
alias irc='weechat'
|
||||||
|
alias trello='3llo'
|
||||||
alias unix='curl -L http://git.io/unix'
|
alias unix='curl -L http://git.io/unix'
|
||||||
alias coffee="curl -L http://git.io/coffee"
|
alias coffee="curl -L http://git.io/coffee"
|
||||||
alias hotcoffee="curl -sL git.io/hotcoffee | sh"
|
alias hotcoffee="curl -sL git.io/hotcoffee | sh"
|
||||||
|
alias usernames="python3 $HOME/Code/sherlock/sherlock.py --rank --print-found"
|
||||||
|
alias checken="aspell check -d en"
|
||||||
|
alias checkfr="aspell check -d fr"
|
||||||
|
alias gw='./gradlew'
|
||||||
|
alias terraform_landscape='landscape'
|
||||||
|
alias tf='terraform'
|
||||||
|
|
||||||
# Music
|
# Music
|
||||||
source "$HOME/.aliases/music.sh"
|
alias music='baton'
|
||||||
|
alias mytracks='music me saved tracks'
|
||||||
|
alias saved='mytracks'
|
||||||
|
alias liked='saved'
|
||||||
|
alias next='music next'
|
||||||
|
alias prev='music prev'
|
||||||
|
alias previous='prev'
|
||||||
|
alias like='music save'
|
||||||
|
alias curr='music status'
|
||||||
|
|
||||||
# K8S
|
# K8S
|
||||||
alias k9s='COLORTERM=256bit k9s --all-namespaces'
|
alias k9s='COLORTERM=256bit k9s --all-namespaces'
|
||||||
alias 9=k9s
|
alias 9=k9s
|
||||||
alias K=k9s
|
alias K=k9s
|
||||||
|
|
||||||
# Macos specifics
|
# Show/hide hidden files in Finder
|
||||||
case "$(uname -s)" in
|
alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder"
|
||||||
Darwin)
|
alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder"
|
||||||
source "$HOME/.aliases/macos.sh"
|
|
||||||
;;
|
# Hide/show all desktop icons (useful when presenting)
|
||||||
esac
|
alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder"
|
||||||
|
alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder"
|
||||||
|
|
||||||
|
# Flush Directory Service cache
|
||||||
|
alias flush="dscacheutil -flushcache && killall -HUP mDNSResponder"
|
||||||
|
|
||||||
# This is the end ;( ... for now ;D
|
# This is the end ;( ... for now ;D
|
||||||
|
@ -1,274 +1,105 @@
|
|||||||
# Text formatting utilities
|
|
||||||
bold=$(tput bold)
|
|
||||||
underline=$(tput sgr 0 1)
|
|
||||||
reset=$(tput sgr0)
|
|
||||||
purple=$(tput setaf 171)
|
|
||||||
red=$(tput setaf 1)
|
|
||||||
green=$(tput setaf 76)
|
|
||||||
tan=$(tput setaf 3)
|
|
||||||
blue=$(tput setaf 38)
|
|
||||||
header() {
|
|
||||||
printf "\n${bold}${purple}========== %s ==========${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
arrow() {
|
|
||||||
printf " ➜ %s\n" "$@"
|
|
||||||
}
|
|
||||||
success() {
|
|
||||||
printf "${green} ✔ %s${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
error() {
|
|
||||||
printf "${red} ✖ %s${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
warning() {
|
|
||||||
printf "${tan} ➜ %s${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
underline() {
|
|
||||||
printf "${underline}${bold}%s${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
bold() {
|
|
||||||
printf "${bold}%s${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
note() {
|
|
||||||
printf "${underline}${bold}${blue}Note:${reset} ${blue}%s${reset}\n" "$@"
|
|
||||||
}
|
|
||||||
function substring() {
|
|
||||||
local _length=${#1}
|
|
||||||
local _start=${2}
|
|
||||||
local _end=${3}
|
|
||||||
echo ${1:_start:_length-_end}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Browser interaction utilities
|
|
||||||
function browse() {
|
|
||||||
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=$*"
|
open -na "Google Chrome" --args "https://www.google.com/search?q=$*"
|
||||||
}
|
}
|
||||||
function stackoverflow() {
|
function stackoverflow() {
|
||||||
browse "https://www.google.com/search?q=site:stackoverflow.com $*"
|
open -na "Google Chrome" --args "https://www.google.com/search?q=site:stackoverflow.com $*"
|
||||||
}
|
}
|
||||||
function github() {
|
function github() {
|
||||||
browse "https://github.com/search?q=$*"
|
open -na "Google Chrome" --args "https://github.com/search?q=$*"
|
||||||
}
|
}
|
||||||
function hacker() {
|
function hacker() {
|
||||||
browse "https://hn.algolia.com/?sort=byDate&query=$*"
|
open -na "Google Chrome" --args "https://hn.algolia.com/?sort=byDate&query=$*"
|
||||||
}
|
}
|
||||||
function gmail() {
|
function gmail() {
|
||||||
browse "https://mail.google.com/mail/u/0"
|
open -na "Google Chrome" --args "https://mail.google.com/mail/u/0"
|
||||||
}
|
}
|
||||||
function gmail2() {
|
function gmail2() {
|
||||||
browse "https://mail.google.com/mail/u/1"
|
open -na "Google Chrome" --args "https://mail.google.com/mail/u/1"
|
||||||
}
|
}
|
||||||
function cicdboard() {
|
function cicdboard() {
|
||||||
browse "$JIRA_URL/secure/RapidBoard.jspa?rapidView=457&view=planning.nodetail"
|
open -na "Google Chrome" --args "$JIRA_URL/secure/RapidBoard.jspa?rapidView=457&view=planning.nodetail"
|
||||||
}
|
}
|
||||||
function cicddashboard() {
|
function cicddashboard() {
|
||||||
browse "$JIRA_URL/secure/Dashboard.jspa?selectPageId=13131"
|
open -na "Google Chrome" --args "$JIRA_URL/secure/Dashboard.jspa?selectPageId=13131"
|
||||||
}
|
}
|
||||||
function calendar() {
|
|
||||||
browse "https://calendar.google.com/calendar/r?tab=mc"
|
|
||||||
}
|
|
||||||
function asana() {
|
|
||||||
browse "https://app.asana.com"
|
|
||||||
}
|
|
||||||
function confluencetasks() {
|
|
||||||
browse "$CONFLUENCE_URL/plugins/inlinetasks/mytasks.action"
|
|
||||||
}
|
|
||||||
function trello_web() {
|
|
||||||
browse "$TRELLO_BOARD_URL"
|
|
||||||
}
|
|
||||||
function bookmarks() {
|
|
||||||
browse "https://github.com/MorganGeek/bookmarks/blob/master/README.md"
|
|
||||||
}
|
|
||||||
function spotify() {
|
|
||||||
browse "https://open.spotify.com/search/$*"
|
|
||||||
}
|
|
||||||
function lob() {
|
|
||||||
browse "https://lobste.rs"
|
|
||||||
}
|
|
||||||
function archive() {
|
|
||||||
browse "https://web.archive.org/web/*/$*"
|
|
||||||
}
|
|
||||||
function iknowwhatyoudownload() {
|
|
||||||
browse "https://iknowwhatyoudownload.com/en/peer/?ip=$*"
|
|
||||||
}
|
|
||||||
function vimium() {
|
|
||||||
browse "chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/pages/options.html#"
|
|
||||||
}
|
|
||||||
function toby() {
|
|
||||||
browse "chrome-extension://gfdcgfhkelkdmglklfbndgopaihmoeci/toby.html"
|
|
||||||
}
|
|
||||||
# Jira utilities
|
|
||||||
function issues() {
|
function issues() {
|
||||||
jira issue jql "status = Open AND text ~ \"$*\" ORDER BY Created DESC"
|
jira issue jql "status = Open AND text ~ \"$*\" ORDER BY Created DESC"
|
||||||
}
|
}
|
||||||
function istherenewissues() {
|
function calendar() {
|
||||||
LASTISSUE=$(newissues | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g' | awk 'FNR==2{print $2}')
|
open -na "Google Chrome" --args "https://calendar.google.com/calendar/r?tab=mc"
|
||||||
if [[ -f "$HOME/.newjiraissue" ]]; then
|
}
|
||||||
previous_jira_issue=$(\cat "$HOME/.newjiraissue" | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g') # the sed part is for removing output colors
|
function asana() {
|
||||||
if [ "$LASTISSUE" != "$previous_jira_issue" ]; then
|
open -na "Google Chrome" --args "https://app.asana.com"
|
||||||
newissues
|
}
|
||||||
else
|
function bookmarks() {
|
||||||
success "no new issue"
|
open -na "Google Chrome" --args "https://github.com/MorganGeek/bookmarks/blob/master/README.md"
|
||||||
fi
|
}
|
||||||
fi
|
function spotify() {
|
||||||
echo "$LASTISSUE" >"$HOME/.newjiraissue"
|
open -na "Google Chrome" --args "https://open.spotify.com/search/$*"
|
||||||
|
}
|
||||||
|
function lob() {
|
||||||
|
open -na "Google Chrome" --args "https://lobste.rs"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Prolog / Logtalk
|
|
||||||
function logtalk() {
|
function logtalk() {
|
||||||
path_swilgt=$(find /usr/local/Cellar/logtalk -name "*swilgt.sh" 2>/dev/null)
|
path_swilgt=$(find /usr/local/Cellar/logtalk -name "*swilgt.sh" 2>/dev/null)
|
||||||
sh "$path_swilgt"
|
sh "$path_swilgt"
|
||||||
}
|
}
|
||||||
|
function archive() {
|
||||||
|
open -na "Google Chrome" --args "https://web.archive.org/web/*/$*"
|
||||||
|
}
|
||||||
|
function git_listobjectsbysize() {
|
||||||
|
tempFile=$(mktemp)
|
||||||
|
IFS=$'\n'
|
||||||
|
for commitSHA1 in $(git rev-list --all); do
|
||||||
|
git ls-tree -r --long "$commitSHA1" >>"$tempFile"
|
||||||
|
done
|
||||||
|
|
||||||
# History / Aliases helpers
|
# sort files by SHA1, de-dupe list and finally re-sort by filesize
|
||||||
|
sort --key 3 "$tempFile" | \
|
||||||
|
uniq | \
|
||||||
|
sort --key 4 --numeric-sort --reverse
|
||||||
|
# remove temp file
|
||||||
|
rm -f "$tempFile"
|
||||||
|
}
|
||||||
function top_commands() {
|
function top_commands() {
|
||||||
local filter="$1"
|
history | cat | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a; }' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n50
|
||||||
local max_results=${2:-'50'}
|
|
||||||
history | \cat | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a; }' G --invert-match "./" | column -c3 -s " " -t G "$filter" | sort --numeric-sort --reverse | nl H "-n$max_results"
|
|
||||||
}
|
}
|
||||||
function top_commands_full() {
|
function top_commands_full() {
|
||||||
local filter="$1"
|
history | cat | sed 's/^[0-9 TAB]*//g' | awk '{CMD[$0]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "%\t" a; }' | sort -nr | nl | head -n50
|
||||||
local max_results=${2:-'50'}
|
|
||||||
history | \cat | awk '{$1=$1};1' | sed 's/^[0-9\* TAB]*//g' | awk '{CMD[$0]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "%\t" a; }' G "$filter" | sort --numeric-sort --reverse | nl H "-n$max_results"
|
|
||||||
}
|
}
|
||||||
# Where is a function defined?
|
function istherenewissues() {
|
||||||
function whichfunc() {
|
LASTISSUE=$(newissues | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g' | awk 'FNR==2{print $2}')
|
||||||
whence -v $1
|
if [[ -f "$HOME/.newjiraissue" ]]
|
||||||
type -a $1
|
then
|
||||||
|
previous_jira_issue=$(cat "$HOME/.newjiraissue" | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g') # the sed part is for removing output colors
|
||||||
|
if [ "$LASTISSUE" != "$previous_jira_issue" ]; then
|
||||||
|
newissues
|
||||||
|
else
|
||||||
|
echo "no new issue"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "$LASTISSUE" > "$HOME/.newjiraissue"
|
||||||
}
|
}
|
||||||
source "$HOME/Code/dotfiles/dot_scripts/suggest_readable_parameters.sh"
|
|
||||||
# TODO : suggest spelling fixes
|
|
||||||
function suggest_code_refactoring() {
|
|
||||||
#inspired by : \grep 'awk '\''{$1=$1};1'\' $HOME/Code/dotfiles/dot_zsh*
|
|
||||||
header "code refactoring suggestions"
|
|
||||||
while read -r line; do
|
|
||||||
local short_name=$(echo "$line" | sed -E "s/='.*//g")
|
|
||||||
local alias_value=$(echo "$line" | sed -E 's/[a-zA-Z_-]+=//g')
|
|
||||||
local alias_value_truncated=${alias_value:1:$((${#alias_value} - 2))}
|
|
||||||
\fgrep -d skip $alias_value_truncated "$@" 2>/tmp/error.log | \grep --invert-match "alias $short_name=" 1>/dev/null
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
success "found $short_name --> $alias_value_truncated"
|
|
||||||
\fgrep -d skip "$alias_value_truncated" "$@" --color -n -H --line-buffered | \grep --invert-match "alias $short_name="
|
|
||||||
else
|
|
||||||
local error_message=$(\cat /tmp/error.log)
|
|
||||||
if [ -n "$error_message" ]; then
|
|
||||||
error "issue occured when looking for $alias_value_truncated : $error_message"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done < <(alias | awk -v COUNT=1 'NF>COUNT') # list of all aliases, excluding the less interesting ones (where we use one word for another)
|
|
||||||
}
|
|
||||||
function suggest_aliases() {
|
|
||||||
local search_input_size=${1:-'50'}
|
|
||||||
header "alias recommendations"
|
|
||||||
while read -r line; do
|
|
||||||
local matching_aliases=$(ag --multiline "$line")
|
|
||||||
if [ ! -z "$matching_aliases" ]; then
|
|
||||||
success "there is an alias for $line :"
|
|
||||||
while read -r alias_line; do
|
|
||||||
arrow "$alias_line"
|
|
||||||
done < <(echo "$matching_aliases")
|
|
||||||
echo
|
|
||||||
else
|
|
||||||
warning "no alias for $line"
|
|
||||||
fi
|
|
||||||
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
|
|
||||||
# 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
|
|
||||||
function mute_device() {
|
|
||||||
local current_device=$(SwitchAudioSource -c)
|
|
||||||
local target_device="$1"
|
|
||||||
if SwitchAudioSource -a G "$target_device" 1>/dev/null; then
|
|
||||||
SwitchAudioSource -s "$1" 1>/dev/null
|
|
||||||
osascript -e 'set volume output muted true'
|
|
||||||
success "device $target_device muted"
|
|
||||||
SwitchAudioSource -s "$current_device" 1>/dev/null
|
|
||||||
if [ "$current_device" != "$target_device" ]; then
|
|
||||||
arrow "switching back to $current_device"
|
|
||||||
fi
|
|
||||||
arrow "currently using $current_device"
|
|
||||||
else
|
|
||||||
error "sound device not found : $target_device (maybe it's disconnected ?)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function switch_device() {
|
|
||||||
local target_device="$1"
|
|
||||||
if SwitchAudioSource -a G "$target_device" 1>/dev/null; then
|
|
||||||
if SwitchAudioSource -s "$1" 1>/dev/null; then
|
|
||||||
success "switched to $target_device"
|
|
||||||
unmute
|
|
||||||
else
|
|
||||||
error "failed to switch to $target_device"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
error "sound device not found : $target_device (maybe it's disconnected ?)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Web Crawling
|
|
||||||
function aboutpage() {
|
function aboutpage() {
|
||||||
year=$(echo "$*" | egrep --extended-regexp --only-matching '\b[[:digit:]]{4}\b' H -n1)
|
year=$(echo "$*" | egrep -Eo '\b[[:digit:]]{4}\b' | head -n1)
|
||||||
if [ -z "$year" ]; then
|
if [ -z "$year" ]
|
||||||
year=$(curl --silent --show-error --location "$*" | tr '<' '\r' | \egrep --ignore-case "date|datetime" -A 1 | \grep --extended-regexp --only-matching '\b[[:digit:]]{4}\b' H -n1)
|
then
|
||||||
|
year=$(curl -sSL "$*" | tr '<' '\r' | \egrep -i "date|datetime" -A 1 | \grep -Eo '\b[[:digit:]]{4}\b' | head -n1)
|
||||||
fi
|
fi
|
||||||
author=$(curl --silent --show-error --location "$*" | tr '<' '\r' | \egrep --ignore-case "author" -A 1 | \grep --extended-regexp --only-matching '([A-Z][A-Za-z]+\s([A-Za-z ]+)*)' H -n1)
|
author=$(curl -sSL "$*" | tr '<' '\r' | \egrep -i "author" -A 1 | \grep -Eo '([A-Z][A-Za-z]+\s([A-Za-z ]+)*)' | head -n1)
|
||||||
title=$(curl --silent -SL "$*" | tr '<' '<\n' | \grep title -A 1 H -n1 | sed -E 's/.*<title>(.*)<\/title>.*/\1/' | sed "s/ [^[:alnum:]]*$author//")
|
title=$(curl -sSL "$*" | tr '<' '<\n' | \grep title -A 1 | head -n1 | sed -E 's/.*<title>(.*)<\/title>.*/\1/' | sed "s/ [^[:alnum:]]*$author//")
|
||||||
yearint=$(($year + 0))
|
yearint=$(($year + 0))
|
||||||
currentyear=$(echo $(date +"%Y"))
|
currentyear=$(echo `date +"%Y"`)
|
||||||
if [ ! -z "$author" ]; then
|
if [ ! -z "$author" ]
|
||||||
|
then
|
||||||
echo "by $author"
|
echo "by $author"
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$title" ]; then
|
if [ ! -z "$title" ]
|
||||||
|
then
|
||||||
echo "-> $title"
|
echo "-> $title"
|
||||||
fi
|
fi
|
||||||
if [[ $yearint -ge 1970 && $yearint -le $currentyear ]]; then
|
if [[ $yearint -ge 1970 && $yearint -le $currentyear ]]
|
||||||
|
then
|
||||||
echo "$yearint"
|
echo "$yearint"
|
||||||
fi
|
fi
|
||||||
if [ ! -z "$title" ] && [ ! -z "$author" ] && [[ $yearint -ge 1970 && $yearint -le $currentyear ]]; then
|
if [ ! -z "$title" ] && [ ! -z "$author" ] && [[ $yearint -ge 1970 && $yearint -le $currentyear ]]; then
|
||||||
@ -283,12 +114,11 @@ function col() {
|
|||||||
}
|
}
|
||||||
# Skip first x words in line
|
# Skip first x words in line
|
||||||
# via https://blog.developer.atlassian.com/ten-tips-for-wonderful-bash-productivity/
|
# via https://blog.developer.atlassian.com/ten-tips-for-wonderful-bash-productivity/
|
||||||
function skip() {
|
function skip {
|
||||||
n=$(($1 + 1))
|
n=$(($1 + 1))
|
||||||
cut -d' ' -f$n-
|
cut -d' ' -f$n-
|
||||||
}
|
}
|
||||||
|
|
||||||
# Code search / stats helpers
|
|
||||||
cmd_loc="find . -type f \( \
|
cmd_loc="find . -type f \( \
|
||||||
-name '*.py' \
|
-name '*.py' \
|
||||||
-o -name '*.rb' \
|
-o -name '*.rb' \
|
||||||
@ -298,108 +128,31 @@ cmd_loc="find . -type f \( \
|
|||||||
-o -name '*.c' -o -name '*.h' \
|
-o -name '*.c' -o -name '*.h' \
|
||||||
-o -name '*.js' \
|
-o -name '*.js' \
|
||||||
-o -name '*.tsx' \
|
-o -name '*.tsx' \
|
||||||
-o -name '*.sh' \
|
|
||||||
-o -name '*.md' \
|
-o -name '*.md' \
|
||||||
-o -name '*.xml' \
|
-o -name '*.xml' \
|
||||||
-o -name '*.yaml' -o -name '*.yml' \
|
|
||||||
-o -name '*.groovy' \
|
-o -name '*.groovy' \
|
||||||
-o -name '*.gradle' \
|
-o -name '*.gradle' \
|
||||||
-o -name '*.properties' \
|
-o -name '*.properties' \
|
||||||
\) -exec \cat \{\} \; | LANG=C LC_CTYPE=C sed -e 's/^[ \t]*//;s/[ \t]*$//'"
|
\) -exec \cat \{\} \; | LANG=C LC_CTYPE=C sed -e 's/^[ \t]*//;s/[ \t]*$//'"
|
||||||
|
|
||||||
# Unique lines of code
|
# Unique lines of code
|
||||||
# Via https://text.causal.agency/004-uloc.txt
|
# Via https://text.causal.agency/004-uloc.txt
|
||||||
function uloc() {
|
function uloc {
|
||||||
eval "$cmd_loc | LANG=C LC_CTYPE=C sort --unique | wc -l"
|
eval "$cmd_loc | LANG=C LC_CTYPE=C sort -u | wc -l"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Top lines of code
|
# Top lines of code
|
||||||
function toploc() {
|
function toploc {
|
||||||
eval "$cmd_loc | LANG=C LC_CTYPE=C cut -c 1-100 | LANG=C LC_CTYPE=C sort | uniq -c | LANG=C LC_CTYPE=C sort --numeric-sort --reverse H -50"
|
eval "$cmd_loc | LANG=C LC_CTYPE=C cut -c 1-100 | LANG=C LC_CTYPE=C sort | uniq -c | LANG=C LC_CTYPE=C sort -nr"
|
||||||
}
|
|
||||||
function historyloc() {
|
|
||||||
top_commands_full "" 5000 topshellloc
|
|
||||||
}
|
|
||||||
function how_in() {
|
|
||||||
where="$1"
|
|
||||||
shift
|
|
||||||
IFS=+ curl "cht.sh/${where}/$*"
|
|
||||||
}
|
|
||||||
# File name references in file
|
|
||||||
function filerefs() {
|
|
||||||
FILENAME=${1:-README*)}
|
|
||||||
\grep --extended-regexp --only-matching "\b([a-zA-Z.-]+)\.([a-z]{2,4}\b)" $FILENAME \
|
|
||||||
| sort --unique \
|
|
||||||
| egrep --invert-match --ignore-case "\.com|\.git|\.io|\net|\.org|\.se|\.me|\.fr|contributing\.md"
|
|
||||||
}
|
|
||||||
function invalid_file_refs() {
|
|
||||||
FILENAME=${1:-"README.*"}
|
|
||||||
while read -r file_ref; do
|
|
||||||
arrow "processing $file_ref ..."
|
|
||||||
find . -name "$file_ref" 1>/dev/null
|
|
||||||
local exit_status=$?
|
|
||||||
if [ $exit_status -eq 1 ]; then
|
|
||||||
warning "$file_ref does not exist in the project"
|
|
||||||
else
|
|
||||||
success "$file_ref was found in the project"
|
|
||||||
fi
|
|
||||||
arrow "checking if $file_ref is present in the source code..."
|
|
||||||
source_refs=$(\grep "$file_ref" * -r -l G --invert-match "$FILENAME" | wc -l 2>/dev/null | trim)
|
|
||||||
if [ "$source_refs" -eq 0 ]; then
|
|
||||||
error "$file_ref was not found in source code"
|
|
||||||
else
|
|
||||||
arrow "searching for $file_ref references in soure code..."
|
|
||||||
while read -r source_ref; do
|
|
||||||
success "$file_ref was found in $source_ref"
|
|
||||||
done < <(\grep "$file_ref" * -r -l)
|
|
||||||
fi
|
|
||||||
done < <(filerefs "$FILENAME")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Text search
|
|
||||||
# run write-good, proselint, and aspell in non interactive mode, to list all mispelled words found
|
|
||||||
function checkenlist() {
|
|
||||||
aspell -d en list < "$1" | sort --unique --ignore-case
|
|
||||||
write-good --no-passive "$1"
|
|
||||||
proselint "$1"
|
|
||||||
alex -q --stdin < "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkenremote() {
|
|
||||||
local target_url="$1"
|
|
||||||
if [[ ! "$target_url" =~ "githubusercontent.com" && ! "$target_url" =~ "README" && ! "$target_url" =~ "readme" ]]; then
|
|
||||||
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
|
|
||||||
target_url=$(echo "$target_url" | sed 's/github.com/raw.githubusercontent.com/g' | sed 's;blob/;;')
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
# Time management
|
|
||||||
function zoomtimeboxed() {
|
|
||||||
declare -i total_minutes=$1
|
|
||||||
declare -i total_seconds=$total_minutes*60
|
|
||||||
echo $total_seconds;
|
|
||||||
arrow "will start zoom and leave it after $total_minutes minutes ($total_seconds seconds)"
|
|
||||||
zoom; (sleep "$total_seconds" && nozoom) &
|
|
||||||
}
|
|
||||||
|
|
||||||
# File stats helpers
|
|
||||||
# Find files bigger than X size and sort them by size
|
# Find files bigger than X size and sort them by size
|
||||||
function biggerthan() {
|
function biggerthan() {
|
||||||
find . -size "+$*" -type f -print0 | xargs -0 ls -Ssh | sort --zero-terminated
|
find . -size "+$*" -type f -print0 | xargs -0 ls -Ssh | sort -z
|
||||||
}
|
}
|
||||||
# To automatically ls when changing directory
|
# To automatically ls when changing directory
|
||||||
function cd() {
|
function cd() {
|
||||||
builtin cd "$@" && ll -atr
|
builtin cd "$@" && ls -latr
|
||||||
}
|
}
|
||||||
function mouse() {
|
function mouse() {
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
@ -408,60 +161,54 @@ function mouse() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Conversion
|
|
||||||
function epub2pdf() {
|
|
||||||
local output_file_name=$(echo $1 | sed 's/.epub$/.pdf/')
|
|
||||||
ebook-convert "$1" "$output_file_name"
|
|
||||||
}
|
|
||||||
function epub2mobi() {
|
|
||||||
local output_file_name=$(echo $1 | sed 's/.epub$/.mobi/')
|
|
||||||
ebook-convert "$1" "$output_file_name"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Information gathering
|
|
||||||
function meteo() {
|
function meteo() {
|
||||||
curl "fr.wttr.in/$*"
|
curl "fr.wttr.in/$*"
|
||||||
}
|
}
|
||||||
|
function how_in() {
|
||||||
|
where="$1"; shift
|
||||||
|
IFS=+ curl "cht.sh/${where}/$*"
|
||||||
|
}
|
||||||
function rate() {
|
function rate() {
|
||||||
curl "http://rate.sx/$*"
|
curl "http://rate.sx/$*"
|
||||||
}
|
}
|
||||||
|
transfer() {
|
||||||
# Uploaders
|
|
||||||
function transfer() {
|
|
||||||
# check arguments
|
# check arguments
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ];
|
||||||
warning "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"
|
then
|
||||||
|
echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# get temporarily filename, output is written to this file show progress can be showed
|
# get temporarily filename, output is written to this file show progress can be showed
|
||||||
tmpfile=$(mktemp -t transferXXX)
|
tmpfile=$( mktemp -t transferXXX )
|
||||||
|
|
||||||
# upload stdin or file
|
# upload stdin or file
|
||||||
file=$1
|
file=$1
|
||||||
|
|
||||||
if tty -s; then
|
if tty -s;
|
||||||
|
then
|
||||||
basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g')
|
basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g')
|
||||||
|
|
||||||
if [ ! -e $file ]; then
|
if [ ! -e $file ];
|
||||||
error "File $file doesn't exists."
|
then
|
||||||
|
echo "File $file doesn't exists."
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d $file ]; then
|
if [ -d $file ];
|
||||||
|
then
|
||||||
# zip directory and transfer
|
# zip directory and transfer
|
||||||
zipfile=$(mktemp -t transferXXX.zip)
|
zipfile=$( mktemp -t transferXXX.zip )
|
||||||
cd $(dirname $file) && zip -r -q - $(basename $file) >>$zipfile
|
cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile
|
||||||
curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >>$tmpfile
|
curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile
|
||||||
rm -f $zipfile
|
rm -f $zipfile
|
||||||
else
|
else
|
||||||
# transfer file
|
# transfer file
|
||||||
curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >>$tmpfile
|
curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# transfer pipe
|
# transfer pipe
|
||||||
curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >>$tmpfile
|
curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile
|
||||||
fi
|
fi
|
||||||
# cat output link
|
# cat output link
|
||||||
cat $tmpfile
|
cat $tmpfile
|
||||||
@ -469,18 +216,31 @@ function transfer() {
|
|||||||
# cleanup
|
# cleanup
|
||||||
rm -f $tmpfile
|
rm -f $tmpfile
|
||||||
}
|
}
|
||||||
|
# Where is a function defined?
|
||||||
|
function whichfunc() {
|
||||||
|
whence -v $1
|
||||||
|
type -a $1
|
||||||
|
}
|
||||||
|
|
||||||
function checkov() { docker run -i --rm -v "$(pwd):/tf" bridgecrew/checkov -d /tf "$@"; }
|
# git shortcuts
|
||||||
function vimat() {
|
function gcrb {
|
||||||
|
branch=$1
|
||||||
|
git checkout -b $branch origin/$branch
|
||||||
|
}
|
||||||
|
function terraform-compliance { docker run --rm -v "$(pwd):/target" -i -t eerkunt/terraform-compliance "$@"; }
|
||||||
|
function checkov { docker run -i --rm -v "$(pwd):/tf" bridgecrew/checkov -d /tf "$@" ; }
|
||||||
|
function vimat {
|
||||||
vim +/$1 $2
|
vim +/$1 $2
|
||||||
}
|
}
|
||||||
function httperr() {
|
function copyhooks {
|
||||||
curl --silent "https://http.cat/$1" | imgcat
|
cp -f ~/.git-template/.pre-commit-config.yaml ./
|
||||||
|
pre-commit install --install-hooks --overwrite
|
||||||
|
pre-commit run -a
|
||||||
}
|
}
|
||||||
|
function httperr {
|
||||||
# Config / Infra as code
|
curl -s "https://http.cat/$1" | imgcat
|
||||||
function terraform-compliance() { docker run --rm -v "$(pwd):/target" -i -t eerkunt/terraform-compliance "$@"; }
|
}
|
||||||
function terragrunt_color() {
|
function terragrunt_color {
|
||||||
BOLD=$(tput bold)
|
BOLD=$(tput bold)
|
||||||
BLACK=$(tput setaf 0)
|
BLACK=$(tput setaf 0)
|
||||||
RED=$(tput setaf 1)
|
RED=$(tput setaf 1)
|
||||||
@ -505,269 +265,59 @@ function terragrunt_color() {
|
|||||||
-e "s/\( *.*: *\)\(\".*\"\)\( => \)\(\".*\"\)/${YELLOW}\1${RED}\2${BLACK}\3${GREEN}\4${RESET}/" \
|
-e "s/\( *.*: *\)\(\".*\"\)\( => \)\(\".*\"\)/${YELLOW}\1${RED}\2${BLACK}\3${GREEN}\4${RESET}/" \
|
||||||
-e "s/\( *.*: *\".*\"\)/${GREEN}\1${RESET}/"
|
-e "s/\( *.*: *\".*\"\)/${GREEN}\1${RESET}/"
|
||||||
}
|
}
|
||||||
function jenkins-cli() {
|
function git-project {
|
||||||
local script_location=$(find $HOME/code/jenkins-cloudbees-core -name "jenkins-cli.sh")
|
|
||||||
eval "$script_location $*"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Security / Secrets helpers
|
|
||||||
function passwords() {
|
|
||||||
bw list items --search "$1" | jq -c '.[] | .name + " " + .login.username + ":" + .login.password + " " + .login.uris[0].uri'
|
|
||||||
}
|
|
||||||
function password() {
|
|
||||||
bw get password "$1"
|
|
||||||
}
|
|
||||||
function vaultgetsecret() {
|
|
||||||
local secret=$(grep -A 500 "ANSIBLE_VAULT" "$1" | awk '{$1=$1;print}' | \grep --extended-regexp --only-matching "^[0-9a-z^ ]+$")
|
|
||||||
local secret_string=$(echo "\$ANSIBLE_VAULT;1.1;AES256\n$secret")
|
|
||||||
echo "$secret_string" | awk '{$1=$1;print}' | ansible-vault decrypt --vault-password-file=$VAULT_PASSWORD_FILE
|
|
||||||
}
|
|
||||||
|
|
||||||
### Git helpers
|
|
||||||
function backupgithub() {
|
|
||||||
cd "$REPO_PATH"
|
|
||||||
curl --silent --location "https://api.github.com/users/$1/repos" | jq -r '.[] | .ssh_url' | xargs -n1 git clone --mirror --no-hardlinks
|
|
||||||
}
|
|
||||||
function gitydiff() {
|
|
||||||
local path_to_file="$1"
|
|
||||||
gsh "HEAD:$path_to_file" | colordiff -y - "$path_to_file"
|
|
||||||
}
|
|
||||||
function gcrb() {
|
|
||||||
branch=$1
|
|
||||||
gcb $branch origin/$branch
|
|
||||||
}
|
|
||||||
|
|
||||||
function installhooks() {
|
|
||||||
pre-commit install --install-hooks --overwrite --allow-missing-config
|
|
||||||
}
|
|
||||||
function copyhooks() {
|
|
||||||
FILENAME=${1:-"$HOME/.git-template/.pre-commit-config.yaml"}
|
|
||||||
cp -f "$FILENAME" ./.pre-commit-config.yaml
|
|
||||||
installhooks
|
|
||||||
runhooks
|
|
||||||
}
|
|
||||||
function git_listobjectsbysize() {
|
|
||||||
tempFile=$(mktemp)
|
|
||||||
IFS=$'\n'
|
|
||||||
for commitSHA1 in $(git rev-list --all); do
|
|
||||||
git ls-tree -r --long "$commitSHA1" >>"$tempFile"
|
|
||||||
done
|
|
||||||
|
|
||||||
# sort files by SHA1, de-dupe list and finally re-sort by filesize
|
|
||||||
sort --key 3 "$tempFile" |
|
|
||||||
uniq |
|
|
||||||
sort --key 4 --numeric-sort --reverse
|
|
||||||
# remove temp file
|
|
||||||
rm -f "$tempFile"
|
|
||||||
}
|
|
||||||
function setorigin() {
|
|
||||||
gra origin "$1" 2>/dev/null
|
|
||||||
grset origin "$1"
|
|
||||||
success "updated origin to $1"
|
|
||||||
arrow "copying pre-commit hooks ..."
|
|
||||||
if [[ "$1" =~ "$COMPANY_NAME" ]]; then
|
|
||||||
copyhooks
|
|
||||||
gitpro
|
|
||||||
else
|
|
||||||
copyhooks "$HOME/.git-template/.pre-commit-minimal-config.yaml"
|
|
||||||
gitperso
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function gitpushcurrentremote() {
|
|
||||||
gitpushallremote "$(git_current_branch)"
|
|
||||||
}
|
|
||||||
function gitpushallremote() {
|
|
||||||
local param_branch="$1"
|
|
||||||
grv
|
|
||||||
grv G push | awk '{print $1}' | while read -r remote; do
|
|
||||||
if [ -z "$param_branch" ]; then
|
|
||||||
arrow "pushing all branches to $remote"
|
|
||||||
gp --all "$remote"
|
|
||||||
else
|
|
||||||
arrow "pushing $param_branch to $remote"
|
|
||||||
gp "$remote" "$param_branch"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
function clone() {
|
|
||||||
local folder=$(basename $1 | sed 's/\.git.*//g')
|
|
||||||
arrow "git project identified as $folder"
|
|
||||||
arrow "cloning repository ..."
|
|
||||||
if gcls "$1"; then
|
|
||||||
success "repository cloned"
|
|
||||||
if [[ -n "$folder" ]]; then
|
|
||||||
cd "$folder" || exit
|
|
||||||
arrow "copying pre-commit hooks ..."
|
|
||||||
if [[ "$1:u" =~ "$COMPANY_NAME:u" ]]; then
|
|
||||||
copyhooks
|
|
||||||
gitpro
|
|
||||||
else
|
|
||||||
copyhooks "$HOME/.git-template/.pre-commit-minimal-config.yaml"
|
|
||||||
gitperso
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
error "unable to change current directory to : $folder"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
error "unable to clone repository from url : $1"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function fork() {
|
|
||||||
code || exit
|
|
||||||
local folder=$(basename $1 | sed 's/\.git.*//g')
|
|
||||||
gh repo fork "$1" --clone && cd "$folder"
|
|
||||||
if [[ "$1:u" =~ "$COMPANY_NAME:u" ]]; then
|
|
||||||
gitpro
|
|
||||||
else
|
|
||||||
gitperso
|
|
||||||
fi
|
|
||||||
checkreadme
|
|
||||||
# TODO : check all the codebase for spelling mistakes in info/debug/error messages etc.
|
|
||||||
}
|
|
||||||
function git-project() {
|
|
||||||
if [ -d "$REPO_PATH" ]; then
|
if [ -d "$REPO_PATH" ]; then
|
||||||
REPO_PATH="$(pwd)"
|
REPO_PATH="$(pwd)"
|
||||||
fi
|
fi
|
||||||
local preview='lsd --color always --icon always --group-dirs first {}'
|
local preview='lsd --color always --icon always --group-dirs first {}'
|
||||||
local dir=$(find "$REPO_PATH" -maxdepth 3 -type d -name ".git" | sed 's#.git$##' | fzf --select-1 --query="$*" --preview "$preview")
|
local dir=$(find $REPO_PATH -maxdepth 3 -type d -name ".git" | sed 's#.git$##' | fzf --select-1 --query="$*" --preview "$preview")
|
||||||
if [[ -n "$dir" ]]; then
|
if [[ -n "$dir" ]]; then
|
||||||
cd "$dir" || exit
|
cd "$dir"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
function gitignorefor() {
|
function jenkins-cli {
|
||||||
local language=${1:-''}
|
local script_location=$(find $HOME/code/jenkins-cloudbees-core -name "jenkins-cli.sh")
|
||||||
if [ ! -d "$HOME/Code/gitignore" ]; then
|
eval "$script_location $*"
|
||||||
arrow "cloning https://github.com/github/gitignore into $REPO_PATH/gitignore"
|
|
||||||
git clone "https://github.com/github/gitignore $_"
|
|
||||||
fi
|
|
||||||
local gitignore_file=$(fd "$language" "$REPO_PATH/gitignore" H -n1)
|
|
||||||
if [ ! -z "$gitignore_file" ]; then
|
|
||||||
success "matched gitignore file : $gitignore_file"
|
|
||||||
if [ ! -f "$(pwd)/.gitignore" ]; then
|
|
||||||
arrow "you don't have a $(pwd)/.gitignore file, but that's not an issue :-) ..."
|
|
||||||
fi
|
|
||||||
arrow "copying the file content to your $(pwd)/.gitignore file"
|
|
||||||
adhoc blockinfile -a "block='{{ lookup('file', '$gitignore_file') }}' dest='$(pwd)/.gitignore' create=yes"
|
|
||||||
else
|
|
||||||
error "no gitignore file found for $language"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
function passwords {
|
||||||
# Miscellaneous helpers
|
bw list items --search "$1" | jq -c '.[] | .name + " " + .login.username + ":" + .login.password + " " + .login.uris[0].uri'
|
||||||
function colorpic() {
|
}
|
||||||
|
function password {
|
||||||
|
bw get password "$1"
|
||||||
|
}
|
||||||
|
function vaultgetsecret {
|
||||||
|
local secret=$(grep -A 500 "ANSIBLE_VAULT" "$1" | awk '{$1=$1;print}' | \grep -Eo "^[0-9a-z^ ]+$")
|
||||||
|
local secret_string=$(echo "\$ANSIBLE_VAULT;1.1;AES256\n$secret")
|
||||||
|
echo "$secret_string" | awk '{$1=$1;print}' | ansible-vault decrypt --vault-password-file=$VAULT_PASSWORD_FILE
|
||||||
|
}
|
||||||
|
function setorigin {
|
||||||
|
gra origin "$1" 2>/dev/null
|
||||||
|
grset origin "$1"
|
||||||
|
copyhooks
|
||||||
|
}
|
||||||
|
function gitpushallremote {
|
||||||
|
grv
|
||||||
|
grv | grep push | awk '{print $1}' | while read -r remote
|
||||||
|
do
|
||||||
|
echo "$remote"
|
||||||
|
git push --all "$remote"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
function clone {
|
||||||
|
local folder=$(echo $1 | cut -d'/' -f2 | cut -d'.' -f1)
|
||||||
|
gcls "$1"
|
||||||
|
cd "$folder"
|
||||||
|
copyhooks
|
||||||
|
}
|
||||||
|
function colorpic {
|
||||||
local picture_url="$1"
|
local picture_url="$1"
|
||||||
arrow "Colorizing $picture_url"
|
echo "Colorizing $picture_url"
|
||||||
local result_url=$(\curl -F "image=@$picture_url" -H "api-key:$COLORPIC_APIKEY" https://api.deepai.org/api/colorizer -s | jq '.output_url' | strings)
|
local result_url=$(\curl -F "image=@$picture_url" -H "api-key:$COLORPIC_APIKEY" https://api.deepai.org/api/colorizer -s | jq '.output_url' | strings)
|
||||||
success "Generated $result_url"
|
echo "Generated $result_url"
|
||||||
arrow "Display in progress..."
|
echo "Display in progress..."
|
||||||
eval "\curl --silent $result_url | imgcat"
|
eval "\curl -s $result_url | imgcat"
|
||||||
}
|
}
|
||||||
|
function brewadd {
|
||||||
function bookmarkadd() {
|
|
||||||
adhoc lineinfile -a "path=$HOME/Code/bookmarks/README.md insertafter='"$1"' line='* "$2"'"
|
|
||||||
}
|
|
||||||
function rssadd() {
|
|
||||||
adhoc lineinfile -a "path=~/.newsboat/urls line='"$1"'"
|
|
||||||
newsboat
|
|
||||||
}
|
|
||||||
|
|
||||||
# Via https://stackoverflow.com/a/58598185/2309958
|
|
||||||
# capture the output of a command so it can be retrieved with ret
|
|
||||||
function cap () { tee /tmp/capture.out}
|
|
||||||
# return the output of the most recent command that was captured by cap
|
|
||||||
function ret () { \cat /tmp/capture.out }
|
|
||||||
|
|
||||||
# Package / Dependencies management helpers
|
|
||||||
function adhocbis() {
|
|
||||||
local ansible_output=$(adhoc "$*")
|
|
||||||
echo $ansible_output | sed 's/127.0.0.1.*SUCCESS/WOKE/g'
|
|
||||||
}
|
|
||||||
function brewadd() {
|
|
||||||
brew install "$1"
|
brew install "$1"
|
||||||
adhoc lineinfile -a "path=~/Brewfile line='brew \"$1\"'"
|
ansible 127.0.0.1 -m lineinfile -a "path=~/Brewfile line='brew \"$1\"'"
|
||||||
}
|
|
||||||
function pipadd() {
|
|
||||||
pip install "$1"
|
|
||||||
pip freeze >"$HOME/requirements.txt"
|
|
||||||
}
|
|
||||||
function goadd() {
|
|
||||||
adhoc lineinfile -a "path=~/.scripts/godeps.sh line='go get -u -v $1'"
|
|
||||||
go get -u -v "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Make a directory and cd to it
|
|
||||||
function take() {
|
|
||||||
md -p "$@" && cd "${@:$#}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Date / Time management helpers
|
|
||||||
function endofday() {
|
|
||||||
local planned_end=$(moro status 2>&1 | \grep --extended-regexp --only-matching "Working until ([0-9:]+) will make.*" | uniq | \grep --extended-regexp --only-matching "([0-9]+:[0-9]+)")
|
|
||||||
local max_hour="$planned_end"
|
|
||||||
local min_hour=$(current_time)
|
|
||||||
if [ -z "$planned_end" ]; then
|
|
||||||
local clockout=$(moro report 2>&1 | \grep --extended-regexp --only-matching "Clock out.*([0-9:]+)" | \grep --extended-regexp --only-matching "([0-9]+:[0-9]+)")
|
|
||||||
max_hour="$clockout"
|
|
||||||
fi
|
|
||||||
if is_earlier "$min_hour" "$max_hour"; then
|
|
||||||
arrow "you should keep working, it's only $min_hour while you should work until $max_hour"
|
|
||||||
moro status
|
|
||||||
else
|
|
||||||
warning "you should stop working now because it's later than $max_hour"
|
|
||||||
moro report
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function convtimetodate() {
|
|
||||||
date -j -f '%H:%M' "$1" +'%Y/%m/%d %H:%M'
|
|
||||||
}
|
|
||||||
function convtimetotimestamp() {
|
|
||||||
date -j -f '%H:%M' "$1" +'%s'
|
|
||||||
}
|
|
||||||
function is_earlier() {
|
|
||||||
local first=$(convtimetotimestamp "$1")
|
|
||||||
local second=$(convtimetotimestamp "$2")
|
|
||||||
if [ "$second" -gt "$first" ]; then
|
|
||||||
true
|
|
||||||
else
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function dl_stopwords() {
|
|
||||||
curl --location --insecure --silent https://raw.githubusercontent.com/MorganGeek/bookmarks/master/stopwords.txt -o "$HOME/stopwords.txt"
|
|
||||||
}
|
|
||||||
function file_getwords() {
|
|
||||||
dl_stopwords
|
|
||||||
\cat "$1" | tr '[:upper:]' '[:lower:]' | \grep --extended-regexp --only-matching '\w{3,}' | \grep --invert-match --word-regexp --fixed-strings --file="$HOME/stopwords.txt" | \sed 's/s$//g' | \sed 's/ing$//g' | sort_count
|
|
||||||
}
|
|
||||||
function file_getpairs() {
|
|
||||||
dl_stopwords
|
|
||||||
\cat "$1" | filter_pairs
|
|
||||||
}
|
|
||||||
function file_dups() {
|
|
||||||
\cat "$1" | sort_count
|
|
||||||
}
|
|
||||||
function foreach_run() {
|
|
||||||
find . -name "$1" -exec "$2" {} \;
|
|
||||||
}
|
|
||||||
# input should be something like : 1-10 to generate one number between 1 and 10
|
|
||||||
function chance() {
|
|
||||||
[[ $(shuf -i "$1" -n 1) == 1 ]]
|
|
||||||
}
|
|
||||||
function runiflucky() {
|
|
||||||
if chance "1-10"; then
|
|
||||||
if alias "$1" 2>/dev/null || (compgen -A function G "$1" 1>/dev/null && compgen -A function "$1" 1>/dev/null); then
|
|
||||||
eval "$1"
|
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
34
dot_zshrc
34
dot_zshrc
@ -16,7 +16,6 @@ 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"
|
||||||
|
|
||||||
@ -31,6 +30,7 @@ POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status background_jobs command_execution_tim
|
|||||||
POWERLEVEL9K_SHOW_CHANGESET=true
|
POWERLEVEL9K_SHOW_CHANGESET=true
|
||||||
POWERLEVEL9K_CHANGESET_HASH_LENGTH=8
|
POWERLEVEL9K_CHANGESET_HASH_LENGTH=8
|
||||||
|
|
||||||
|
|
||||||
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=''
|
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=''
|
||||||
POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR=''
|
POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR=''
|
||||||
|
|
||||||
@ -38,11 +38,13 @@ POWERLEVEL9K_TIME_FOREGROUND='245'
|
|||||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND='245'
|
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND='245'
|
||||||
POWERLEVEL9K_STATUS_OK_FOREGROUND='green'
|
POWERLEVEL9K_STATUS_OK_FOREGROUND='green'
|
||||||
POWERLEVEL9k_STATUS_ERROR_FOREGROUND='red'
|
POWERLEVEL9k_STATUS_ERROR_FOREGROUND='red'
|
||||||
|
POWERLEVEL9k_STATUS_ERROR_FOREGROUND='red'
|
||||||
|
|
||||||
POWERLEVEL9K_TIME_BACKGROUND='clear'
|
POWERLEVEL9K_TIME_BACKGROUND='clear'
|
||||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND='clear'
|
POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND='clear'
|
||||||
POWERLEVEL9K_STATUS_OK_BACKGROUND='clear'
|
POWERLEVEL9K_STATUS_OK_BACKGROUND='clear'
|
||||||
POWERLEVEL9K_STATUS_ERROR_BACKGROUND='clear'
|
POWERLEVEL9K_STATUS_ERROR_BACKGROUND='clear'
|
||||||
|
POWERLEVEL9K_STATUS_ERROR_BACKGROUND='clear'
|
||||||
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND='clear'
|
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND='clear'
|
||||||
|
|
||||||
# Set list of themes to pick from when loading at random
|
# Set list of themes to pick from when loading at random
|
||||||
@ -97,7 +99,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 fzf alias-finder)
|
plugins=(reminder common-aliases extract git sdk zsh-syntax-highlighting zsh-autosuggestions ansible brew colorize docker pipenv pip python terraform aws helm kubectl)
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
# User configuration
|
# User configuration
|
||||||
@ -126,26 +128,9 @@ export BW_SESSION=""
|
|||||||
export JENKINS_URL=""
|
export JENKINS_URL=""
|
||||||
export JENKINS_SECRET=""
|
export JENKINS_SECRET=""
|
||||||
export JIRA_URL=""
|
export JIRA_URL=""
|
||||||
export CONFLUENCE_URL=""
|
|
||||||
export PROXY_HOST=""
|
export PROXY_HOST=""
|
||||||
export COLORPIC_APIKEY=""
|
export COLORPIC_APIKEY=""
|
||||||
export VAULT_PASSWORD_FILE=""
|
export VAULT_PASSWORD_FILE=""
|
||||||
export DEFAULT_BROWSER=${DEFAULT_BROWSER:-'Google Chrome'}
|
|
||||||
export TRELLO_BOARD_URL=""
|
|
||||||
export COMPANY_NAME=""
|
|
||||||
export GIT_PERSONAL_EMAIL=""
|
|
||||||
export GIT_PERSONAL_USER=""
|
|
||||||
export GIT_PRO_EMAIL=""
|
|
||||||
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"
|
|
||||||
|
|
||||||
if test -f "$HOME/.scripts/secrets.sh"; then
|
if test -f "$HOME/.scripts/secrets.sh"; then
|
||||||
chmod +x "$HOME/.scripts/secrets.sh"
|
chmod +x "$HOME/.scripts/secrets.sh"
|
||||||
@ -163,8 +148,8 @@ eval "$(fasd --init auto)"
|
|||||||
|
|
||||||
#cm apply
|
#cm apply
|
||||||
|
|
||||||
# randomly check if we have new jira issues
|
# check if we have new jira issues
|
||||||
runiflucky "istherenewissues"
|
istherenewissues
|
||||||
|
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Darwin)
|
Darwin)
|
||||||
@ -177,10 +162,11 @@ esac
|
|||||||
export SDKMAN_DIR="$HOME/.sdkman"
|
export SDKMAN_DIR="$HOME/.sdkman"
|
||||||
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
|
||||||
|
|
||||||
|
#sdk use java 8.0.202-zulu
|
||||||
|
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
Darwin)
|
Darwin)
|
||||||
ln -snf /usr/local/lib/python3.9/site-packages/pip /usr/local/bin/pip21
|
ln -snf /usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin/pip /usr/local/bin/pip3
|
||||||
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
|
||||||
@ -192,5 +178,3 @@ 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
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
|
|
||||||
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
|
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
|
||||||
export SDKMAN_DIR="/Users/morganwattiez/.sdkman"
|
export SDKMAN_DIR="$HOME/.sdkman"
|
||||||
[[ -s "/Users/morganwattiez/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/morganwattiez/.sdkman/bin/sdkman-init.sh"
|
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
#? Config file for bashtop v. 0.9.19
|
|
||||||
|
|
||||||
#* Color theme, looks for a .theme file in "$HOME/.config/bashtop/themes" and "$HOME/.config/bashtop/user_themes", "Default" for builtin default theme
|
|
||||||
color_theme="Default"
|
|
||||||
|
|
||||||
#* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs
|
|
||||||
update_ms="2500"
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive"
|
|
||||||
#* "cpu lazy" updates sorting over time, "cpu responsive" updates sorting directly
|
|
||||||
proc_sorting="cpu lazy"
|
|
||||||
|
|
||||||
#* Reverse sorting order, "true" or "false"
|
|
||||||
proc_reversed="false"
|
|
||||||
|
|
||||||
#* Show processes as a tree
|
|
||||||
proc_tree="false"
|
|
||||||
|
|
||||||
#* Check cpu temperature, only works if "sensors", "vcgencmd" or "osx-cpu-temp" commands is available
|
|
||||||
check_temp="false"
|
|
||||||
|
|
||||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable
|
|
||||||
draw_clock="%X"
|
|
||||||
|
|
||||||
#* Update main ui when menus are showing, set this to false if the menus is flickering too much for comfort
|
|
||||||
background_update="true"
|
|
||||||
|
|
||||||
#* Custom cpu model name, empty string to disable
|
|
||||||
custom_cpu_name=""
|
|
||||||
|
|
||||||
#* Enable error logging to "$HOME/.config/bashtop/error.log", "true" or "false"
|
|
||||||
error_logging="true"
|
|
||||||
|
|
||||||
#* Show color gradient in process list, "true" or "false"
|
|
||||||
proc_gradient="true"
|
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power
|
|
||||||
proc_per_core="false"
|
|
||||||
|
|
||||||
#* Optional filter for shown disks, should be names of mountpoints, "root" replaces "/", separate multiple values with space
|
|
||||||
disks_filter=""
|
|
||||||
|
|
||||||
#* Enable check for new version from github.com/aristocratos/bashtop at start
|
|
||||||
update_check="true"
|
|
||||||
|
|
||||||
#* Enable graphs with double the horizontal resolution, increases cpu usage
|
|
||||||
hires_graphs="false"
|
|
||||||
|
|
||||||
#* Enable the use of psutil python3 module for data collection, default on OSX
|
|
||||||
use_psutil="true"
|
|
@ -1,238 +0,0 @@
|
|||||||
|
|
||||||
###############################################################
|
|
||||||
# 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"
|
|
||||||
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
# What protocol to use when performing git operations. Supported values: ssh, https
|
|
||||||
git_protocol: https
|
|
||||||
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
|
|
||||||
editor:
|
|
||||||
# Aliases allow you to create nicknames for gh commands
|
|
||||||
aliases:
|
|
||||||
co: pr checkout
|
|
@ -1,26 +0,0 @@
|
|||||||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
|
||||||
# The parser is also very primitive, and not human-friendly.
|
|
||||||
fields=0 48 17 18 38 39 2 46 47 49 1
|
|
||||||
sort_key=46
|
|
||||||
sort_direction=1
|
|
||||||
hide_threads=0
|
|
||||||
hide_kernel_threads=1
|
|
||||||
hide_userland_threads=0
|
|
||||||
shadow_other_users=0
|
|
||||||
show_thread_names=0
|
|
||||||
show_program_path=1
|
|
||||||
highlight_base_name=0
|
|
||||||
highlight_megabytes=1
|
|
||||||
highlight_threads=1
|
|
||||||
tree_view=0
|
|
||||||
header_margin=1
|
|
||||||
detailed_cpu_time=0
|
|
||||||
cpu_count_from_zero=0
|
|
||||||
update_process_names=0
|
|
||||||
account_guest_in_cpu_meter=0
|
|
||||||
color_scheme=0
|
|
||||||
delay=15
|
|
||||||
left_meters=LeftCPUs2 Memory Swap
|
|
||||||
left_meter_modes=1 1 1
|
|
||||||
right_meters=RightCPUs2 Tasks LoadAverage Uptime
|
|
||||||
right_meter_modes=1 2 2 2
|
|
@ -1,761 +0,0 @@
|
|||||||
# See this wiki page for more info:
|
|
||||||
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
|
||||||
print_info() {
|
|
||||||
info title
|
|
||||||
info underline
|
|
||||||
|
|
||||||
info "OS" distro
|
|
||||||
info "Host" model
|
|
||||||
info "Kernel" kernel
|
|
||||||
info "Uptime" uptime
|
|
||||||
info "Packages" packages
|
|
||||||
info "Shell" shell
|
|
||||||
info "Resolution" resolution
|
|
||||||
info "DE" de
|
|
||||||
info "WM" wm
|
|
||||||
info "WM Theme" wm_theme
|
|
||||||
info "Theme" theme
|
|
||||||
info "Icons" icons
|
|
||||||
info "Terminal" term
|
|
||||||
info "Terminal Font" term_font
|
|
||||||
info "CPU" cpu
|
|
||||||
info "GPU" gpu
|
|
||||||
info "Memory" memory
|
|
||||||
|
|
||||||
# info "GPU Driver" gpu_driver # Linux/macOS only
|
|
||||||
# info "CPU Usage" cpu_usage
|
|
||||||
# info "Disk" disk
|
|
||||||
# info "Battery" battery
|
|
||||||
# info "Font" font
|
|
||||||
# info "Song" song
|
|
||||||
# [[ $player ]] && prin "Music Player" "$player"
|
|
||||||
# info "Local IP" local_ip
|
|
||||||
# info "Public IP" public_ip
|
|
||||||
# info "Users" users
|
|
||||||
# info "Locale" locale # This only works on glibc systems.
|
|
||||||
|
|
||||||
info cols
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Kernel
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten the output of the kernel function.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --kernel_shorthand
|
|
||||||
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '4.8.9-1-ARCH'
|
|
||||||
# off: 'Linux 4.8.9-1-ARCH'
|
|
||||||
kernel_shorthand="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Distro
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten the output of the distro function
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off', 'tiny'
|
|
||||||
# Flag: --distro_shorthand
|
|
||||||
# Supports: Everything except Windows and Haiku
|
|
||||||
distro_shorthand="off"
|
|
||||||
|
|
||||||
# Show/Hide OS Architecture.
|
|
||||||
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --os_arch
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Arch Linux x86_64'
|
|
||||||
# off: 'Arch Linux'
|
|
||||||
os_arch="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Uptime
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten the output of the uptime function
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off', 'tiny'
|
|
||||||
# Flag: --uptime_shorthand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '2 days, 10 hours, 3 mins'
|
|
||||||
# off: '2 days, 10 hours, 3 minutes'
|
|
||||||
# tiny: '2d 10h 3m'
|
|
||||||
uptime_shorthand="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Memory
|
|
||||||
|
|
||||||
|
|
||||||
# Show memory pecentage in output.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --memory_percent
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '1801MiB / 7881MiB (22%)'
|
|
||||||
# off: '1801MiB / 7881MiB'
|
|
||||||
memory_percent="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Packages
|
|
||||||
|
|
||||||
|
|
||||||
# Show/Hide Package Manager names.
|
|
||||||
#
|
|
||||||
# Default: 'tiny'
|
|
||||||
# Values: 'on', 'tiny' 'off'
|
|
||||||
# Flag: --package_managers
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
|
||||||
# tiny: '908 (pacman, flatpak, snap)'
|
|
||||||
# off: '908'
|
|
||||||
package_managers="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
|
|
||||||
|
|
||||||
# Show the path to $SHELL
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --shell_path
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '/bin/bash'
|
|
||||||
# off: 'bash'
|
|
||||||
shell_path="off"
|
|
||||||
|
|
||||||
# Show $SHELL version
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --shell_version
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'bash 4.4.5'
|
|
||||||
# off: 'bash'
|
|
||||||
shell_version="on"
|
|
||||||
|
|
||||||
|
|
||||||
# CPU
|
|
||||||
|
|
||||||
|
|
||||||
# CPU speed type
|
|
||||||
#
|
|
||||||
# Default: 'bios_limit'
|
|
||||||
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
|
||||||
# Flag: --speed_type
|
|
||||||
# Supports: Linux with 'cpufreq'
|
|
||||||
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
|
||||||
speed_type="bios_limit"
|
|
||||||
|
|
||||||
# CPU speed shorthand
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'.
|
|
||||||
# Flag: --speed_shorthand
|
|
||||||
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'i7-6500U (4) @ 3.1GHz'
|
|
||||||
# off: 'i7-6500U (4) @ 3.100GHz'
|
|
||||||
speed_shorthand="off"
|
|
||||||
|
|
||||||
# Enable/Disable CPU brand in output.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --cpu_brand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Intel i7-6500U'
|
|
||||||
# off: 'i7-6500U (4)'
|
|
||||||
cpu_brand="on"
|
|
||||||
|
|
||||||
# CPU Speed
|
|
||||||
# Hide/Show CPU speed.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --cpu_speed
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
|
||||||
# off: 'Intel i7-6500U (4)'
|
|
||||||
cpu_speed="on"
|
|
||||||
|
|
||||||
# CPU Cores
|
|
||||||
# Display CPU cores in output
|
|
||||||
#
|
|
||||||
# Default: 'logical'
|
|
||||||
# Values: 'logical', 'physical', 'off'
|
|
||||||
# Flag: --cpu_cores
|
|
||||||
# Support: 'physical' doesn't work on BSD.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
|
||||||
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
|
||||||
# off: 'Intel i7-6500U @ 3.1GHz'
|
|
||||||
cpu_cores="logical"
|
|
||||||
|
|
||||||
# CPU Temperature
|
|
||||||
# Hide/Show CPU temperature.
|
|
||||||
# Note the temperature is added to the regular CPU function.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'C', 'F', 'off'
|
|
||||||
# Flag: --cpu_temp
|
|
||||||
# Supports: Linux, BSD
|
|
||||||
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
|
||||||
# coretemp kernel module. This only supports newer Intel processors.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
|
||||||
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
|
||||||
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
|
||||||
cpu_temp="off"
|
|
||||||
|
|
||||||
|
|
||||||
# GPU
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/Disable GPU Brand
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gpu_brand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'AMD HD 7950'
|
|
||||||
# off: 'HD 7950'
|
|
||||||
gpu_brand="on"
|
|
||||||
|
|
||||||
# Which GPU to display
|
|
||||||
#
|
|
||||||
# Default: 'all'
|
|
||||||
# Values: 'all', 'dedicated', 'integrated'
|
|
||||||
# Flag: --gpu_type
|
|
||||||
# Supports: Linux
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# all:
|
|
||||||
# GPU1: AMD HD 7950
|
|
||||||
# GPU2: Intel Integrated Graphics
|
|
||||||
#
|
|
||||||
# dedicated:
|
|
||||||
# GPU1: AMD HD 7950
|
|
||||||
#
|
|
||||||
# integrated:
|
|
||||||
# GPU1: Intel Integrated Graphics
|
|
||||||
gpu_type="all"
|
|
||||||
|
|
||||||
|
|
||||||
# Resolution
|
|
||||||
|
|
||||||
|
|
||||||
# Display refresh rate next to each monitor
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --refresh_rate
|
|
||||||
# Supports: Doesn't work on Windows.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '1920x1080 @ 60Hz'
|
|
||||||
# off: '1920x1080'
|
|
||||||
refresh_rate="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Gtk Theme / Icons / Font
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten output of GTK Theme / Icons / Font
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gtk_shorthand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Numix, Adwaita'
|
|
||||||
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
|
||||||
gtk_shorthand="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/Disable gtk2 Theme / Icons / Font
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gtk2
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
|
||||||
# off: 'Adwaita [GTK3]'
|
|
||||||
gtk2="on"
|
|
||||||
|
|
||||||
# Enable/Disable gtk3 Theme / Icons / Font
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gtk3
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
|
||||||
# off: 'Numix [GTK2]'
|
|
||||||
gtk3="on"
|
|
||||||
|
|
||||||
|
|
||||||
# IP Address
|
|
||||||
|
|
||||||
|
|
||||||
# Website to ping for the public IP
|
|
||||||
#
|
|
||||||
# Default: 'http://ident.me'
|
|
||||||
# Values: 'url'
|
|
||||||
# Flag: --ip_host
|
|
||||||
public_ip_host="http://ident.me"
|
|
||||||
|
|
||||||
# Public IP timeout.
|
|
||||||
#
|
|
||||||
# Default: '2'
|
|
||||||
# Values: 'int'
|
|
||||||
# Flag: --ip_timeout
|
|
||||||
public_ip_timeout=2
|
|
||||||
|
|
||||||
|
|
||||||
# Disk
|
|
||||||
|
|
||||||
|
|
||||||
# Which disks to display.
|
|
||||||
# The values can be any /dev/sdXX, mount point or directory.
|
|
||||||
# NOTE: By default we only show the disk info for '/'.
|
|
||||||
#
|
|
||||||
# Default: '/'
|
|
||||||
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
|
||||||
# Flag: --disk_show
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# disk_show=('/' '/dev/sdb1'):
|
|
||||||
# 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
|
||||||
#
|
|
||||||
# disk_show=('/'):
|
|
||||||
# 'Disk (/): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
disk_show=('/')
|
|
||||||
|
|
||||||
# Disk subtitle.
|
|
||||||
# What to append to the Disk subtitle.
|
|
||||||
#
|
|
||||||
# Default: 'mount'
|
|
||||||
# Values: 'mount', 'name', 'dir'
|
|
||||||
# Flag: --disk_subtitle
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
# mount: 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
# dir: 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# 'Disk (Local Disk): 74G / 118G (66%)'
|
|
||||||
# 'Disk (Videos): 74G / 118G (66%)'
|
|
||||||
disk_subtitle="mount"
|
|
||||||
|
|
||||||
|
|
||||||
# Song
|
|
||||||
|
|
||||||
|
|
||||||
# Manually specify a music player.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'player-name'
|
|
||||||
# Flag: --music_player
|
|
||||||
#
|
|
||||||
# Available values for 'player-name':
|
|
||||||
#
|
|
||||||
# amarok
|
|
||||||
# audacious
|
|
||||||
# banshee
|
|
||||||
# bluemindo
|
|
||||||
# clementine
|
|
||||||
# cmus
|
|
||||||
# deadbeef
|
|
||||||
# deepin-music
|
|
||||||
# dragon
|
|
||||||
# elisa
|
|
||||||
# exaile
|
|
||||||
# gnome-music
|
|
||||||
# gmusicbrowser
|
|
||||||
# guayadeque
|
|
||||||
# iTunes
|
|
||||||
# juk
|
|
||||||
# lollypop
|
|
||||||
# mocp
|
|
||||||
# mopidy
|
|
||||||
# mpd
|
|
||||||
# netease-cloud-music
|
|
||||||
# pogo
|
|
||||||
# pragha
|
|
||||||
# qmmp
|
|
||||||
# quodlibet
|
|
||||||
# rhythmbox
|
|
||||||
# sayonara
|
|
||||||
# smplayer
|
|
||||||
# spotify
|
|
||||||
# tomahawk
|
|
||||||
# vlc
|
|
||||||
# xmms2d
|
|
||||||
# yarock
|
|
||||||
music_player="auto"
|
|
||||||
|
|
||||||
# Format to display song information.
|
|
||||||
#
|
|
||||||
# Default: '%artist% - %album% - %title%'
|
|
||||||
# Values: '%artist%', '%album%', '%title%'
|
|
||||||
# Flag: --song_format
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# default: 'Song: Jet - Get Born - Sgt Major'
|
|
||||||
song_format="%artist% - %album% - %title%"
|
|
||||||
|
|
||||||
# Print the Artist, Album and Title on separate lines
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --song_shorthand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Artist: The Fratellis'
|
|
||||||
# 'Album: Costello Music'
|
|
||||||
# 'Song: Chelsea Dagger'
|
|
||||||
#
|
|
||||||
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
|
||||||
song_shorthand="off"
|
|
||||||
|
|
||||||
# 'mpc' arguments (specify a host, password etc).
|
|
||||||
#
|
|
||||||
# Default: ''
|
|
||||||
# Example: mpc_args=(-h HOST -P PASSWORD)
|
|
||||||
mpc_args=()
|
|
||||||
|
|
||||||
|
|
||||||
# Text Colors
|
|
||||||
|
|
||||||
|
|
||||||
# Text Colors
|
|
||||||
#
|
|
||||||
# Default: 'distro'
|
|
||||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
|
||||||
# Flag: --colors
|
|
||||||
#
|
|
||||||
# Each number represents a different part of the text in
|
|
||||||
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# colors=(distro) - Text is colored based on Distro colors.
|
|
||||||
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
|
||||||
colors=(distro)
|
|
||||||
|
|
||||||
|
|
||||||
# Text Options
|
|
||||||
|
|
||||||
|
|
||||||
# Toggle bold text
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --bold
|
|
||||||
bold="on"
|
|
||||||
|
|
||||||
# Enable/Disable Underline
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --underline
|
|
||||||
underline_enabled="on"
|
|
||||||
|
|
||||||
# Underline character
|
|
||||||
#
|
|
||||||
# Default: '-'
|
|
||||||
# Values: 'string'
|
|
||||||
# Flag: --underline_char
|
|
||||||
underline_char="-"
|
|
||||||
|
|
||||||
|
|
||||||
# Info Separator
|
|
||||||
# Replace the default separator with the specified string.
|
|
||||||
#
|
|
||||||
# Default: ':'
|
|
||||||
# Flag: --separator
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# separator="->": 'Shell-> bash'
|
|
||||||
# separator=" =": 'WM = dwm'
|
|
||||||
separator=":"
|
|
||||||
|
|
||||||
|
|
||||||
# Color Blocks
|
|
||||||
|
|
||||||
|
|
||||||
# Color block range
|
|
||||||
# The range of colors to print.
|
|
||||||
#
|
|
||||||
# Default: '0', '7'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --block_range
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
#
|
|
||||||
# Display colors 0-7 in the blocks. (8 colors)
|
|
||||||
# neofetch --block_range 0 7
|
|
||||||
#
|
|
||||||
# Display colors 0-15 in the blocks. (16 colors)
|
|
||||||
# neofetch --block_range 0 15
|
|
||||||
block_range=(0 7)
|
|
||||||
|
|
||||||
# Toggle color blocks
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --color_blocks
|
|
||||||
color_blocks="on"
|
|
||||||
|
|
||||||
# Color block width in spaces
|
|
||||||
#
|
|
||||||
# Default: '3'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --block_width
|
|
||||||
block_width=3
|
|
||||||
|
|
||||||
# Color block height in lines
|
|
||||||
#
|
|
||||||
# Default: '1'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --block_height
|
|
||||||
block_height=1
|
|
||||||
|
|
||||||
|
|
||||||
# Progress Bars
|
|
||||||
|
|
||||||
|
|
||||||
# Bar characters
|
|
||||||
#
|
|
||||||
# Default: '-', '='
|
|
||||||
# Values: 'string', 'string'
|
|
||||||
# Flag: --bar_char
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# neofetch --bar_char 'elapsed' 'total'
|
|
||||||
# neofetch --bar_char '-' '='
|
|
||||||
bar_char_elapsed="-"
|
|
||||||
bar_char_total="="
|
|
||||||
|
|
||||||
# Toggle Bar border
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --bar_border
|
|
||||||
bar_border="on"
|
|
||||||
|
|
||||||
# Progress bar length in spaces
|
|
||||||
# Number of chars long to make the progress bars.
|
|
||||||
#
|
|
||||||
# Default: '15'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --bar_length
|
|
||||||
bar_length=15
|
|
||||||
|
|
||||||
# Progress bar colors
|
|
||||||
# When set to distro, uses your distro's logo colors.
|
|
||||||
#
|
|
||||||
# Default: 'distro', 'distro'
|
|
||||||
# Values: 'distro', 'num'
|
|
||||||
# Flag: --bar_colors
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# neofetch --bar_colors 3 4
|
|
||||||
# neofetch --bar_colors distro 5
|
|
||||||
bar_color_elapsed="distro"
|
|
||||||
bar_color_total="distro"
|
|
||||||
|
|
||||||
|
|
||||||
# Info display
|
|
||||||
# Display a bar with the info.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
|
||||||
# Flags: --cpu_display
|
|
||||||
# --memory_display
|
|
||||||
# --battery_display
|
|
||||||
# --disk_display
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# bar: '[---=======]'
|
|
||||||
# infobar: 'info [---=======]'
|
|
||||||
# barinfo: '[---=======] info'
|
|
||||||
# off: 'info'
|
|
||||||
cpu_display="off"
|
|
||||||
memory_display="off"
|
|
||||||
battery_display="off"
|
|
||||||
disk_display="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Backend Settings
|
|
||||||
|
|
||||||
|
|
||||||
# Image backend.
|
|
||||||
#
|
|
||||||
# Default: 'ascii'
|
|
||||||
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
|
|
||||||
# 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
|
||||||
# Flag: --backend
|
|
||||||
image_backend="ascii"
|
|
||||||
|
|
||||||
# Image Source
|
|
||||||
#
|
|
||||||
# Which image or ascii file to display.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
|
||||||
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
|
||||||
# Flag: --source
|
|
||||||
#
|
|
||||||
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
|
||||||
# In ascii mode, distro ascii art will be used and in an image mode, your
|
|
||||||
# wallpaper will be used.
|
|
||||||
image_source="auto"
|
|
||||||
|
|
||||||
|
|
||||||
# Ascii Options
|
|
||||||
|
|
||||||
|
|
||||||
# Ascii distro
|
|
||||||
# Which distro's ascii art to display.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'distro_name'
|
|
||||||
# Flag: --ascii_distro
|
|
||||||
#
|
|
||||||
# NOTE: Arch and Ubuntu have 'old' logo variants.
|
|
||||||
# Change this to 'arch_old' or 'ubuntu_old' to use the old logos.
|
|
||||||
# NOTE: Ubuntu has flavor variants.
|
|
||||||
# Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME' or 'Ubuntu-Budgie' to use the flavors.
|
|
||||||
# NOTE: Arch, Crux and Gentoo have a smaller logo variant.
|
|
||||||
# Change this to 'arch_small', 'crux_small' or 'gentoo_small' to use the small logos.
|
|
||||||
ascii_distro="auto"
|
|
||||||
|
|
||||||
# Ascii Colors
|
|
||||||
#
|
|
||||||
# Default: 'distro'
|
|
||||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
|
||||||
# Flag: --ascii_colors
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
|
||||||
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
|
||||||
ascii_colors=(distro)
|
|
||||||
|
|
||||||
# Bold ascii logo
|
|
||||||
# Whether or not to bold the ascii logo.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --ascii_bold
|
|
||||||
ascii_bold="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Image Options
|
|
||||||
|
|
||||||
|
|
||||||
# Image loop
|
|
||||||
# Setting this to on will make neofetch redraw the image constantly until
|
|
||||||
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --loop
|
|
||||||
image_loop="off"
|
|
||||||
|
|
||||||
# Thumbnail directory
|
|
||||||
#
|
|
||||||
# Default: '~/.cache/thumbnails/neofetch'
|
|
||||||
# Values: 'dir'
|
|
||||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
|
||||||
|
|
||||||
# Crop mode
|
|
||||||
#
|
|
||||||
# Default: 'normal'
|
|
||||||
# Values: 'normal', 'fit', 'fill'
|
|
||||||
# Flag: --crop_mode
|
|
||||||
#
|
|
||||||
# See this wiki page to learn about the fit and fill options.
|
|
||||||
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
|
||||||
crop_mode="normal"
|
|
||||||
|
|
||||||
# Crop offset
|
|
||||||
# Note: Only affects 'normal' crop mode.
|
|
||||||
#
|
|
||||||
# Default: 'center'
|
|
||||||
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
|
||||||
# 'east', 'southwest', 'south', 'southeast'
|
|
||||||
# Flag: --crop_offset
|
|
||||||
crop_offset="center"
|
|
||||||
|
|
||||||
# Image size
|
|
||||||
# The image is half the terminal width by default.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', '00px', '00%', 'none'
|
|
||||||
# Flags: --image_size
|
|
||||||
# --size
|
|
||||||
image_size="auto"
|
|
||||||
|
|
||||||
# Gap between image and text
|
|
||||||
#
|
|
||||||
# Default: '3'
|
|
||||||
# Values: 'num', '-num'
|
|
||||||
# Flag: --gap
|
|
||||||
gap=3
|
|
||||||
|
|
||||||
# Image offsets
|
|
||||||
# Only works with the w3m backend.
|
|
||||||
#
|
|
||||||
# Default: '0'
|
|
||||||
# Values: 'px'
|
|
||||||
# Flags: --xoffset
|
|
||||||
# --yoffset
|
|
||||||
yoffset=0
|
|
||||||
xoffset=0
|
|
||||||
|
|
||||||
# Image background color
|
|
||||||
# Only works with the w3m backend.
|
|
||||||
#
|
|
||||||
# Default: ''
|
|
||||||
# Values: 'color', 'blue'
|
|
||||||
# Flag: --bg_color
|
|
||||||
background_color=
|
|
||||||
|
|
||||||
|
|
||||||
# Misc Options
|
|
||||||
|
|
||||||
# Stdout mode
|
|
||||||
# Turn off all colors and disables image backend (ASCII/Image).
|
|
||||||
# Useful for piping into another command.
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
stdout="off"
|
|
@ -1,102 +0,0 @@
|
|||||||
---
|
|
||||||
wtf:
|
|
||||||
colors:
|
|
||||||
border:
|
|
||||||
focusable: darkslateblue
|
|
||||||
focused: orange
|
|
||||||
normal: gray
|
|
||||||
grid:
|
|
||||||
columns: [32, 32, 32, 32, 90]
|
|
||||||
rows: [10, 10, 10, 4, 4, 90]
|
|
||||||
refreshInterval: 1
|
|
||||||
mods:
|
|
||||||
clocks_a:
|
|
||||||
colors:
|
|
||||||
rows:
|
|
||||||
even: lightblue
|
|
||||||
odd: white
|
|
||||||
enabled: true
|
|
||||||
locations:
|
|
||||||
Vancouver: America/Vancouver
|
|
||||||
Toronto: America/Toronto
|
|
||||||
position:
|
|
||||||
top: 0
|
|
||||||
left: 1
|
|
||||||
height: 1
|
|
||||||
width: 1
|
|
||||||
refreshInterval: 15
|
|
||||||
sort: alphabetical
|
|
||||||
title: Clocks A
|
|
||||||
type: clocks
|
|
||||||
clocks_b:
|
|
||||||
colors:
|
|
||||||
rows:
|
|
||||||
even: lightblue
|
|
||||||
odd: white
|
|
||||||
enabled: true
|
|
||||||
locations:
|
|
||||||
Avignon: Europe/Paris
|
|
||||||
Barcelona: Europe/Madrid
|
|
||||||
Dubai: Asia/Dubai
|
|
||||||
position:
|
|
||||||
top: 0
|
|
||||||
left: 2
|
|
||||||
height: 1
|
|
||||||
width: 1
|
|
||||||
refreshInterval: 15
|
|
||||||
sort: alphabetical
|
|
||||||
title: Clocks B
|
|
||||||
type: clocks
|
|
||||||
feedreader:
|
|
||||||
enabled: true
|
|
||||||
feeds:
|
|
||||||
- http://wtfutil.com/blog/index.xml
|
|
||||||
feedLimit: 10
|
|
||||||
position:
|
|
||||||
top: 1
|
|
||||||
left: 1
|
|
||||||
width: 2
|
|
||||||
height: 1
|
|
||||||
updateInterval: 14400
|
|
||||||
ipinfo:
|
|
||||||
colors:
|
|
||||||
name: lightblue
|
|
||||||
value: white
|
|
||||||
enabled: true
|
|
||||||
position:
|
|
||||||
top: 2
|
|
||||||
left: 1
|
|
||||||
height: 1
|
|
||||||
width: 1
|
|
||||||
refreshInterval: 150
|
|
||||||
power:
|
|
||||||
enabled: true
|
|
||||||
position:
|
|
||||||
top: 2
|
|
||||||
left: 2
|
|
||||||
height: 1
|
|
||||||
width: 1
|
|
||||||
refreshInterval: 15
|
|
||||||
title: ⚡️
|
|
||||||
textfile:
|
|
||||||
enabled: true
|
|
||||||
filePath: ~/.config/wtf/config.yml
|
|
||||||
format: true
|
|
||||||
position:
|
|
||||||
top: 0
|
|
||||||
left: 0
|
|
||||||
height: 4
|
|
||||||
width: 1
|
|
||||||
refreshInterval: 30
|
|
||||||
wrapText: false
|
|
||||||
uptime:
|
|
||||||
args: ['']
|
|
||||||
cmd: uptime
|
|
||||||
enabled: true
|
|
||||||
position:
|
|
||||||
top: 3
|
|
||||||
left: 1
|
|
||||||
height: 1
|
|
||||||
width: 2
|
|
||||||
refreshInterval: 30
|
|
||||||
type: cmdrunner
|
|
@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
extends: default
|
|
||||||
|
|
||||||
rules:
|
|
||||||
braces:
|
|
||||||
level: warning
|
|
||||||
max-spaces-inside: 1
|
|
||||||
brackets:
|
|
||||||
level: warning
|
|
||||||
max-spaces-inside: 1
|
|
||||||
colons:
|
|
||||||
level: warning
|
|
||||||
commas:
|
|
||||||
level: warning
|
|
||||||
comments: disable
|
|
||||||
comments-indentation: disable
|
|
||||||
document-start: disable
|
|
||||||
empty-lines:
|
|
||||||
level: warning
|
|
||||||
hyphens:
|
|
||||||
level: warning
|
|
||||||
indentation:
|
|
||||||
level: warning
|
|
||||||
indent-sequences: consistent
|
|
||||||
line-length:
|
|
||||||
level: warning
|
|
||||||
max: 120
|
|
||||||
allow-non-breakable-inline-mappings: true
|
|
||||||
truthy: disable
|
|
@ -1 +0,0 @@
|
|||||||
auto-reload yes
|
|
@ -1,24 +0,0 @@
|
|||||||
https://sebsauvage.net/links/?do=rss
|
|
||||||
https://opensource.com/feed
|
|
||||||
https://lobste.rs/rss
|
|
||||||
https://korben.info/feed
|
|
||||||
https://hnrss.org/newest
|
|
||||||
https://morss.it/:items=%7C%7C*[class=link]/https://hckrnews.com/
|
|
||||||
https://ma.ttias.be/cronweekly/index.xml
|
|
||||||
https://www.geekzone.fr/feed/les-demons-du-midi/
|
|
||||||
https://lehollandaisvolant.net/rss.php
|
|
||||||
https://feeds.feedburner.com/se-radio
|
|
||||||
https://softwareengineeringdaily.com/category/podcast/feed/
|
|
||||||
https://feeds.simplecast.com/XA_851k3
|
|
||||||
https://changelog.com/podcast/feed
|
|
||||||
https://www.codingblocks.net/podcast-feed.xml
|
|
||||||
https://therabbithole.libsyn.com/rss
|
|
||||||
https://feeds.simplecast.com/7y1CbAbN
|
|
||||||
https://legacycoderocks.libsyn.com/rss
|
|
||||||
https://github.com/MorganGeek.private.atom?token=AA4MQGFBMZSPMN5NQZZGYMN5EFTLU
|
|
||||||
https://buttondown.email/hillelwayne/rss
|
|
||||||
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/eyobd9lr5rtaj1ga9kg0.xml
|
|
||||||
https://www.switchaboo.com/rss/
|
|
||||||
https://blog.eban.bzh/rss.xml
|
|
@ -5,6 +5,3 @@ 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
|
|
||||||
|
175
requirements.txt
175
requirements.txt
@ -1,26 +1,24 @@
|
|||||||
ansicolor==0.2.6
|
|
||||||
appdirs==1.4.3
|
appdirs==1.4.3
|
||||||
appnope==0.1.0
|
appnope==0.1.0
|
||||||
argcomplete==1.10.0
|
argcomplete==1.10.0
|
||||||
arrow==0.15.5
|
|
||||||
asn1crypto==1.2.0
|
asn1crypto==1.2.0
|
||||||
astroid==2.3.3
|
astroid==2.3.3
|
||||||
attrs==19.3.0
|
attrs==19.3.0
|
||||||
Automat==0.8.0
|
Automat==0.8.0
|
||||||
autopep8==1.4.4
|
autopep8==1.4.4
|
||||||
|
awscli==1.16.278
|
||||||
backcall==0.1.0
|
backcall==0.1.0
|
||||||
beautifulsoup4==4.9.1
|
beautifulsoup4==4.8.1
|
||||||
beautysh==6.0.1
|
|
||||||
black==19.10b0
|
black==19.10b0
|
||||||
bleach==3.3.0
|
bleach==3.1.4
|
||||||
|
boto3==1.10.14
|
||||||
|
botocore==1.13.14
|
||||||
bs4==0.0.1
|
bs4==0.0.1
|
||||||
cachetools==3.1.1
|
cachetools==3.1.1
|
||||||
castero==0.8.0
|
certifi==2019.9.11
|
||||||
certifi==2020.6.20
|
|
||||||
cffi==1.13.2
|
cffi==1.13.2
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
CJKwrap==2.2
|
Click==7.0
|
||||||
click==7.1.2
|
|
||||||
colorama==0.4.1
|
colorama==0.4.1
|
||||||
colorzero==1.1
|
colorzero==1.1
|
||||||
configobj==5.0.6
|
configobj==5.0.6
|
||||||
@ -34,21 +32,20 @@ docutils==0.15.2
|
|||||||
entrypoints==0.3
|
entrypoints==0.3
|
||||||
flake8==3.7.9
|
flake8==3.7.9
|
||||||
future==0.18.2
|
future==0.18.2
|
||||||
gitlint==0.13.1
|
|
||||||
google-api-python-client==1.7.11
|
google-api-python-client==1.7.11
|
||||||
google-auth-httplib2==0.0.3
|
|
||||||
google-auth==1.7.0
|
google-auth==1.7.0
|
||||||
|
google-auth-httplib2==0.0.3
|
||||||
gpg==1.13.1
|
gpg==1.13.1
|
||||||
gpiozero==1.5.1
|
gpiozero==1.5.1
|
||||||
guizero==1.1.0
|
guizero==1.1.0
|
||||||
haxor-news==0.4.3
|
haxor-news==0.4.3
|
||||||
httplib2==0.18.0
|
httplib2==0.18.0
|
||||||
hyperlink==19.0.0
|
hyperlink==19.0.0
|
||||||
idna==2.10
|
idna==2.8
|
||||||
incremental==17.5.0
|
incremental==17.5.0
|
||||||
ipykernel==5.1.3
|
ipykernel==5.1.3
|
||||||
ipython-genutils==0.2.0
|
|
||||||
ipython==7.9.0
|
ipython==7.9.0
|
||||||
|
ipython-genutils==0.2.0
|
||||||
isort==4.3.21
|
isort==4.3.21
|
||||||
jedi==0.15.1
|
jedi==0.15.1
|
||||||
jmespath==0.9.4
|
jmespath==0.9.4
|
||||||
@ -57,7 +54,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.6.5
|
lxml==4.4.1
|
||||||
matplotlib==3.1.1
|
matplotlib==3.1.1
|
||||||
mccabe==0.6.1
|
mccabe==0.6.1
|
||||||
mock==3.0.5
|
mock==3.0.5
|
||||||
@ -76,18 +73,14 @@ pigpio==1.44
|
|||||||
Pillow==6.2.1
|
Pillow==6.2.1
|
||||||
pipenv==2018.11.26
|
pipenv==2018.11.26
|
||||||
pkginfo==1.5.0.1
|
pkginfo==1.5.0.1
|
||||||
pocket==0.3.6
|
|
||||||
prompt-toolkit==2.0.10
|
prompt-toolkit==2.0.10
|
||||||
proselint==0.10.2
|
|
||||||
Protego==0.1.15
|
Protego==0.1.15
|
||||||
psutil==5.7.0
|
|
||||||
ptyprocess==0.6.0
|
ptyprocess==0.6.0
|
||||||
pyasn1-modules==0.2.7
|
|
||||||
pyasn1==0.4.7
|
pyasn1==0.4.7
|
||||||
|
pyasn1-modules==0.2.7
|
||||||
pycodestyle==2.5.0
|
pycodestyle==2.5.0
|
||||||
pycparser==2.19
|
pycparser==2.19
|
||||||
PyDispatcher==2.0.5
|
PyDispatcher==2.0.5
|
||||||
pyfiglet==0.8.post1
|
|
||||||
pyflakes==2.1.1
|
pyflakes==2.1.1
|
||||||
pygame==1.9.6
|
pygame==1.9.6
|
||||||
Pygments==2.4.2
|
Pygments==2.4.2
|
||||||
@ -96,38 +89,35 @@ pyhcl==0.4.0
|
|||||||
pylint==2.4.3
|
pylint==2.4.3
|
||||||
pyOpenSSL==19.0.0
|
pyOpenSSL==19.0.0
|
||||||
pyparsing==2.4.4
|
pyparsing==2.4.4
|
||||||
PyQt5-sip==12.7.0
|
|
||||||
PyQt5==5.13.2
|
PyQt5==5.13.2
|
||||||
|
PyQt5-sip==12.7.0
|
||||||
PyQtChart==5.13.1
|
PyQtChart==5.13.1
|
||||||
pyserial==3.4
|
pyserial==3.4
|
||||||
PySocks==1.7.1
|
PySocks==1.7.1
|
||||||
python-dateutil==2.8.0
|
python-dateutil==2.8.1
|
||||||
python-jenkins==1.5.0
|
python-jenkins==1.5.0
|
||||||
python-mpv==0.4.8
|
|
||||||
python-vlc==3.0.10114
|
|
||||||
pytz==2019.3
|
pytz==2019.3
|
||||||
PyYAML==5.1.2
|
PyYAML==5.1.2
|
||||||
pyzmq==18.1.0
|
pyzmq==18.1.0
|
||||||
QScintilla==2.11.3
|
QScintilla==2.11.3
|
||||||
qtconsole==4.5.5
|
qtconsole==4.5.5
|
||||||
queuelib==1.5.0
|
queuelib==1.5.0
|
||||||
rainbowstream==1.5.2
|
|
||||||
readme-renderer==24.0
|
readme-renderer==24.0
|
||||||
rebound-cli==2.0.0
|
rebound-cli==2.0.0
|
||||||
regex==2019.11.1
|
regex==2019.11.1
|
||||||
relint==1.2.1
|
requests==2.22.0
|
||||||
requests-futures==1.0.0
|
requests-futures==1.0.0
|
||||||
requests-toolbelt==0.9.1
|
requests-toolbelt==0.9.1
|
||||||
requests==2.24.0
|
rsa==4.0
|
||||||
rsa==3.4.2
|
|
||||||
rtv==1.27.0
|
rtv==1.27.0
|
||||||
|
s3transfer==0.2.1
|
||||||
|
saws==0.4.3
|
||||||
Scrapy==1.8.0
|
Scrapy==1.8.0
|
||||||
semver==2.9.0
|
semver==2.9.0
|
||||||
service-identity==18.1.0
|
service-identity==18.1.0
|
||||||
sh==1.12.14
|
six==1.13.0
|
||||||
six==1.15.0
|
|
||||||
slacker==0.13.0
|
slacker==0.13.0
|
||||||
soupsieve==2.0.1
|
soupsieve==1.9.5
|
||||||
stashy==0.6
|
stashy==0.6
|
||||||
stem==1.7.1
|
stem==1.7.1
|
||||||
toml==0.10.0
|
toml==0.10.0
|
||||||
@ -135,135 +125,16 @@ tornado==6.0.3
|
|||||||
torrequest==0.1.0
|
torrequest==0.1.0
|
||||||
tqdm==4.38.0
|
tqdm==4.38.0
|
||||||
traitlets==4.3.3
|
traitlets==4.3.3
|
||||||
tuir==1.29.0
|
|
||||||
Twisted==19.7.0
|
Twisted==19.7.0
|
||||||
twitter==1.18.0
|
|
||||||
typed-ast==1.4.0
|
typed-ast==1.4.0
|
||||||
uritemplate==3.0.0
|
uritemplate==3.0.0
|
||||||
urllib3==1.25.9
|
urllib3==1.25.6
|
||||||
urwid==2.0.1
|
urwid==2.0.1
|
||||||
vim-vint==0.3.21
|
|
||||||
virtualenv-clone==0.5.3
|
|
||||||
virtualenv==16.7.7
|
virtualenv==16.7.7
|
||||||
|
virtualenv-clone==0.5.3
|
||||||
w3lib==1.21.0
|
w3lib==1.21.0
|
||||||
wcwidth==0.1.7
|
wcwidth==0.1.7
|
||||||
webencodings==0.5.1
|
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
|
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
|
|
||||||
|
Loading…
Reference in New Issue
Block a user