mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-04 13:49:07 +00:00
Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 36e0f36e06 | |||
| e2c37d29e8 | |||
| 78716fa8ce | |||
| 81e9b20eb6 | |||
|
|
94e58b307b | ||
| 98aca096a9 | |||
| 121e31c7d4 | |||
| f6bcd10ac5 | |||
| 619c772fcc | |||
| 746d44151c | |||
| b9585209be | |||
| 930dcf00c4 | |||
| bb8e3bba56 | |||
| 6431c2e6dc | |||
| 248eca1ae6 | |||
| 4b1ab2e1b8 | |||
| c0f537439b | |||
| 9ab132d37c | |||
| 2b9ddc232b | |||
| 1a244ce0b1 | |||
| fdc0f45b23 | |||
| 3fa90eef3b | |||
| 7ea7c12f0b | |||
| f76492b942 | |||
| 7947340663 | |||
| 300c48b1e9 | |||
| 772527cc66 | |||
|
|
370fdcbcbe | ||
| b32c86bac2 | |||
| 8d85809b1c | |||
| 7fc40e3eab | |||
|
|
1aca769ebf | ||
| 57df4edf6c | |||
| 240ac35aa8 | |||
| ad0ba59b67 | |||
| bbc26e66dd | |||
| 1803d41969 | |||
| 34d547433f | |||
| dff4b9a9c5 | |||
| c33404eb27 | |||
| 99e7578d60 | |||
| d8011728c7 | |||
| 2f67d4a2e2 | |||
|
|
ef37681087 | ||
|
|
0c014033d1 | ||
|
|
14635009d2 | ||
| 70118fee52 | |||
|
|
0dce28ea6a | ||
| ba15f82302 | |||
| d4972ea30d | |||
| ed7263dfee | |||
| 4cda063305 | |||
| d251ea9cdc |
@@ -19,7 +19,7 @@ indent_size = 1
|
|||||||
indent_size = 1
|
indent_size = 1
|
||||||
indent_style = tab
|
indent_style = tab
|
||||||
|
|
||||||
[{local/bin/*,**/*.sh,**/zshrc,config/*}]
|
[{local/bin/*,**/*.sh,**/zshrc,config/*,scripts/*}]
|
||||||
shell_variant = bash # --language-variant
|
shell_variant = bash # --language-variant
|
||||||
binary_next_line = true
|
binary_next_line = true
|
||||||
switch_case_indent = true # --case-indent
|
switch_case_indent = true # --case-indent
|
||||||
|
|||||||
5
.gitattributes
vendored
5
.gitattributes
vendored
@@ -220,8 +220,3 @@ git/* text
|
|||||||
**/alias text
|
**/alias text
|
||||||
ssh/* text
|
ssh/* text
|
||||||
|
|
||||||
# Git Crypt special files
|
|
||||||
*-secret filter=git-crypt diff=git-crypt
|
|
||||||
*.key filter=git-crypt diff=git-crypt
|
|
||||||
secrets/** filter=git-crypt diff=git-crypt
|
|
||||||
|
|
||||||
|
|||||||
1
.github/workflows/changelog.yml
vendored
1
.github/workflows/changelog.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
name: Debug Changelog # Workflow name displayed on GitHub
|
name: Debug Changelog # Workflow name displayed on GitHub
|
||||||
on:
|
on:
|
||||||
workflow_dispatch: # Trigger manually
|
workflow_dispatch: # Trigger manually
|
||||||
|
|||||||
1
.github/workflows/linters.yml
vendored
1
.github/workflows/linters.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
name: reviewdog
|
name: reviewdog
|
||||||
on: [push]
|
on: [push]
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
16
.github/workflows/new-release.yml
vendored
16
.github/workflows/new-release.yml
vendored
@@ -1,21 +1,24 @@
|
|||||||
name: Release Daily State # Workflow name displayed on GitHub
|
---
|
||||||
|
name: Release Daily State
|
||||||
on:
|
on:
|
||||||
workflow_dispatch: # Trigger manually
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '30 20 * * *' # UTC is 2-3 hours behind Europe/Helsinki, my timezone
|
- cron: '0 21 * * *' # 00:00 at Europe/Helsinki
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
jobs:
|
jobs:
|
||||||
new-daily-release:
|
new-daily-release:
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
outputs:
|
outputs:
|
||||||
created: ${{ steps.daily-version.outputs.created }}
|
created: ${{ steps.daily-version.outputs.created }}
|
||||||
version: ${{ steps.daily-version.outputs.version }}
|
version: ${{ steps.daily-version.outputs.version }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4 # Checkout our working repository
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Create tag if necessary
|
- name: Create tag if necessary
|
||||||
uses: fregante/daily-version-action@v2
|
uses: fregante/daily-version-action@v2
|
||||||
id: daily-version
|
id: daily-version
|
||||||
|
|
||||||
- name: Create changelog text
|
- name: Create changelog text
|
||||||
if: steps.daily-version.outputs.created
|
if: steps.daily-version.outputs.created
|
||||||
id: changelog
|
id: changelog
|
||||||
@@ -23,6 +26,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
config_file: .github/tag-changelog-config.js
|
config_file: .github/tag-changelog-config.js
|
||||||
|
|
||||||
- name: Create release
|
- name: Create release
|
||||||
if: steps.daily-version.outputs.created
|
if: steps.daily-version.outputs.created
|
||||||
uses: actions/create-release@latest
|
uses: actions/create-release@latest
|
||||||
|
|||||||
1
.github/workflows/semantic-pr.yml
vendored
1
.github/workflows/semantic-pr.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
name: Semantic PR
|
name: Semantic PR
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
|||||||
9
.github/workflows/update-submodules.yml
vendored
9
.github/workflows/update-submodules.yml
vendored
@@ -1,13 +1,14 @@
|
|||||||
|
---
|
||||||
name: Update submodules
|
name: Update submodules
|
||||||
on:
|
on:
|
||||||
schedule: [{ cron: 0 3 * * * }]
|
schedule: [{ cron: 0 3 * * * }]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
issues: write
|
|
||||||
pull-requests: write
|
|
||||||
jobs:
|
jobs:
|
||||||
update-submodules:
|
update-submodules:
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
# only care about files that are under our control
|
# only care about files that are directly under our control
|
||||||
config/cheat/cheatsheets/community/*
|
config/cheat/cheatsheets/community/*
|
||||||
|
config/cheat/cheatsheets/tldr/*
|
||||||
config/tmux/plugins/*
|
config/tmux/plugins/*
|
||||||
|
local/bin/asdf/*
|
||||||
tools/*
|
tools/*
|
||||||
node_modules/*
|
node_modules/*
|
||||||
|
|
||||||
|
|||||||
50
.pre-commit-config.yaml
Normal file
50
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.6.0
|
||||||
|
hooks:
|
||||||
|
- id: trailing-whitespace
|
||||||
|
args: [--markdown-linebreak-ext=md]
|
||||||
|
- id: check-case-conflict
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: check-shebang-scripts-are-executable
|
||||||
|
- id: check-symlinks
|
||||||
|
- id: check-toml
|
||||||
|
- id: check-xml
|
||||||
|
- id: check-yaml
|
||||||
|
args: [--allow-multiple-documents]
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: mixed-line-ending
|
||||||
|
args: [--fix=auto]
|
||||||
|
- id: pretty-format-json
|
||||||
|
args: [--autofix, --no-sort-keys]
|
||||||
|
|
||||||
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||||
|
rev: v0.41.0
|
||||||
|
hooks:
|
||||||
|
- id: markdownlint
|
||||||
|
args: [-c, .markdownlint.yaml, --fix]
|
||||||
|
|
||||||
|
- repo: https://github.com/adrienverge/yamllint
|
||||||
|
rev: v1.35.1
|
||||||
|
hooks:
|
||||||
|
- id: yamllint
|
||||||
|
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
|
rev: v4.0.0-alpha.8
|
||||||
|
hooks:
|
||||||
|
- id: prettier
|
||||||
|
|
||||||
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||||
|
rev: v0.10.0.1
|
||||||
|
hooks:
|
||||||
|
- id: shellcheck
|
||||||
|
|
||||||
|
- repo: https://github.com/scop/pre-commit-shfmt
|
||||||
|
rev: v3.9.0-1
|
||||||
|
hooks:
|
||||||
|
- id: shfmt
|
||||||
|
|
||||||
|
- repo: https://github.com/rhysd/actionlint
|
||||||
|
rev: v1.7.1
|
||||||
|
hooks:
|
||||||
|
- id: actionlint
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
plugins: ['prettier-plugin-sh'],
|
|
||||||
...require('@ivuorinen/prettier-config'),
|
...require('@ivuorinen/prettier-config'),
|
||||||
trailingComma: 'all',
|
trailingComma: 'all',
|
||||||
// Add custom options below:
|
// Add custom options below:
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
3.12
|
|
||||||
2
.tool-versions
Normal file
2
.tool-versions
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
python 3.12.6
|
||||||
|
nodejs 22.9.0
|
||||||
0
.yamlignore
Normal file
0
.yamlignore
Normal file
@@ -18,9 +18,6 @@ x-have oh-my-posh && {
|
|||||||
eval "$(oh-my-posh init bash --config "$DOTFILES/config/omp/own.toml")"
|
eval "$(oh-my-posh init bash --config "$DOTFILES/config/omp/own.toml")"
|
||||||
}
|
}
|
||||||
|
|
||||||
. "$XDG_BIN_HOME/asdf/asdf.sh"
|
|
||||||
. "$XDG_BIN_HOME/asdf/completions/asdf.bash"
|
|
||||||
|
|
||||||
x-have antidot && {
|
x-have antidot && {
|
||||||
eval "$(antidot init)"
|
eval "$(antidot init)"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,30 @@
|
|||||||
|
asdf-plugin-manager 1.3.1
|
||||||
|
nodejs 22.8.0
|
||||||
|
golang 1.23.1
|
||||||
|
python 3.12.6
|
||||||
|
ruby 3.3.4
|
||||||
|
rust 1.81.0
|
||||||
|
direnv 2.34.0
|
||||||
|
eza 0.19.3
|
||||||
|
fd 10.2.0
|
||||||
1password-cli 2.30.0
|
1password-cli 2.30.0
|
||||||
age 1.2.0
|
age 1.2.0
|
||||||
asdf-plugin-manager 1.3.1
|
|
||||||
bottom 0.10.2
|
bottom 0.10.2
|
||||||
direnv 2.34.0
|
|
||||||
dotenv-linter 3.3.0
|
dotenv-linter 3.3.0
|
||||||
editorconfig-checker 2.8.0
|
editorconfig-checker 2.8.0
|
||||||
eza 0.19.0
|
github-cli 2.56.0
|
||||||
fd 10.1.0
|
|
||||||
github-cli 2.54.0
|
|
||||||
golang 1.22.6
|
|
||||||
hadolint 2.12.0
|
hadolint 2.12.0
|
||||||
kubectl 1.30.3
|
kubectl 1.31.1
|
||||||
lazygit 0.43.1
|
pipx 1.7.1
|
||||||
nodejs 22.6.0
|
|
||||||
pipx 1.6.0
|
|
||||||
pre-commit 3.8.0
|
pre-commit 3.8.0
|
||||||
ripgrep 14.1.0
|
ripgrep 14.1.1
|
||||||
ruby 3.3.4
|
|
||||||
rust 1.80.1
|
|
||||||
semgrep system
|
|
||||||
shellcheck 0.10.0
|
shellcheck 0.10.0
|
||||||
shfmt 3.8.0
|
shfmt 3.9.0
|
||||||
terraform-lsp 0.0.12
|
terragrunt 0.67.5
|
||||||
terragrunt 0.66.3
|
|
||||||
tf-summarize 0.3.10
|
tf-summarize 0.3.10
|
||||||
vault 1.17.3
|
|
||||||
yamllint 1.35.1
|
yamllint 1.35.1
|
||||||
yq 4.44.3
|
yq 4.44.3
|
||||||
|
bats 1.11.0
|
||||||
|
gitleaks 8.18.4
|
||||||
|
delta 0.18.1
|
||||||
|
lazygit 0.44.0
|
||||||
|
|||||||
72
base/zshrc
72
base/zshrc
@@ -5,23 +5,14 @@
|
|||||||
# export DEBUG=1
|
# export DEBUG=1
|
||||||
|
|
||||||
export DOTFILES="$HOME/.dotfiles"
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
export PATH="$HOME/.local/bin:$DOTFILES/local/bin:$HOME/.local/share/bob/nvim-bin:$HOME/.local/share/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
LOCAL_SHARE="$HOME/.local/share"
|
||||||
|
export PATH="$HOME/.local/bin:$DOTFILES/local/bin:$LOCAL_SHARE/nvim-kickstart/mason/bin:$LOCAL_SHARE/bob/nvim-bin:$LOCAL_SHARE/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
||||||
export SHARED_SCRIPTS_SOURCED=0
|
export SHARED_SCRIPTS_SOURCED=0
|
||||||
|
|
||||||
source "$DOTFILES/config/shared.sh"
|
source "$DOTFILES/config/shared.sh"
|
||||||
|
|
||||||
eval "$(oh-my-posh init zsh --config "$DOTFILES/config/omp/own.toml")"
|
eval "$(oh-my-posh init zsh --config "$DOTFILES/config/omp/own.toml")"
|
||||||
|
|
||||||
# Load asdf
|
|
||||||
export ASDF_DIR="$XDG_BIN_HOME/asdf"
|
|
||||||
if [[ -d $ASDF_DIR ]]; then
|
|
||||||
[[ -d $ASDF_DIR/bin ]] && x-path-prepend "$ASDF_DIR/bin"
|
|
||||||
[[ -d $ASDF_DIR/shims ]] && x-path-prepend "$ASDF_DIR/shims"
|
|
||||||
[[ -d $ASDF_DIR/completions ]] && fpath=("$ASDF_DIR/completions" $fpath)
|
|
||||||
[[ -d $ASDF_DIR/plugins ]] && fpath=("$ASDF_DIR/plugins" $fpath)
|
|
||||||
source "$ASDF_DIR/asdf.sh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Function to load antigen if available
|
# Function to load antigen if available
|
||||||
load_antigen()
|
load_antigen()
|
||||||
{
|
{
|
||||||
@@ -32,30 +23,37 @@ load_antigen()
|
|||||||
|
|
||||||
antigen use oh-my-zsh
|
antigen use oh-my-zsh
|
||||||
|
|
||||||
export ZSH_TMUX_AUTOSTART=true
|
# Disable ls colors to avoid issues with eza
|
||||||
|
export DISABLE_LS_COLORS=true
|
||||||
|
|
||||||
|
export ZSH_TMUX_AUTOSTART=false
|
||||||
export ZSH_TMUX_CONFIG="$DOTFILES/config/tmux/tmux.conf"
|
export ZSH_TMUX_CONFIG="$DOTFILES/config/tmux/tmux.conf"
|
||||||
export ZSH_TMUX_UNICODE=true
|
export ZSH_TMUX_UNICODE=true
|
||||||
export ZSH_TMUX_AUTOQUIT=false
|
export ZSH_TMUX_AUTOQUIT=false
|
||||||
export ZSH_TMUX_DEFAULT_SESSION_NAME=main
|
export ZSH_TMUX_DEFAULT_SESSION_NAME=main
|
||||||
|
|
||||||
zstyle :omz:plugins:ssh-agent quiet yes
|
zstyle ':omz:plugins:eza' 'dirs-first' yes
|
||||||
|
zstyle ':omz:plugins:eza' 'git-status' yes
|
||||||
|
zstyle ':omz:plugins:eza' 'icons' yes
|
||||||
|
zstyle ':omz:plugins:eza' 'ls' yes
|
||||||
|
zstyle ':omz:plugins:eza' 'prompt' yes
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
zstyle :omz:plugins:ssh-agent keychain yes
|
||||||
|
fi
|
||||||
zstyle :omz:plugins:ssh-agent lazy yes
|
zstyle :omz:plugins:ssh-agent lazy yes
|
||||||
|
zstyle :omz:plugins:ssh-agent quiet yes
|
||||||
|
|
||||||
# z, the zsh version
|
# z, the zsh version
|
||||||
export ZSHZ_DATA="$XDG_STATE_HOME/z"
|
export ZSHZ_DATA="$XDG_STATE_HOME/z"
|
||||||
antigen bundle z
|
antigen bundle z
|
||||||
|
|
||||||
x-have python && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
|
|
||||||
|
|
||||||
# these should be always available
|
# these should be always available
|
||||||
antigen bundle gpg-agent
|
|
||||||
antigen bundle brew
|
|
||||||
antigen bundle tmux
|
|
||||||
antigen bundle colored-man-pages
|
|
||||||
# antigen bundle ssh-agent
|
|
||||||
antigen bundle jreese/zsh-titles
|
antigen bundle jreese/zsh-titles
|
||||||
|
antigen bundle brew
|
||||||
|
antigen bundle colored-man-pages
|
||||||
antigen bundle zsh-users/zsh-completions
|
antigen bundle zsh-users/zsh-completions
|
||||||
|
antigen bundle eza
|
||||||
|
|
||||||
# this needs to be the last item
|
# this needs to be the last item
|
||||||
antigen bundle zsh-users/zsh-syntax-highlighting
|
antigen bundle zsh-users/zsh-syntax-highlighting
|
||||||
@@ -73,17 +71,6 @@ source_fzf_config()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to initialize pyenv if available
|
|
||||||
initialize_pyenv()
|
|
||||||
{
|
|
||||||
if x-have pyenv; then
|
|
||||||
[[ -d $PYENV_ROOT/bin ]] && x-path-append "$PYENV_ROOT/bin"
|
|
||||||
[[ -d $PYENV_ROOT/shims ]] && x-path-append "$PYENV_ROOT/shims"
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
eval "$(pyenv virtualenv-init -)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to set up tmux window name plugin if tmux is active
|
# Function to set up tmux window name plugin if tmux is active
|
||||||
setup_tmux_window_name_plugin()
|
setup_tmux_window_name_plugin()
|
||||||
{
|
{
|
||||||
@@ -100,28 +87,15 @@ setup_tmux_window_name_plugin()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to initialize antidot if available
|
|
||||||
initialize_antidot()
|
|
||||||
{
|
|
||||||
if x-have antidot; then
|
|
||||||
eval "$(antidot init)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
initialize_direnv()
|
|
||||||
{
|
|
||||||
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
load_antigen
|
load_antigen
|
||||||
source_fzf_config
|
source_fzf_config
|
||||||
initialize_pyenv
|
|
||||||
setup_tmux_window_name_plugin
|
setup_tmux_window_name_plugin
|
||||||
initialize_antidot
|
if x-have antidot; then
|
||||||
initialize_direnv
|
eval "$(antidot init)"
|
||||||
|
fi
|
||||||
|
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
|
||||||
|
|||||||
23
config/alias
23
config/alias
@@ -52,15 +52,23 @@ alias flush="dscacheutil -flushcache"
|
|||||||
# Update locatedb
|
# Update locatedb
|
||||||
alias updatedb="sudo /usr/libexec/locate.updatedb"
|
alias updatedb="sudo /usr/libexec/locate.updatedb"
|
||||||
|
|
||||||
|
# Date helpers
|
||||||
|
alias isodate="date +'%Y-%m-%d'"
|
||||||
|
alias x-datetime="date +'%Y-%m-%d %H:%M:%S'"
|
||||||
|
alias x-timestamp="date +'%s'"
|
||||||
|
|
||||||
# tmux: automatically attach or create session with name 'main'
|
# tmux: automatically attach or create session with name 'main'
|
||||||
alias tmux='tmux new-session -A -s main'
|
alias tm='command tmux new-session -A -s main'
|
||||||
# tmux: attach or create new session
|
# tmux: attach or create new session
|
||||||
alias ta='tmux attach || tmux'
|
alias ta='command tmux attach || command tmux'
|
||||||
|
|
||||||
# nvim
|
# nvim
|
||||||
alias nvim-ks='NVIM_APPNAME="nvim-kickstart" nvim'
|
alias nvim-ks='NVIM_APPNAME="nvim-kickstart" nvim'
|
||||||
alias ks='NVIM_APPNAME="nvim-kickstart" nvim'
|
alias ks='NVIM_APPNAME="nvim-kickstart" nvim'
|
||||||
|
|
||||||
|
# xdg-ninja aliases for better experience
|
||||||
|
alias xdg='xdg-ninja --skip-ok --skip-unsupported'
|
||||||
|
|
||||||
# watch with: differences, precise, beep and color
|
# watch with: differences, precise, beep and color
|
||||||
alias watchx='watch -dpbc'
|
alias watchx='watch -dpbc'
|
||||||
# delete .DS_Store files
|
# delete .DS_Store files
|
||||||
@@ -112,3 +120,14 @@ if [[ $(uname) == 'Darwin' ]]; then
|
|||||||
# Using herd for php now, so this is not needed anymore
|
# Using herd for php now, so this is not needed anymore
|
||||||
# x-set-php-aliases
|
# x-set-php-aliases
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
X_ALIAS_FILES=(
|
||||||
|
"$HOME/.config/alias-secret"
|
||||||
|
"$HOME/.config/alias-$(hostname)"
|
||||||
|
"$HOME/.config/alias-$(hostname)-secret"
|
||||||
|
)
|
||||||
|
for aliasFile in "${X_ALIAS_FILES[@]}"; do
|
||||||
|
# shellcheck source=$HOME/.config/alias-secret
|
||||||
|
[ -f "$aliasFile" ] && source "$aliasFile" && msg "Sourced $aliasFile"
|
||||||
|
done
|
||||||
|
unset X_ALIAS_FILES
|
||||||
|
|||||||
3
config/asdf-direnv/zshrc
Normal file
3
config/asdf-direnv/zshrc
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
### Do not edit. This was autogenerated by 'asdf direnv setup' ###
|
||||||
|
export ASDF_DIRENV_BIN="$(asdf where direnv)/bin/direnv"
|
||||||
|
eval "$($ASDF_DIRENV_BIN hook zsh)"
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
// These are golang packages I use,
|
// These are golang packages I use,
|
||||||
// so they should be available with all versions
|
// so they should be available with all versions
|
||||||
|
|
||||||
// sysadmin/scripting utilities, distributed as a single binary
|
|
||||||
github.com/skx/sysbox@release-0.18.0
|
|
||||||
// Git Profile allows you to switch between user profiles in git repos
|
// Git Profile allows you to switch between user profiles in git repos
|
||||||
github.com/dotzero/git-profile@v1.4.0
|
github.com/dotzero/git-profile@v1.4.0
|
||||||
// An extensible command line tool or library to format yaml files.
|
// An extensible command line tool or library to format yaml files.
|
||||||
|
|||||||
@@ -1,28 +1,27 @@
|
|||||||
1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab
|
1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab
|
||||||
age https://github.com/threkk/asdf-age.git 4df80a0
|
age https://github.com/threkk/asdf-age.git 4df80a0
|
||||||
asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git 50d2735
|
asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git ecd1642
|
||||||
bottom https://github.com/carbonteq/asdf-btm.git fd8a55a
|
bottom https://github.com/carbonteq/asdf-btm.git fd8a55a
|
||||||
dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53
|
direnv https://github.com/asdf-community/asdf-direnv.git a2219c2
|
||||||
editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5
|
dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53
|
||||||
eza https://github.com/lwiechec/asdf-eza.git 08c1b65
|
editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5
|
||||||
fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0
|
eza https://github.com/lwiechec/asdf-eza.git eee3d59
|
||||||
github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7
|
fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0
|
||||||
hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230
|
github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7
|
||||||
kubectl https://github.com/asdf-community/asdf-kubectl.git cbe6df4
|
golang https://github.com/asdf-community/asdf-golang.git 0e86b1d
|
||||||
lazygit https://github.com/nklmilojevic/asdf-lazygit.git 78e04f1
|
hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230
|
||||||
neovim https://github.com/richin13/asdf-neovim d6118ad
|
kubectl https://github.com/asdf-community/asdf-kubectl.git cbe6df4
|
||||||
nodejs https://github.com/asdf-vm/asdf-nodejs.git c5b7c40
|
lazygit https://github.com/nklmilojevic/asdf-lazygit.git 78e04f1
|
||||||
pipx https://github.com/yozachar/asdf-pipx.git 31db618
|
nodejs https://github.com/asdf-vm/asdf-nodejs.git c5b7c40
|
||||||
pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42
|
pipx https://github.com/yozachar/asdf-pipx.git 31db618
|
||||||
ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665
|
pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42
|
||||||
rust https://github.com/code-lever/asdf-rust.git 95acf4f
|
python https://github.com/asdf-community/asdf-python 7b0af87
|
||||||
semgrep https://github.com/brentjanderson/asdf-semgrep.git 13ff78b
|
ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665
|
||||||
shellcheck https://github.com/luizm/asdf-shellcheck.git 780d78d
|
ruby https://github.com/asdf-vm/asdf-ruby.git 27f78c9
|
||||||
shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff
|
rust https://github.com/code-lever/asdf-rust.git 95acf4f
|
||||||
terraform-ls https://github.com/asdf-community/asdf-hashicorp.git f1602b6
|
shellcheck https://github.com/luizm/asdf-shellcheck.git 780d78d
|
||||||
terraform-lsp https://github.com/bartlomiejdanek/asdf-terraform-lsp.git bba7106
|
shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff
|
||||||
terragrunt https://github.com/ohmer/asdf-terragrunt 4a6651a
|
terragrunt https://github.com/ohmer/asdf-terragrunt.git 4a6651a
|
||||||
tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26
|
tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26
|
||||||
vault https://github.com/asdf-community/asdf-hashicorp.git f1602b6
|
yamllint https://github.com/ericcornelissen/asdf-yamllint.git 2f4fd4c
|
||||||
yamllint https://github.com/ericcornelissen/asdf-yamllint.git d5c3161
|
yq https://github.com/sudermanjr/asdf-yq.git 772992f
|
||||||
yq https://github.com/sudermanjr/asdf-yq.git 772992f
|
|
||||||
|
|||||||
3
config/asdf/python-packages
Normal file
3
config/asdf/python-packages
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
ansible
|
||||||
|
pipenv
|
||||||
|
semgrep
|
||||||
@@ -7,7 +7,7 @@ colorize: false
|
|||||||
# Which 'chroma' colorscheme should be applied to the output?
|
# Which 'chroma' colorscheme should be applied to the output?
|
||||||
# Options are available here:
|
# Options are available here:
|
||||||
# https://github.com/alecthomas/chroma/tree/master/styles
|
# https://github.com/alecthomas/chroma/tree/master/styles
|
||||||
style: 'tokyonight'
|
# style: 'tokyonight-day'
|
||||||
# Which 'chroma' "formatter" should be applied?
|
# Which 'chroma' "formatter" should be applied?
|
||||||
# One of: "terminal", "terminal256", "terminal16m"
|
# One of: "terminal", "terminal256", "terminal16m"
|
||||||
formatter: terminal256
|
formatter: terminal256
|
||||||
|
|||||||
13
config/direnv/direnv.toml
Normal file
13
config/direnv/direnv.toml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[global]
|
||||||
|
disable_stdin = true
|
||||||
|
load_dotenv = true
|
||||||
|
hide_env_diff = true
|
||||||
|
|
||||||
|
[whitelist]
|
||||||
|
prefix = [
|
||||||
|
"~/Code/ivuorinen/"
|
||||||
|
]
|
||||||
|
exact = [
|
||||||
|
"~/.dotfiles/.envrc"
|
||||||
|
]
|
||||||
|
|
||||||
4
config/direnv/lib/use_asdf.sh
Normal file
4
config/direnv/lib/use_asdf.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
### Do not edit. This was autogenerated by 'asdf direnv setup' ###
|
||||||
|
use_asdf() {
|
||||||
|
source_env "$(asdf direnv envrc "$@")"
|
||||||
|
}
|
||||||
109
config/exports
109
config/exports
@@ -9,12 +9,29 @@
|
|||||||
[ -z "$XDG_CACHE_HOME" ] && export XDG_CACHE_HOME="$HOME/.cache"
|
[ -z "$XDG_CACHE_HOME" ] && export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
[ -z "$XDG_STATE_HOME" ] && export XDG_STATE_HOME="$HOME/.local/state"
|
[ -z "$XDG_STATE_HOME" ] && export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
[ -z "$XDG_BIN_HOME" ] && export XDG_BIN_HOME="$HOME/.local/bin"
|
[ -z "$XDG_BIN_HOME" ] && export XDG_BIN_HOME="$HOME/.local/bin"
|
||||||
|
[ -z "$XDG_RUNTIME_DIR" ] && export XDG_RUNTIME_DIR="$HOME/.local/run"
|
||||||
|
|
||||||
# if DOTFILES is not set, set it to the default location
|
# if DOTFILES is not set, set it to the default location
|
||||||
[ -z "$DOTFILES" ] && export DOTFILES="$HOME/.dotfiles"
|
[ -z "$DOTFILES" ] && export DOTFILES="$HOME/.dotfiles"
|
||||||
|
|
||||||
export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$XDG_DATA_HOME/bob/nvim-bin:$XDG_DATA_HOME/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$XDG_DATA_HOME/bob/nvim-bin:$XDG_DATA_HOME/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
||||||
|
|
||||||
|
# Load bash completions if available for zsh
|
||||||
|
if [[ -n "$ZSH_VERSION" ]]; then
|
||||||
|
autoload bashcompinit
|
||||||
|
bashcompinit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load asdf
|
||||||
|
export ASDF_DIR="$XDG_BIN_HOME/asdf"
|
||||||
|
if [[ -d $ASDF_DIR ]]; then
|
||||||
|
[[ -d $ASDF_DIR/bin ]] && x-path-prepend "$ASDF_DIR/bin"
|
||||||
|
[[ -d $ASDF_DIR/shims ]] && x-path-prepend "$ASDF_DIR/shims"
|
||||||
|
[[ -d $ASDF_DIR/completions ]] && fpath=("$ASDF_DIR/completions" $fpath)
|
||||||
|
[[ -d $ASDF_DIR/plugins ]] && fpath=("$ASDF_DIR/plugins" $fpath)
|
||||||
|
source "$ASDF_DIR/asdf.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
if ! command -v msg &> /dev/null; then
|
if ! command -v msg &> /dev/null; then
|
||||||
# Function to print messages if VERBOSE is enabled
|
# Function to print messages if VERBOSE is enabled
|
||||||
# $1 - message (string)
|
# $1 - message (string)
|
||||||
@@ -77,7 +94,7 @@ darknotify_alacritty()
|
|||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
darknotify_alacritty
|
# darknotify_alacritty
|
||||||
|
|
||||||
# Function to list installed Homebrew packages using bkt caching
|
# Function to list installed Homebrew packages using bkt caching
|
||||||
brew_installed()
|
brew_installed()
|
||||||
@@ -131,7 +148,7 @@ rector()
|
|||||||
{
|
{
|
||||||
local php="${1:-82}"
|
local php="${1:-82}"
|
||||||
docker run -v "$(pwd)":/project rector/rector:latest process \
|
docker run -v "$(pwd)":/project rector/rector:latest process \
|
||||||
"/project/$1" \
|
"/project/" \
|
||||||
--set "php${php}" \
|
--set "php${php}" \
|
||||||
--autoload-file /project/vendor/autoload.php
|
--autoload-file /project/vendor/autoload.php
|
||||||
}
|
}
|
||||||
@@ -254,6 +271,7 @@ export BASH_COMPLETION_USER_FILE="${XDG_CONFIG_HOME}/bash-completion/bash_comple
|
|||||||
|
|
||||||
# History env variables
|
# History env variables
|
||||||
export HIST_STAMPS="yyyy-mm-dd"
|
export HIST_STAMPS="yyyy-mm-dd"
|
||||||
|
export HISTFILE="${XDG_STATE_HOME}/zsh/history"
|
||||||
# Larger bash history (allow 32³ entries; default is 500)
|
# Larger bash history (allow 32³ entries; default is 500)
|
||||||
export HISTSIZE=32768
|
export HISTSIZE=32768
|
||||||
export HISTFILESIZE=$HISTSIZE
|
export HISTFILESIZE=$HISTSIZE
|
||||||
@@ -285,6 +303,8 @@ export GREP_OPTIONS="--color=auto"
|
|||||||
# update the values of LINES and COLUMNS.
|
# update the values of LINES and COLUMNS.
|
||||||
hash shopt 2> /dev/null && shopt -s checkwinsize
|
hash shopt 2> /dev/null && shopt -s checkwinsize
|
||||||
|
|
||||||
|
export SHORT_HOST=$(hostname -s)
|
||||||
|
|
||||||
# Antigen configuration
|
# Antigen configuration
|
||||||
# https://github.com/zsh-users/antigen/wiki/Configuration
|
# https://github.com/zsh-users/antigen/wiki/Configuration
|
||||||
msg "Setting up Antigen configuration"
|
msg "Setting up Antigen configuration"
|
||||||
@@ -310,15 +330,37 @@ export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc"
|
|||||||
export ASDF_DATA_DIR="${ASDF_DIR}"
|
export ASDF_DATA_DIR="${ASDF_DIR}"
|
||||||
export ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME="${XDG_CONFIG_HOME}/asdf/plugin-versions"
|
export ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME="${XDG_CONFIG_HOME}/asdf/plugin-versions"
|
||||||
export ASDF_LOG_FILE="${XDG_CACHE_HOME}/asdf/asdf.log"
|
export ASDF_LOG_FILE="${XDG_CACHE_HOME}/asdf/asdf.log"
|
||||||
export ASDF_NODEJS_LEGACY_FILE_DYNAMIC_STRATEGY="latest_available"
|
export ASDF_FORCE_PREPEND=yes
|
||||||
export ASDF_NPM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/npm-packages"
|
## Default package files
|
||||||
export ASDF_GOLANG_MOD_VERSION_ENABLED=true
|
|
||||||
export ASDF_GOLANG_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/golang-packages"
|
|
||||||
export ASDF_CRATE_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/cargo-packages"
|
export ASDF_CRATE_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/cargo-packages"
|
||||||
export ASDF_GEM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/gem-packages"
|
export ASDF_GEM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/gem-packages"
|
||||||
|
export ASDF_GOLANG_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/golang-packages"
|
||||||
|
export ASDF_NPM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/npm-packages"
|
||||||
|
export ASDF_PYTHON_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/python-packages"
|
||||||
|
## Plugin configuration
|
||||||
export ASDF_DIRENV_IGNORE_MISSING_PLUGINS=1
|
export ASDF_DIRENV_IGNORE_MISSING_PLUGINS=1
|
||||||
|
export ASDF_GOLANG_MOD_VERSION_ENABLED=true
|
||||||
|
export ASDF_NODEJS_LEGACY_FILE_DYNAMIC_STRATEGY="latest_available"
|
||||||
|
## Add asdf to path
|
||||||
export PATH="${ASDF_DIR}/bin:${PATH}"
|
export PATH="${ASDF_DIR}/bin:${PATH}"
|
||||||
|
|
||||||
|
# aws
|
||||||
|
# https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html
|
||||||
|
# https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
|
||||||
|
# https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
|
||||||
|
msg "Setting up AWS configuration"
|
||||||
|
export AWS_CONFIG_FILE="${XDG_STATE_HOME}/aws/config"
|
||||||
|
export AWS_SHARED_CREDENTIALS_FILE="${XDG_STATE_HOME}/aws/credentials"
|
||||||
|
export AWS_DATA_PATH="${XDG_DATA_HOME}/aws"
|
||||||
|
export AWS_DEFAULT_REGION="eu-west-1"
|
||||||
|
export AWS_DEFAULT_OUTPUT="table"
|
||||||
|
export AWS_CONFIGURE_KEYS=true
|
||||||
|
export AWS_CONFIGURE_REGION=true
|
||||||
|
export AWS_CONFIGURE_OUTPUT=true
|
||||||
|
export AWS_CONFIGURE_PROFILE=true
|
||||||
|
export AWS_CONFIGURE_PROMPT=true
|
||||||
|
export AWS_CONFIGURE_PROMPT_DEFAULT="default"
|
||||||
|
|
||||||
# bob manages nvim versions
|
# bob manages nvim versions
|
||||||
msg "Setting up bob configuration"
|
msg "Setting up bob configuration"
|
||||||
x-path-prepend "$XDG_DATA_HOME/bob/nvim-bin"
|
x-path-prepend "$XDG_DATA_HOME/bob/nvim-bin"
|
||||||
@@ -334,6 +376,8 @@ export HOMEBREW_NO_ENV_HINTS=true
|
|||||||
export HOMEBREW_BUNDLE_MAS_SKIP=true
|
export HOMEBREW_BUNDLE_MAS_SKIP=true
|
||||||
export HOMEBREW_BUNDLE_FILE="$XDG_CONFIG_HOME/homebrew/Brewfile"
|
export HOMEBREW_BUNDLE_FILE="$XDG_CONFIG_HOME/homebrew/Brewfile"
|
||||||
x-have brew && {
|
x-have brew && {
|
||||||
|
# Add brew autocompletion to fpath
|
||||||
|
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
|
||||||
eval "$(brew shellenv)"
|
eval "$(brew shellenv)"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,25 +390,20 @@ export PATH="$COMPOSER_BIN:$PATH"
|
|||||||
# direnv, https://direnv.net/
|
# direnv, https://direnv.net/
|
||||||
# https://direnv.net/docs/hook.html
|
# https://direnv.net/docs/hook.html
|
||||||
# Set the hook to show the direnv message in a different color
|
# Set the hook to show the direnv message in a different color
|
||||||
export DIRENV_LOG_FORMAT=$'\033[2mdirenv: %s\033[0m'
|
# export DIRENV_LOG_FORMAT=$'\033[2mdirenv: %s\033[0m'
|
||||||
|
export DIRENV_LOG_FORMAT=
|
||||||
|
|
||||||
# docker, https://docs.docker.com/engine/reference/commandline/cli/
|
# docker, https://docs.docker.com/engine/reference/commandline/cli/
|
||||||
msg "Setting up Docker configuration"
|
msg "Setting up Docker configuration"
|
||||||
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
export DOCKER_CONFIG="${XDG_CONFIG_HOME}/docker"
|
||||||
x-dc "$DOCKER_CONFIG"
|
x-dc "$DOCKER_CONFIG"
|
||||||
# Docker: Disable snyk ad
|
# Docker: Disable snyk ad
|
||||||
export DOCKER_SCAN_SUGGEST=false
|
export DOCKER_SCAN_SUGGEST=false
|
||||||
|
|
||||||
# ffmpeg
|
|
||||||
# https://ffmpeg.org/ffmpeg.html
|
|
||||||
msg "Setting up FFmpeg configuration"
|
|
||||||
export FFMPEG_DATADIR="$XDG_CONFIG_HOME/ffmpeg"
|
|
||||||
x-have ffmpeg && x-dc "$FFMPEG_DATADIR"
|
|
||||||
|
|
||||||
# GnuPG
|
# GnuPG
|
||||||
# https://gnupg.org/documentation/manuals/gnupg/Invoking-GPG.html
|
# https://gnupg.org/documentation/manuals/gnupg/Invoking-GPG.html
|
||||||
msg "Setting up GnuPG configuration"
|
msg "Setting up GnuPG configuration"
|
||||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
export GNUPGHOME="${XDG_DATA_HOME}/gnupg"
|
||||||
|
|
||||||
# Go
|
# Go
|
||||||
# https://golang.org/doc/code.html
|
# https://golang.org/doc/code.html
|
||||||
@@ -372,11 +411,6 @@ msg "Setting up Go configuration"
|
|||||||
export GOPATH="$XDG_DATA_HOME/go"
|
export GOPATH="$XDG_DATA_HOME/go"
|
||||||
export GOBIN="$XDG_BIN_HOME"
|
export GOBIN="$XDG_BIN_HOME"
|
||||||
|
|
||||||
# nb, https://xwmx.github.io/nb/
|
|
||||||
msg "Setting up nb configuration"
|
|
||||||
export NBRC_PATH="$XDG_CONFIG_HOME/nbrc"
|
|
||||||
export NB_DIR="$XDG_STATE_HOME/nb"
|
|
||||||
|
|
||||||
# NPM: Add npm packages to path
|
# NPM: Add npm packages to path
|
||||||
msg "Setting up NPM configuration"
|
msg "Setting up NPM configuration"
|
||||||
x-have node && {
|
x-have node && {
|
||||||
@@ -398,29 +432,13 @@ export OP_CACHE="$XDG_STATE_HOME/1password"
|
|||||||
msg "Setting up Python configuration"
|
msg "Setting up Python configuration"
|
||||||
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
|
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
|
||||||
export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
|
export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
|
||||||
|
## for MichaelAquilina/zsh-autoswitch-virtualenv
|
||||||
|
export AUTOSWITCH_VIRTUAL_ENV_DIR="$WORKON_HOME"
|
||||||
export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
|
export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
|
||||||
x-have pyenv && {
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ruby
|
|
||||||
#
|
|
||||||
# including: bundler, rbenv
|
|
||||||
msg "Setting up Ruby configuration"
|
|
||||||
export GEM_HOME="${XDG_DATA_HOME}"/gem
|
|
||||||
export GEM_SPEC_CACHE="${XDG_CACHE_HOME}"/gem
|
|
||||||
export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle
|
|
||||||
export BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle
|
|
||||||
export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
|
|
||||||
export RBENV_ROOT="$XDG_STATE_HOME/rbenv"
|
|
||||||
x-dc "$RBENV_ROOT"
|
|
||||||
x-have gem && export PATH="${GEM_HOME}/bin:$PATH"
|
|
||||||
|
|
||||||
# Rust / cargo
|
# Rust / cargo
|
||||||
msg "Setting up Rust/Cargo configuration"
|
msg "Setting up Rust/Cargo configuration"
|
||||||
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
export RUST_WITHOUT=rust-docs
|
||||||
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
|
||||||
export PATH="$CARGO_HOME/bin:$PATH"
|
|
||||||
|
|
||||||
# screen
|
# screen
|
||||||
# https://www.gnu.org/software/screen/manual/screen.html
|
# https://www.gnu.org/software/screen/manual/screen.html
|
||||||
@@ -440,10 +458,6 @@ export TF_DATA_DIR="$XDG_STATE_HOME/terraform"
|
|||||||
export TF_CLI_CONFIG_FILE="$XDG_CONFIG_HOME/terraform/terraformrc"
|
export TF_CLI_CONFIG_FILE="$XDG_CONFIG_HOME/terraform/terraformrc"
|
||||||
export TF_PLUGIN_CACHE_DIR="$XDG_CACHE_HOME/terraform/plugin-cache"
|
export TF_PLUGIN_CACHE_DIR="$XDG_CACHE_HOME/terraform/plugin-cache"
|
||||||
|
|
||||||
# tldr / tealdeer
|
|
||||||
msg "Setting up tldr configuration"
|
|
||||||
export TEALDEER_CONFIG_DIR="$XDG_CONFIG_HOME/tealdeer/"
|
|
||||||
|
|
||||||
# tmux
|
# tmux
|
||||||
# https://tmux.github.io/
|
# https://tmux.github.io/
|
||||||
msg "Setting up tmux configuration"
|
msg "Setting up tmux configuration"
|
||||||
@@ -459,3 +473,12 @@ msg "Setting up miscellaneous configuration"
|
|||||||
export CHEAT_USE_FZF=true
|
export CHEAT_USE_FZF=true
|
||||||
export SQLITE_HISTORY="${XDG_CACHE_HOME}/sqlite_history"
|
export SQLITE_HISTORY="${XDG_CACHE_HOME}/sqlite_history"
|
||||||
|
|
||||||
|
X_EXPORTS_FILES=(
|
||||||
|
"$HOME/.config/exports-secret"
|
||||||
|
"$HOME/.config/exports-$(hostname)"
|
||||||
|
"$HOME/.config/exports-$(hostname)-secret"
|
||||||
|
)
|
||||||
|
for exportFile in "${X_EXPORTS_FILES[@]}"; do
|
||||||
|
[ -f "$exportFile" ] && source "$exportFile" && msg "Sourced $exportFile"
|
||||||
|
done
|
||||||
|
unset X_EXPORTS_FILES
|
||||||
|
|||||||
@@ -19,3 +19,4 @@ wp_*.sh
|
|||||||
auth.json
|
auth.json
|
||||||
dfm.sh
|
dfm.sh
|
||||||
.scannerwork
|
.scannerwork
|
||||||
|
.phpactor.json
|
||||||
|
|||||||
@@ -17,11 +17,12 @@
|
|||||||
llog = log --pretty=fuller
|
llog = log --pretty=fuller
|
||||||
logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
|
logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
|
||||||
nah = !git reset --hard && git clean -df
|
nah = !git reset --hard && git clean -df
|
||||||
|
recent = "!r() { count=$1; git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always --count=${count:=10} | column -ts'|';}; r"
|
||||||
reset-origin = !git fetch origin && git reset --hard origin/master && git clean -f -d
|
reset-origin = !git fetch origin && git reset --hard origin/master && git clean -f -d
|
||||||
reset-upstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d
|
reset-upstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d
|
||||||
recent = "!r() { count=$1; git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always --count=${count:=10} | column -ts'|';}; r"
|
|
||||||
rl = reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
|
rl = reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
|
||||||
tagdate = log --date-order --graph --tags --simplify-by-decoration --pretty=format:\"%ai %h %d\"
|
tagdate = log --date-order --graph --tags --simplify-by-decoration --pretty=format:\"%ai %h %d\"
|
||||||
|
undo = reset --soft HEAD^
|
||||||
undo-commit = reset HEAD~ --soft
|
undo-commit = reset HEAD~ --soft
|
||||||
|
|
||||||
[filter "lfs"]
|
[filter "lfs"]
|
||||||
@@ -30,15 +31,6 @@
|
|||||||
process = git-lfs filter-process
|
process = git-lfs filter-process
|
||||||
required = true
|
required = true
|
||||||
|
|
||||||
[diff]
|
|
||||||
tool = difftastic
|
|
||||||
|
|
||||||
[difftool]
|
|
||||||
prompt = false
|
|
||||||
|
|
||||||
[difftool "difftastic"]
|
|
||||||
cmd = difft "$LOCAL" "$REMOTE"
|
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
ui = true
|
ui = true
|
||||||
diff = auto
|
diff = auto
|
||||||
|
|||||||
@@ -16,24 +16,11 @@ tap "mongodb/brew"
|
|||||||
tap "reviewdog/tap"
|
tap "reviewdog/tap"
|
||||||
tap "shivammathur/extensions"
|
tap "shivammathur/extensions"
|
||||||
tap "shivammathur/php"
|
tap "shivammathur/php"
|
||||||
|
tap "snyk/tap"
|
||||||
tap "teamookla/speedtest"
|
tap "teamookla/speedtest"
|
||||||
tap "xwmx/taps"
|
tap "xwmx/taps"
|
||||||
# Run your GitHub Actions locally
|
# Run your GitHub Actions locally
|
||||||
brew "act"
|
brew "act"
|
||||||
# Simple, modern, secure file encryption
|
|
||||||
brew "age"
|
|
||||||
# Mozilla CA certificate store
|
|
||||||
brew "ca-certificates"
|
|
||||||
# Mozilla CA bundle for Python
|
|
||||||
brew "certifi"
|
|
||||||
# Cryptographic recipes and primitives for Python
|
|
||||||
brew "cryptography"
|
|
||||||
# YAML Parser
|
|
||||||
brew "libyaml"
|
|
||||||
# Automate deployment, configuration, and upgrading
|
|
||||||
brew "ansible"
|
|
||||||
# Checks ansible playbooks for practices and behaviour
|
|
||||||
brew "ansible-lint"
|
|
||||||
# Generic-purpose lossless compression algorithm by Google
|
# Generic-purpose lossless compression algorithm by Google
|
||||||
brew "brotli"
|
brew "brotli"
|
||||||
# Library and utilities for processing GIFs
|
# Library and utilities for processing GIFs
|
||||||
@@ -52,32 +39,28 @@ brew "jpeg-xl"
|
|||||||
brew "aom"
|
brew "aom"
|
||||||
# Apache Portable Runtime library
|
# Apache Portable Runtime library
|
||||||
brew "apr"
|
brew "apr"
|
||||||
|
# Mozilla CA certificate store
|
||||||
|
brew "ca-certificates"
|
||||||
|
# Cryptography and SSL/TLS Toolkit
|
||||||
|
brew "openssl@3"
|
||||||
# Companion library to apr, the Apache Portable Runtime library
|
# Companion library to apr, the Apache Portable Runtime library
|
||||||
brew "apr-util"
|
brew "apr-util"
|
||||||
# Password hashing library and CLI utility
|
# Password hashing library and CLI utility
|
||||||
brew "argon2"
|
brew "argon2"
|
||||||
|
# Spell checker with better logic than ispell
|
||||||
|
brew "aspell"
|
||||||
# Automatic configure script builder
|
# Automatic configure script builder
|
||||||
brew "autoconf"
|
brew "autoconf"
|
||||||
# Tool for generating GNU Standards-compliant Makefiles
|
# Collection of over 500 reusable autoconf macros
|
||||||
brew "automake"
|
brew "autoconf-archive"
|
||||||
|
# Bourne-Again SHell, a UNIX command interpreter
|
||||||
|
brew "bash"
|
||||||
# GNU multiple precision arithmetic library
|
# GNU multiple precision arithmetic library
|
||||||
brew "gmp"
|
brew "gmp"
|
||||||
# GNU File, Shell, and Text utilities
|
# GNU File, Shell, and Text utilities
|
||||||
brew "coreutils"
|
brew "coreutils"
|
||||||
# Extendable version manager with support for Ruby, Node.js, Erlang & more
|
# Bash Automated Testing System
|
||||||
brew "asdf"
|
brew "bats-core"
|
||||||
# Spell checker with better logic than ispell
|
|
||||||
brew "aspell"
|
|
||||||
# Collection of over 500 reusable autoconf macros
|
|
||||||
brew "autoconf-archive"
|
|
||||||
# Manage compile and link flags for libraries
|
|
||||||
brew "pkg-config"
|
|
||||||
# Automated text file generator
|
|
||||||
brew "autogen"
|
|
||||||
# Bourne-Again SHell, a UNIX command interpreter
|
|
||||||
brew "bash"
|
|
||||||
# Clone of cat(1) with syntax highlighting and Git integration
|
|
||||||
brew "bat"
|
|
||||||
# Software library to render fonts
|
# Software library to render fonts
|
||||||
brew "freetype"
|
brew "freetype"
|
||||||
# XML-based font configuration API for X Windows
|
# XML-based font configuration API for X Windows
|
||||||
@@ -86,56 +69,32 @@ brew "fontconfig"
|
|||||||
brew "gettext"
|
brew "gettext"
|
||||||
# Core application library for C
|
# Core application library for C
|
||||||
brew "glib"
|
brew "glib"
|
||||||
# Human-friendly and fast alternative to cut and (sometimes) awk
|
# Mozilla CA bundle for Python
|
||||||
brew "choose-rust"
|
brew "certifi"
|
||||||
# Cross-platform make
|
# Cryptographic recipes and primitives for Python
|
||||||
brew "cmake"
|
brew "cryptography"
|
||||||
# Get a file from an HTTP, HTTPS or FTP server
|
# Get a file from an HTTP, HTTPS or FTP server
|
||||||
brew "curl"
|
brew "curl"
|
||||||
# Lightweight DNS forwarder and DHCP server
|
# Lightweight DNS forwarder and DHCP server
|
||||||
brew "dnsmasq"
|
brew "dnsmasq"
|
||||||
# Spellchecker wrapping library
|
|
||||||
brew "enchant"
|
|
||||||
# Perl lib for reading and writing EXIF metadata
|
|
||||||
brew "exiftool"
|
|
||||||
# Banner-like program prints strings as ASCII art
|
|
||||||
brew "figlet"
|
|
||||||
# Lock file during command
|
# Lock file during command
|
||||||
brew "flock"
|
brew "flock"
|
||||||
# Libraries to talk to Microsoft SQL Server and Sybase databases
|
# Libraries to talk to Microsoft SQL Server and Sybase databases
|
||||||
brew "freetds"
|
brew "freetds"
|
||||||
# Monitor a directory for changes and run a shell command
|
|
||||||
brew "fswatch"
|
|
||||||
# Command-line fuzzy finder written in Go
|
|
||||||
brew "fzf"
|
|
||||||
# Graphics library to dynamically manipulate images
|
# Graphics library to dynamically manipulate images
|
||||||
brew "gd"
|
brew "gd"
|
||||||
# Disk usage analyzer with console interface written in Go
|
# GitHub command-line tool
|
||||||
brew "gdu"
|
brew "gh"
|
||||||
# Distributed revision control system
|
# Distributed revision control system
|
||||||
brew "git"
|
brew "git"
|
||||||
# Enable transparent encryption/decryption of files in a git repo
|
|
||||||
brew "git-crypt"
|
|
||||||
# Small git utilities
|
|
||||||
brew "git-extras"
|
|
||||||
# See your latest local git branches, formatted real fancy
|
|
||||||
brew "git-recent"
|
|
||||||
# Render markdown on the CLI
|
# Render markdown on the CLI
|
||||||
brew "glow"
|
brew "glow"
|
||||||
# GNU implementation of the famous stream editor
|
|
||||||
brew "gnu-sed"
|
|
||||||
# Validating, recursive, caching DNS resolver
|
# Validating, recursive, caching DNS resolver
|
||||||
brew "unbound"
|
brew "unbound"
|
||||||
# GNU Transport Layer Security (TLS) Library
|
# GNU Transport Layer Security (TLS) Library
|
||||||
brew "gnutls"
|
brew "gnutls"
|
||||||
# GNU Pretty Good Privacy (PGP) package
|
# GNU Pretty Good Privacy (PGP) package
|
||||||
brew "gnupg"
|
brew "gnupg"
|
||||||
# Library access to GnuPG
|
|
||||||
brew "gpgme"
|
|
||||||
# Open source suite of directory software
|
|
||||||
brew "openldap"
|
|
||||||
# Manage your GnuPG keys with ease!
|
|
||||||
brew "gpg-tui"
|
|
||||||
# Image manipulation
|
# Image manipulation
|
||||||
brew "netpbm"
|
brew "netpbm"
|
||||||
# C/C++ and Java libraries for Unicode and globalization
|
# C/C++ and Java libraries for Unicode and globalization
|
||||||
@@ -148,8 +107,6 @@ brew "pango"
|
|||||||
brew "librsvg"
|
brew "librsvg"
|
||||||
# Graph visualization software from AT&T and Bell Labs
|
# Graph visualization software from AT&T and Bell Labs
|
||||||
brew "graphviz"
|
brew "graphviz"
|
||||||
# GNU grep, egrep and fgrep
|
|
||||||
brew "grep"
|
|
||||||
# Popular GNU data compression program
|
# Popular GNU data compression program
|
||||||
brew "gzip"
|
brew "gzip"
|
||||||
# Improved top (interactive process viewer)
|
# Improved top (interactive process viewer)
|
||||||
@@ -166,8 +123,8 @@ brew "irssi"
|
|||||||
brew "jq"
|
brew "jq"
|
||||||
# JSON parser for C
|
# JSON parser for C
|
||||||
brew "json-c"
|
brew "json-c"
|
||||||
# Scanning your k8s clusters, diagnosing, and triaging issues in simple English
|
# Network authentication protocol
|
||||||
brew "k8sgpt"
|
brew "krb5"
|
||||||
# Tool to detect/remediate misconfig and security risks of GitHub/GitLab assets
|
# Tool to detect/remediate misconfig and security risks of GitHub/GitLab assets
|
||||||
brew "legitify"
|
brew "legitify"
|
||||||
# Secure hashing function
|
# Secure hashing function
|
||||||
@@ -176,58 +133,32 @@ brew "libb2"
|
|||||||
brew "libpq"
|
brew "libpq"
|
||||||
# Multi-platform support library with a focus on asynchronous I/O
|
# Multi-platform support library with a focus on asynchronous I/O
|
||||||
brew "libuv"
|
brew "libuv"
|
||||||
|
# YAML Parser
|
||||||
|
brew "libyaml"
|
||||||
# Package manager for the Lua programming language
|
# Package manager for the Lua programming language
|
||||||
brew "luarocks"
|
brew "luarocks"
|
||||||
# LZMA-based compression program similar to gzip or bzip2
|
|
||||||
brew "lzip"
|
|
||||||
# Swiss Army Knife for macOS
|
# Swiss Army Knife for macOS
|
||||||
brew "m-cli"
|
brew "m-cli"
|
||||||
# Collection of tools that nobody wrote when UNIX was young
|
|
||||||
brew "moreutils"
|
|
||||||
# Mongrel of mail user agents (part elm, pine, mush, mh, etc.)
|
|
||||||
brew "mutt"
|
|
||||||
# NCurses Disk Usage
|
|
||||||
brew "ncdu"
|
|
||||||
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
|
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
|
||||||
brew "nginx"
|
brew "nginx"
|
||||||
# Port scanning utility for large networks
|
# Port scanning utility for large networks
|
||||||
brew "nmap"
|
brew "nmap"
|
||||||
# ISO-C API and CLI for generating UUIDs
|
# Open source suite of directory software
|
||||||
brew "ossp-uuid"
|
brew "openldap"
|
||||||
# Coreutils progress viewer
|
# General-purpose scripting language
|
||||||
brew "progress"
|
brew "php"
|
||||||
# Python version management
|
# Manage compile and link flags for libraries
|
||||||
brew "pyenv"
|
brew "pkg-config"
|
||||||
# Migrate pip packages from one Python version to another
|
|
||||||
brew "pyenv-pip-migrate"
|
|
||||||
# Pyenv plugin to manage virtualenv
|
|
||||||
brew "pyenv-virtualenv"
|
|
||||||
# Interpreted, interactive, object-oriented programming language
|
|
||||||
brew "python@3.11"
|
|
||||||
# Install various Ruby versions and implementations
|
|
||||||
brew "ruby-build"
|
|
||||||
# Ruby version manager
|
|
||||||
brew "rbenv"
|
|
||||||
# Static analysis and lint tool, for (ba)sh scripts
|
|
||||||
brew "shellcheck"
|
|
||||||
# Feature-rich console based todo list manager
|
|
||||||
brew "task"
|
|
||||||
# Send macOS User Notifications from the command-line
|
# Send macOS User Notifications from the command-line
|
||||||
brew "terminal-notifier"
|
brew "terminal-notifier"
|
||||||
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
||||||
brew "testssl"
|
brew "testssl"
|
||||||
# Terraform version manager inspired by rbenv
|
|
||||||
brew "tfenv"
|
|
||||||
# Linter for Terraform files
|
|
||||||
brew "tflint"
|
|
||||||
# Static analysis security scanner for your terraform code
|
# Static analysis security scanner for your terraform code
|
||||||
brew "tfsec"
|
brew "tfsec"
|
||||||
# Terminal multiplexer
|
# Terminal multiplexer
|
||||||
brew "tmux"
|
brew "tmux"
|
||||||
# Display directories as trees (with optional color/HTML output)
|
# Display directories as trees (with optional color/HTML output)
|
||||||
brew "tree"
|
brew "tree"
|
||||||
# Tool for creating isolated virtual python environments
|
|
||||||
brew "virtualenv"
|
|
||||||
# Command-line interface to the WakaTime api
|
# Command-line interface to the WakaTime api
|
||||||
brew "wakatime-cli"
|
brew "wakatime-cli"
|
||||||
# Executes a program periodically, showing output fullscreen
|
# Executes a program periodically, showing output fullscreen
|
||||||
@@ -238,12 +169,8 @@ brew "wget"
|
|||||||
brew "xdg-ninja", args: ["HEAD"]
|
brew "xdg-ninja", args: ["HEAD"]
|
||||||
# Watcher for macOS 10.14+ light/dark mode changes
|
# Watcher for macOS 10.14+ light/dark mode changes
|
||||||
brew "cormacrelf/tap/dark-notify"
|
brew "cormacrelf/tap/dark-notify"
|
||||||
# Cleans up your $HOME from those pesky dotfiles
|
# Igbinary PHP extension
|
||||||
brew "doron-cohen/tap/antidot"
|
brew "shivammathur/extensions/igbinary@8.3"
|
||||||
# lets you quickly switch between multiple git user profiles
|
|
||||||
brew "gesquive/tap/git-user"
|
|
||||||
# Automated code review tool integrated with any code analysis tools regardless of programming language.
|
|
||||||
brew "reviewdog/tap/reviewdog"
|
|
||||||
# Imagick PHP extension
|
# Imagick PHP extension
|
||||||
brew "shivammathur/extensions/imagick@8.3"
|
brew "shivammathur/extensions/imagick@8.3"
|
||||||
# Mcrypt PHP extension
|
# Mcrypt PHP extension
|
||||||
@@ -259,13 +186,9 @@ brew "shivammathur/extensions/uuid@8.3"
|
|||||||
# Yaml PHP extension
|
# Yaml PHP extension
|
||||||
brew "shivammathur/extensions/yaml@8.3"
|
brew "shivammathur/extensions/yaml@8.3"
|
||||||
# General-purpose scripting language
|
# General-purpose scripting language
|
||||||
brew "shivammathur/php/php"
|
|
||||||
# General-purpose scripting language
|
|
||||||
brew "shivammathur/php/php-debug"
|
brew "shivammathur/php/php-debug"
|
||||||
# Command-line interface for 1Password
|
# Find & fix known vulnerabilities in open-source dependencies
|
||||||
cask "1password-cli"
|
brew "snyk/tap/snyk"
|
||||||
# GPU-accelerated terminal emulator
|
|
||||||
cask "alacritty"
|
|
||||||
# Text editor
|
# Text editor
|
||||||
cask "coda"
|
cask "coda"
|
||||||
# Universal database tool and SQL client
|
# Universal database tool and SQL client
|
||||||
@@ -274,6 +197,15 @@ cask "dbeaver-community"
|
|||||||
cask "dbngin"
|
cask "dbngin"
|
||||||
# App to build and share containerised applications and microservices
|
# App to build and share containerised applications and microservices
|
||||||
cask "docker"
|
cask "docker"
|
||||||
|
cask "font-jetbrains-mono"
|
||||||
|
cask "font-jetbrains-mono-nerd-font"
|
||||||
|
cask "font-lato"
|
||||||
|
cask "font-open-sans"
|
||||||
|
cask "font-roboto"
|
||||||
|
cask "font-source-code-pro"
|
||||||
|
cask "font-source-code-pro-for-powerline"
|
||||||
|
cask "font-source-sans-pro"
|
||||||
|
cask "font-source-serif-pro"
|
||||||
# GIT client
|
# GIT client
|
||||||
cask "fork"
|
cask "fork"
|
||||||
# HTTP and GraphQL Client
|
# HTTP and GraphQL Client
|
||||||
@@ -284,18 +216,12 @@ cask "jetbrains-toolbox"
|
|||||||
cask "keybase"
|
cask "keybase"
|
||||||
# Kubernetes IDE
|
# Kubernetes IDE
|
||||||
cask "lens"
|
cask "lens"
|
||||||
# Keep all tasks from your todo apps on your menu bar
|
|
||||||
cask "monofocus"
|
|
||||||
# Reverse proxy, secure introspectable tunnels to localhost
|
# Reverse proxy, secure introspectable tunnels to localhost
|
||||||
cask "ngrok"
|
cask "ngrok"
|
||||||
# Simple application that will prevent iTunes or Apple Music from launching
|
# Simple application that will prevent iTunes or Apple Music from launching
|
||||||
cask "notunes"
|
cask "notunes"
|
||||||
# Knowledge base that works on top of a local folder of plain text Markdown files
|
# Knowledge base that works on top of a local folder of plain text Markdown files
|
||||||
cask "obsidian"
|
cask "obsidian"
|
||||||
# Scheduling application focusing on organisation
|
|
||||||
cask "omnifocus"
|
|
||||||
# Collaboration platform for API development
|
|
||||||
cask "postman"
|
|
||||||
# Display image info and preview unsupported formats in QuickLook
|
# Display image info and preview unsupported formats in QuickLook
|
||||||
cask "qlimagesize"
|
cask "qlimagesize"
|
||||||
# Quick Look generator for Markdown files
|
# Quick Look generator for Markdown files
|
||||||
@@ -326,6 +252,8 @@ cask "suspicious-package"
|
|||||||
cask "syntax-highlight"
|
cask "syntax-highlight"
|
||||||
# Python IDE for beginners
|
# Python IDE for beginners
|
||||||
cask "thonny"
|
cask "thonny"
|
||||||
|
# To-do list
|
||||||
|
cask "todoist"
|
||||||
# Configuration application for the Ultimate Hacking Keyboard
|
# Configuration application for the Ultimate Hacking Keyboard
|
||||||
cask "uhk-agent"
|
cask "uhk-agent"
|
||||||
# Open-source code editor
|
# Open-source code editor
|
||||||
@@ -334,6 +262,8 @@ cask "visual-studio-code"
|
|||||||
cask "vlc"
|
cask "vlc"
|
||||||
# Spell-checking service for Finnish
|
# Spell-checking service for Finnish
|
||||||
cask "voikkospellservice"
|
cask "voikkospellservice"
|
||||||
|
# GPU-accelerated cross-platform terminal emulator and multiplexer
|
||||||
|
cask "wezterm"
|
||||||
# Application for generating TOTP and HOTP codes
|
# Application for generating TOTP and HOTP codes
|
||||||
cask "yubico-authenticator"
|
cask "yubico-authenticator"
|
||||||
# Multiplayer code editor
|
# Multiplayer code editor
|
||||||
|
|||||||
53
config/htop/htoprc
Normal file
53
config/htop/htoprc
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||||
|
# The parser is also very primitive, and not human-friendly.
|
||||||
|
htop_version=3.3.0
|
||||||
|
config_reader_min_version=3
|
||||||
|
fields=0 48 17 18 38 39 2 46 47 49 1
|
||||||
|
hide_kernel_threads=1
|
||||||
|
hide_userland_threads=0
|
||||||
|
hide_running_in_container=0
|
||||||
|
shadow_other_users=0
|
||||||
|
show_thread_names=0
|
||||||
|
show_program_path=1
|
||||||
|
highlight_base_name=0
|
||||||
|
highlight_deleted_exe=1
|
||||||
|
shadow_distribution_path_prefix=0
|
||||||
|
highlight_megabytes=1
|
||||||
|
highlight_threads=1
|
||||||
|
highlight_changes=0
|
||||||
|
highlight_changes_delay_secs=5
|
||||||
|
find_comm_in_cmdline=1
|
||||||
|
strip_exe_from_cmdline=1
|
||||||
|
show_merged_command=0
|
||||||
|
header_margin=1
|
||||||
|
screen_tabs=1
|
||||||
|
detailed_cpu_time=0
|
||||||
|
cpu_count_from_one=0
|
||||||
|
show_cpu_usage=1
|
||||||
|
show_cpu_frequency=0
|
||||||
|
update_process_names=0
|
||||||
|
account_guest_in_cpu_meter=0
|
||||||
|
color_scheme=0
|
||||||
|
enable_mouse=1
|
||||||
|
delay=15
|
||||||
|
hide_function_bar=0
|
||||||
|
header_layout=two_50_50
|
||||||
|
column_meters_0=LeftCPUs2 Memory Swap
|
||||||
|
column_meter_modes_0=1 1 1
|
||||||
|
column_meters_1=RightCPUs2 Tasks LoadAverage Uptime
|
||||||
|
column_meter_modes_1=1 2 2 2
|
||||||
|
tree_view=0
|
||||||
|
sort_key=46
|
||||||
|
tree_sort_key=0
|
||||||
|
sort_direction=-1
|
||||||
|
tree_sort_direction=1
|
||||||
|
tree_view_always_by_pid=0
|
||||||
|
all_branches_collapsed=0
|
||||||
|
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT STATE PERCENT_CPU PERCENT_MEM TIME Command
|
||||||
|
.sort_key=PERCENT_CPU
|
||||||
|
.tree_sort_key=PID
|
||||||
|
.tree_view_always_by_pid=0
|
||||||
|
.tree_view=0
|
||||||
|
.sort_direction=-1
|
||||||
|
.tree_sort_direction=1
|
||||||
|
.all_branches_collapsed=0
|
||||||
73
config/ideavim/ideavimrc
Normal file
73
config/ideavim/ideavimrc
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
"" Source your .vimrc
|
||||||
|
"source ~/.vimrc
|
||||||
|
|
||||||
|
"" -- Suggested options --
|
||||||
|
" Show a few lines of context around the cursor. Note that this makes the
|
||||||
|
" text scroll if you mouse-click near the start or end of the window.
|
||||||
|
set scrolloff=5
|
||||||
|
|
||||||
|
" Don't use Ex mode, use Q for formatting.
|
||||||
|
map Q gq
|
||||||
|
|
||||||
|
|
||||||
|
"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t
|
||||||
|
"" Map \r to the Reformat Code action
|
||||||
|
"map \r <Action>(ReformatCode)
|
||||||
|
|
||||||
|
"" Map <leader>d to start debug
|
||||||
|
"map <leader>d <Action>(Debug)
|
||||||
|
|
||||||
|
"" Map \b to toggle the breakpoint on the current line
|
||||||
|
"map \b <Action>(ToggleLineBreakpoint)
|
||||||
|
|
||||||
|
|
||||||
|
" Find more examples here: https://jb.gg/share-ideavimrc
|
||||||
|
|
||||||
|
" https://github.com/ville6000/dotfiles/blob/main/vimrc
|
||||||
|
set nocompatible " disable compatibility mode with vi
|
||||||
|
filetype off " disable filetype detection (but re-enable later, see below)
|
||||||
|
|
||||||
|
set encoding=utf-8 " UTF-8
|
||||||
|
set number " Show line numbers
|
||||||
|
set laststatus=2 " Always show statusline (even with only single window)
|
||||||
|
set showmatch " Highlight matching brace
|
||||||
|
set visualbell " Use visual bell (no beeping)
|
||||||
|
set hlsearch " Highlight all search results
|
||||||
|
set smartcase " Enable smart-case search
|
||||||
|
set ignorecase " Always case-insensitive
|
||||||
|
set incsearch " Searches for strings incrementally
|
||||||
|
set cindent " Use 'C' style program indenting
|
||||||
|
set expandtab " Use spaces instead of tabs
|
||||||
|
set shiftwidth=4 " Number of auto-indent spaces
|
||||||
|
set smartindent " Enable smart-indent
|
||||||
|
set smarttab " Enable smart-tabs
|
||||||
|
set softtabstop=4 " Number of spaces per Tab
|
||||||
|
set ruler " Show row and column ruler information
|
||||||
|
set cursorline " Highlight current line
|
||||||
|
set undolevels=1000 " Number of undo levels
|
||||||
|
set backspace=indent,eol,start " Backspace behaviour
|
||||||
|
set so=5
|
||||||
|
|
||||||
|
" move vertically by visual line (don't skip wrapped lines)
|
||||||
|
nmap j gj
|
||||||
|
nmap k gk
|
||||||
|
|
||||||
|
syntax enable
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
|
Plug 'ayu-theme/ayu-vim'
|
||||||
|
Plug 'ctrlpvim/ctrlp.vim'
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
set termguicolors
|
||||||
|
set background=dark
|
||||||
|
let ayucolor="dark"
|
||||||
|
colorscheme ayu
|
||||||
|
|
||||||
|
if has('gui_running')
|
||||||
|
set macligatures
|
||||||
|
set guifont=JetBrainsMono:h14
|
||||||
|
endif
|
||||||
Submodule config/nvim-kickstart updated: f5aa89acb8...d1d9f7b214
@@ -29,7 +29,7 @@
|
|||||||
"lazyvim.plugins.extras.util.mini-hipatterns"
|
"lazyvim.plugins.extras.util.mini-hipatterns"
|
||||||
],
|
],
|
||||||
"news": {
|
"news": {
|
||||||
"NEWS.md": "6077"
|
"NEWS.md": "6520"
|
||||||
},
|
},
|
||||||
"version": 6
|
"version": 6
|
||||||
}
|
}
|
||||||
@@ -6,17 +6,11 @@ local wk = require("which-key")
|
|||||||
-- ╭──────────────────────────────────────────────────────────╮
|
-- ╭──────────────────────────────────────────────────────────╮
|
||||||
-- │ Comment box │
|
-- │ Comment box │
|
||||||
-- ╰──────────────────────────────────────────────────────────╯
|
-- ╰──────────────────────────────────────────────────────────╯
|
||||||
wk.register({
|
wk.add({
|
||||||
["<Leader>"] = {
|
{ "<Leader>bc", group = "□ Comment box" },
|
||||||
b = {
|
{ "<Leader>bcb", "<Cmd>CBccbox<CR>", desc = "Box Title" },
|
||||||
c = {
|
{ "<Leader>bcd", "<Cmd>CBd<CR>", desc = "Remove a box" },
|
||||||
name = "□ Comment boxes",
|
{ "<Leader>bcl", "<Cmd>CBline<CR>", desc = "Simple Line" },
|
||||||
b = { "<Cmd>CBccbox<CR>", "Box Title" },
|
{ "<Leader>bcm", "<Cmd>CBllbox14<CR>", desc = "Marked" },
|
||||||
t = { "<Cmd>CBllline<CR>", "Titled Line" },
|
{ "<Leader>bct", "<Cmd>CBllline<CR>", desc = "Titled Line" },
|
||||||
l = { "<Cmd>CBline<CR>", "Simple Line" },
|
|
||||||
m = { "<Cmd>CBllbox14<CR>", "Marked" },
|
|
||||||
d = { "<Cmd>CBd<CR>", "Remove a box" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
blade-formatter
|
|
||||||
corepack
|
|
||||||
editorconfig-checker
|
|
||||||
github-release-notes
|
|
||||||
neovim
|
|
||||||
stylelint-lsp
|
|
||||||
|
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||||
"final_space": true,
|
"final_space": true,
|
||||||
"console_title_template": "{{.UserName}}@{{.HostName}} {{.Shell}} in {{.PWD}}",
|
"console_title_template": "{{.UserName}}@{{.HostName}} {{.Shell}} in {{.PWD}}",
|
||||||
|
"auto_upgrade": true,
|
||||||
"blocks": [
|
"blocks": [
|
||||||
{
|
{
|
||||||
"alignment": "left",
|
"alignment": "left",
|
||||||
@@ -111,7 +112,9 @@
|
|||||||
{
|
{
|
||||||
"background": "transparent",
|
"background": "transparent",
|
||||||
"foreground": "lightGreen",
|
"foreground": "lightGreen",
|
||||||
"foreground_templates": ["{{ if gt .Code 0 }}red{{ end }}"],
|
"foreground_templates": [
|
||||||
|
"{{ if gt .Code 0 }}red{{ end }}"
|
||||||
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"always_enabled": true
|
"always_enabled": true
|
||||||
},
|
},
|
||||||
@@ -126,7 +129,9 @@
|
|||||||
"transient_prompt": {
|
"transient_prompt": {
|
||||||
"background": "transparent",
|
"background": "transparent",
|
||||||
"foreground": "lightGreen",
|
"foreground": "lightGreen",
|
||||||
"foreground_templates": ["{{ if gt .Code 0 }}red{{ end }}"],
|
"foreground_templates": [
|
||||||
|
"{{ if gt .Code 0 }}red{{ end }}"
|
||||||
|
],
|
||||||
"template": "\u279c "
|
"template": "\u279c "
|
||||||
},
|
},
|
||||||
"version": 2
|
"version": 2
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
final_space = true
|
final_space = true
|
||||||
console_title_template = "{{.UserName}}@{{.HostName}} {{.Shell}} in {{.PWD}}"
|
console_title_template = "{{.UserName}}@{{.HostName}} {{.Shell}} in {{.PWD}}"
|
||||||
version = 2
|
version = 2
|
||||||
|
auto_upgrade = true
|
||||||
|
|
||||||
[[blocks]]
|
[[blocks]]
|
||||||
alignment = "left"
|
alignment = "left"
|
||||||
@@ -28,13 +29,15 @@ type = "prompt"
|
|||||||
style = "mixed"
|
style = "mixed"
|
||||||
|
|
||||||
[blocks.segments.mapped_locations]
|
[blocks.segments.mapped_locations]
|
||||||
"~/Code/*" = ""
|
"~/Code/*" = ""
|
||||||
|
"~/Code/ivuorinen/" = ""
|
||||||
|
|
||||||
[[blocks.segments]]
|
[[blocks.segments]]
|
||||||
type = "git"
|
type = "git"
|
||||||
style = "plain"
|
style = "plain"
|
||||||
foreground = "lightGreen"
|
foreground = "lightGreen"
|
||||||
template = "{{ .UpstreamIcon }}{{ if or (.Staging.Changed) (.Working.Changed) }}({{if .Behind }}\u2193 {{ .Behind }} {{ end }}{{if .Staging.Changed }}\uF046 {{ .Staging.String }} {{ end }}{{ if and (.Staging.Changed) (.Working.Changed) }}| {{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}){{ end }}"
|
# template = "{{ .UpstreamIcon }}{{ .HEAD }} {{ if or (.Staging.Changed) (.Working.Changed) }}({{if .Behind }}\u2193 {{ .Behind }} {{ end }}{{if .Staging.Changed }}\uF046 {{ .Staging.String }} {{ end }}{{ if and (.Staging.Changed) (.Working.Changed) }}| {{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}){{ end }}"
|
||||||
|
template = "{{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ end }}"
|
||||||
|
|
||||||
[blocks.segments.properties]
|
[blocks.segments.properties]
|
||||||
fetch_status = true
|
fetch_status = true
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
version = 2
|
version = 2
|
||||||
final_space = true
|
final_space = true
|
||||||
console_title_template = '{{ .Shell }} in {{ .Folder }}'
|
console_title_template = '{{ .Shell }} in {{ .Folder }}'
|
||||||
|
auto_upgrade = true
|
||||||
|
|
||||||
[[blocks]]
|
[[blocks]]
|
||||||
type = 'prompt'
|
type = 'prompt'
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ config.window_background_opacity = 0.97
|
|||||||
-- Don't show tab bar
|
-- Don't show tab bar
|
||||||
config.enable_tab_bar = false
|
config.enable_tab_bar = false
|
||||||
|
|
||||||
|
config.send_composed_key_when_left_alt_is_pressed = true
|
||||||
|
|
||||||
-- Function to detect the theme based on appearance
|
-- Function to detect the theme based on appearance
|
||||||
function Scheme_for_appearance(appearance)
|
function Scheme_for_appearance(appearance)
|
||||||
if appearance:find("Dark") then
|
if appearance:find("Dark") then
|
||||||
|
|||||||
8
config/yamlfmt/.yamlfmt
Normal file
8
config/yamlfmt/.yamlfmt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
formatter:
|
||||||
|
type: basic
|
||||||
|
indent: 2
|
||||||
|
retain_line_breaks: false
|
||||||
|
disallow_anchors: false
|
||||||
|
max_line_length: 0
|
||||||
|
scan_folded_as_literal: false
|
||||||
|
indentless_arrays: false
|
||||||
@@ -79,4 +79,3 @@ Leader: `<ctrl><space>`
|
|||||||
S-Left Move the visible part of the window left
|
S-Left Move the visible part of the window left
|
||||||
S-Right Move the visible part of the window right
|
S-Right Move the visible part of the window right
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,276 +4,276 @@
|
|||||||
Default key table
|
Default key table
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
CTRL Tab -> ActivateTabRelative(1)
|
CTRL Tab -> ActivateTabRelative(1)
|
||||||
SHIFT | CTRL Tab -> ActivateTabRelative(-1)
|
SHIFT | CTRL Tab -> ActivateTabRelative(-1)
|
||||||
ALT Enter -> ToggleFullScreen
|
ALT Enter -> ToggleFullScreen
|
||||||
CTRL ! -> ActivateTab(0)
|
CTRL ! -> ActivateTab(0)
|
||||||
SHIFT | CTRL ! -> ActivateTab(0)
|
SHIFT | CTRL ! -> ActivateTab(0)
|
||||||
ALT | CTRL " -> SplitVertical(SpawnCommand domain=CurrentPaneDomain)
|
ALT | CTRL " -> SplitVertical(SpawnCommand domain=CurrentPaneDomain)
|
||||||
SHIFT | ALT | CTRL " -> SplitVertical(SpawnCommand domain=CurrentPaneDomain)
|
SHIFT | ALT | CTRL " -> SplitVertical(SpawnCommand domain=CurrentPaneDomain)
|
||||||
CTRL # -> ActivateTab(2)
|
CTRL # -> ActivateTab(2)
|
||||||
SHIFT | CTRL # -> ActivateTab(2)
|
SHIFT | CTRL # -> ActivateTab(2)
|
||||||
CTRL $ -> ActivateTab(3)
|
CTRL $ -> ActivateTab(3)
|
||||||
SHIFT | CTRL $ -> ActivateTab(3)
|
SHIFT | CTRL $ -> ActivateTab(3)
|
||||||
CTRL % -> ActivateTab(4)
|
CTRL % -> ActivateTab(4)
|
||||||
SHIFT | CTRL % -> ActivateTab(4)
|
SHIFT | CTRL % -> ActivateTab(4)
|
||||||
ALT | CTRL % -> SplitHorizontal(SpawnCommand domain=CurrentPaneDomain)
|
ALT | CTRL % -> SplitHorizontal(SpawnCommand domain=CurrentPaneDomain)
|
||||||
SHIFT | ALT | CTRL % -> SplitHorizontal(SpawnCommand domain=CurrentPaneDomain)
|
SHIFT | ALT | CTRL % -> SplitHorizontal(SpawnCommand domain=CurrentPaneDomain)
|
||||||
CTRL & -> ActivateTab(6)
|
CTRL & -> ActivateTab(6)
|
||||||
SHIFT | CTRL & -> ActivateTab(6)
|
SHIFT | CTRL & -> ActivateTab(6)
|
||||||
SHIFT | ALT | CTRL ' -> SplitVertical(SpawnCommand domain=CurrentPaneDomain)
|
SHIFT | ALT | CTRL ' -> SplitVertical(SpawnCommand domain=CurrentPaneDomain)
|
||||||
CTRL ( -> ActivateTab(-1)
|
CTRL ( -> ActivateTab(-1)
|
||||||
SHIFT | CTRL ( -> ActivateTab(-1)
|
SHIFT | CTRL ( -> ActivateTab(-1)
|
||||||
CTRL ) -> ResetFontSize
|
CTRL ) -> ResetFontSize
|
||||||
SHIFT | CTRL ) -> ResetFontSize
|
SHIFT | CTRL ) -> ResetFontSize
|
||||||
CTRL * -> ActivateTab(7)
|
CTRL * -> ActivateTab(7)
|
||||||
SHIFT | CTRL * -> ActivateTab(7)
|
SHIFT | CTRL * -> ActivateTab(7)
|
||||||
CTRL + -> IncreaseFontSize
|
CTRL + -> IncreaseFontSize
|
||||||
SHIFT | CTRL + -> IncreaseFontSize
|
SHIFT | CTRL + -> IncreaseFontSize
|
||||||
CTRL - -> DecreaseFontSize
|
CTRL - -> DecreaseFontSize
|
||||||
SHIFT | CTRL - -> DecreaseFontSize
|
SHIFT | CTRL - -> DecreaseFontSize
|
||||||
SUPER - -> DecreaseFontSize
|
SUPER - -> DecreaseFontSize
|
||||||
CTRL 0 -> ResetFontSize
|
CTRL 0 -> ResetFontSize
|
||||||
SHIFT | CTRL 0 -> ResetFontSize
|
SHIFT | CTRL 0 -> ResetFontSize
|
||||||
SUPER 0 -> ResetFontSize
|
SUPER 0 -> ResetFontSize
|
||||||
SHIFT | CTRL 1 -> ActivateTab(0)
|
SHIFT | CTRL 1 -> ActivateTab(0)
|
||||||
SUPER 1 -> ActivateTab(0)
|
SUPER 1 -> ActivateTab(0)
|
||||||
SHIFT | CTRL 2 -> ActivateTab(1)
|
SHIFT | CTRL 2 -> ActivateTab(1)
|
||||||
SUPER 2 -> ActivateTab(1)
|
SUPER 2 -> ActivateTab(1)
|
||||||
SHIFT | CTRL 3 -> ActivateTab(2)
|
SHIFT | CTRL 3 -> ActivateTab(2)
|
||||||
SUPER 3 -> ActivateTab(2)
|
SUPER 3 -> ActivateTab(2)
|
||||||
SHIFT | CTRL 4 -> ActivateTab(3)
|
SHIFT | CTRL 4 -> ActivateTab(3)
|
||||||
SUPER 4 -> ActivateTab(3)
|
SUPER 4 -> ActivateTab(3)
|
||||||
SHIFT | CTRL 5 -> ActivateTab(4)
|
SHIFT | CTRL 5 -> ActivateTab(4)
|
||||||
SHIFT | ALT | CTRL 5 -> SplitHorizontal(SpawnCommand domain=CurrentPaneDomain)
|
SHIFT | ALT | CTRL 5 -> SplitHorizontal(SpawnCommand domain=CurrentPaneDomain)
|
||||||
SUPER 5 -> ActivateTab(4)
|
SUPER 5 -> ActivateTab(4)
|
||||||
SHIFT | CTRL 6 -> ActivateTab(5)
|
SHIFT | CTRL 6 -> ActivateTab(5)
|
||||||
SUPER 6 -> ActivateTab(5)
|
SUPER 6 -> ActivateTab(5)
|
||||||
SHIFT | CTRL 7 -> ActivateTab(6)
|
SHIFT | CTRL 7 -> ActivateTab(6)
|
||||||
SUPER 7 -> ActivateTab(6)
|
SUPER 7 -> ActivateTab(6)
|
||||||
SHIFT | CTRL 8 -> ActivateTab(7)
|
SHIFT | CTRL 8 -> ActivateTab(7)
|
||||||
SUPER 8 -> ActivateTab(7)
|
SUPER 8 -> ActivateTab(7)
|
||||||
SHIFT | CTRL 9 -> ActivateTab(-1)
|
SHIFT | CTRL 9 -> ActivateTab(-1)
|
||||||
SUPER 9 -> ActivateTab(-1)
|
SUPER 9 -> ActivateTab(-1)
|
||||||
CTRL = -> IncreaseFontSize
|
CTRL = -> IncreaseFontSize
|
||||||
SHIFT | CTRL = -> IncreaseFontSize
|
SHIFT | CTRL = -> IncreaseFontSize
|
||||||
SUPER = -> IncreaseFontSize
|
SUPER = -> IncreaseFontSize
|
||||||
CTRL @ -> ActivateTab(1)
|
CTRL @ -> ActivateTab(1)
|
||||||
SHIFT | CTRL @ -> ActivateTab(1)
|
SHIFT | CTRL @ -> ActivateTab(1)
|
||||||
CTRL C -> CopyTo(Clipboard)
|
CTRL C -> CopyTo(Clipboard)
|
||||||
SHIFT | CTRL C -> CopyTo(Clipboard)
|
SHIFT | CTRL C -> CopyTo(Clipboard)
|
||||||
CTRL F -> Search(CurrentSelectionOrEmptyString)
|
CTRL F -> Search(CurrentSelectionOrEmptyString)
|
||||||
SHIFT | CTRL F -> Search(CurrentSelectionOrEmptyString)
|
SHIFT | CTRL F -> Search(CurrentSelectionOrEmptyString)
|
||||||
CTRL H -> HideApplication
|
CTRL H -> HideApplication
|
||||||
SHIFT | CTRL H -> HideApplication
|
SHIFT | CTRL H -> HideApplication
|
||||||
CTRL K -> ClearScrollback(ScrollbackOnly)
|
CTRL K -> ClearScrollback(ScrollbackOnly)
|
||||||
SHIFT | CTRL K -> ClearScrollback(ScrollbackOnly)
|
SHIFT | CTRL K -> ClearScrollback(ScrollbackOnly)
|
||||||
CTRL L -> ShowDebugOverlay
|
CTRL L -> ShowDebugOverlay
|
||||||
SHIFT | CTRL L -> ShowDebugOverlay
|
SHIFT | CTRL L -> ShowDebugOverlay
|
||||||
CTRL M -> Hide
|
CTRL M -> Hide
|
||||||
SHIFT | CTRL M -> Hide
|
SHIFT | CTRL M -> Hide
|
||||||
CTRL N -> SpawnWindow
|
CTRL N -> SpawnWindow
|
||||||
SHIFT | CTRL N -> SpawnWindow
|
SHIFT | CTRL N -> SpawnWindow
|
||||||
CTRL P -> ActivateCommandPalette
|
CTRL P -> ActivateCommandPalette
|
||||||
SHIFT | CTRL P -> ActivateCommandPalette
|
SHIFT | CTRL P -> ActivateCommandPalette
|
||||||
CTRL Q -> QuitApplication
|
CTRL Q -> QuitApplication
|
||||||
SHIFT | CTRL Q -> QuitApplication
|
SHIFT | CTRL Q -> QuitApplication
|
||||||
CTRL R -> ReloadConfiguration
|
CTRL R -> ReloadConfiguration
|
||||||
SHIFT | CTRL R -> ReloadConfiguration
|
SHIFT | CTRL R -> ReloadConfiguration
|
||||||
CTRL T -> SpawnTab(CurrentPaneDomain)
|
CTRL T -> SpawnTab(CurrentPaneDomain)
|
||||||
SHIFT | CTRL T -> SpawnTab(CurrentPaneDomain)
|
SHIFT | CTRL T -> SpawnTab(CurrentPaneDomain)
|
||||||
CTRL U -> CharSelect(CharSelectArguments { group: None, copy_on_select: true, copy_to: ClipboardAndPrimarySelection })
|
CTRL U -> CharSelect(CharSelectArguments { group: None, copy_on_select: true, copy_to: ClipboardAndPrimarySelection })
|
||||||
SHIFT | CTRL U -> CharSelect(CharSelectArguments { group: None, copy_on_select: true, copy_to: ClipboardAndPrimarySelection })
|
SHIFT | CTRL U -> CharSelect(CharSelectArguments { group: None, copy_on_select: true, copy_to: ClipboardAndPrimarySelection })
|
||||||
CTRL V -> PasteFrom(Clipboard)
|
CTRL V -> PasteFrom(Clipboard)
|
||||||
SHIFT | CTRL V -> PasteFrom(Clipboard)
|
SHIFT | CTRL V -> PasteFrom(Clipboard)
|
||||||
CTRL W -> CloseCurrentTab { confirm: true }
|
CTRL W -> CloseCurrentTab { confirm: true }
|
||||||
SHIFT | CTRL W -> CloseCurrentTab { confirm: true }
|
SHIFT | CTRL W -> CloseCurrentTab { confirm: true }
|
||||||
CTRL X -> ActivateCopyMode
|
CTRL X -> ActivateCopyMode
|
||||||
SHIFT | CTRL X -> ActivateCopyMode
|
SHIFT | CTRL X -> ActivateCopyMode
|
||||||
CTRL Z -> TogglePaneZoomState
|
CTRL Z -> TogglePaneZoomState
|
||||||
SHIFT | CTRL Z -> TogglePaneZoomState
|
SHIFT | CTRL Z -> TogglePaneZoomState
|
||||||
SHIFT | SUPER [ -> ActivateTabRelative(-1)
|
SHIFT | SUPER [ -> ActivateTabRelative(-1)
|
||||||
SHIFT | SUPER ] -> ActivateTabRelative(1)
|
SHIFT | SUPER ] -> ActivateTabRelative(1)
|
||||||
CTRL ^ -> ActivateTab(5)
|
CTRL ^ -> ActivateTab(5)
|
||||||
SHIFT | CTRL ^ -> ActivateTab(5)
|
SHIFT | CTRL ^ -> ActivateTab(5)
|
||||||
CTRL _ -> DecreaseFontSize
|
CTRL _ -> DecreaseFontSize
|
||||||
SHIFT | CTRL _ -> DecreaseFontSize
|
SHIFT | CTRL _ -> DecreaseFontSize
|
||||||
SHIFT | CTRL c -> CopyTo(Clipboard)
|
SHIFT | CTRL c -> CopyTo(Clipboard)
|
||||||
SUPER c -> CopyTo(Clipboard)
|
SUPER c -> CopyTo(Clipboard)
|
||||||
SHIFT | CTRL f -> Search(CurrentSelectionOrEmptyString)
|
SHIFT | CTRL f -> Search(CurrentSelectionOrEmptyString)
|
||||||
SUPER f -> Search(CurrentSelectionOrEmptyString)
|
SUPER f -> Search(CurrentSelectionOrEmptyString)
|
||||||
SHIFT | CTRL h -> HideApplication
|
SHIFT | CTRL h -> HideApplication
|
||||||
SUPER h -> HideApplication
|
SUPER h -> HideApplication
|
||||||
SHIFT | CTRL k -> ClearScrollback(ScrollbackOnly)
|
SHIFT | CTRL k -> ClearScrollback(ScrollbackOnly)
|
||||||
SUPER k -> ClearScrollback(ScrollbackOnly)
|
SUPER k -> ClearScrollback(ScrollbackOnly)
|
||||||
SHIFT | CTRL l -> ShowDebugOverlay
|
SHIFT | CTRL l -> ShowDebugOverlay
|
||||||
SHIFT | CTRL m -> Hide
|
SHIFT | CTRL m -> Hide
|
||||||
SUPER m -> Hide
|
SUPER m -> Hide
|
||||||
SHIFT | CTRL n -> SpawnWindow
|
SHIFT | CTRL n -> SpawnWindow
|
||||||
SUPER n -> SpawnWindow
|
SUPER n -> SpawnWindow
|
||||||
SHIFT | CTRL p -> ActivateCommandPalette
|
SHIFT | CTRL p -> ActivateCommandPalette
|
||||||
SHIFT | CTRL q -> QuitApplication
|
SHIFT | CTRL q -> QuitApplication
|
||||||
SUPER q -> QuitApplication
|
SUPER q -> QuitApplication
|
||||||
SHIFT | CTRL r -> ReloadConfiguration
|
SHIFT | CTRL r -> ReloadConfiguration
|
||||||
SUPER r -> ReloadConfiguration
|
SUPER r -> ReloadConfiguration
|
||||||
SHIFT | CTRL t -> SpawnTab(CurrentPaneDomain)
|
SHIFT | CTRL t -> SpawnTab(CurrentPaneDomain)
|
||||||
SUPER t -> SpawnTab(CurrentPaneDomain)
|
SUPER t -> SpawnTab(CurrentPaneDomain)
|
||||||
SHIFT | CTRL u -> CharSelect(CharSelectArguments { group: None, copy_on_select: true, copy_to: ClipboardAndPrimarySelection })
|
SHIFT | CTRL u -> CharSelect(CharSelectArguments { group: None, copy_on_select: true, copy_to: ClipboardAndPrimarySelection })
|
||||||
SHIFT | CTRL v -> PasteFrom(Clipboard)
|
SHIFT | CTRL v -> PasteFrom(Clipboard)
|
||||||
SUPER v -> PasteFrom(Clipboard)
|
SUPER v -> PasteFrom(Clipboard)
|
||||||
SHIFT | CTRL w -> CloseCurrentTab { confirm: true }
|
SHIFT | CTRL w -> CloseCurrentTab { confirm: true }
|
||||||
SUPER w -> CloseCurrentTab { confirm: true }
|
SUPER w -> CloseCurrentTab { confirm: true }
|
||||||
SHIFT | CTRL x -> ActivateCopyMode
|
SHIFT | CTRL x -> ActivateCopyMode
|
||||||
SHIFT | CTRL z -> TogglePaneZoomState
|
SHIFT | CTRL z -> TogglePaneZoomState
|
||||||
SUPER { -> ActivateTabRelative(-1)
|
SUPER { -> ActivateTabRelative(-1)
|
||||||
SHIFT | SUPER { -> ActivateTabRelative(-1)
|
SHIFT | SUPER { -> ActivateTabRelative(-1)
|
||||||
SUPER } -> ActivateTabRelative(1)
|
SUPER } -> ActivateTabRelative(1)
|
||||||
SHIFT | SUPER } -> ActivateTabRelative(1)
|
SHIFT | SUPER } -> ActivateTabRelative(1)
|
||||||
SHIFT | CTRL Space (Physical) -> QuickSelect
|
SHIFT | CTRL Space (Physical) -> QuickSelect
|
||||||
SHIFT PageUp -> ScrollByPage(NotNan(-1.0))
|
SHIFT PageUp -> ScrollByPage(NotNan(-1.0))
|
||||||
CTRL PageUp -> ActivateTabRelative(-1)
|
CTRL PageUp -> ActivateTabRelative(-1)
|
||||||
SHIFT | CTRL PageUp -> MoveTabRelative(-1)
|
SHIFT | CTRL PageUp -> MoveTabRelative(-1)
|
||||||
SHIFT PageDown -> ScrollByPage(NotNan(1.0))
|
SHIFT PageDown -> ScrollByPage(NotNan(1.0))
|
||||||
CTRL PageDown -> ActivateTabRelative(1)
|
CTRL PageDown -> ActivateTabRelative(1)
|
||||||
SHIFT | CTRL PageDown -> MoveTabRelative(1)
|
SHIFT | CTRL PageDown -> MoveTabRelative(1)
|
||||||
SHIFT | CTRL LeftArrow -> ActivatePaneDirection(Left)
|
SHIFT | CTRL LeftArrow -> ActivatePaneDirection(Left)
|
||||||
SHIFT | ALT | CTRL LeftArrow -> AdjustPaneSize(Left, 1)
|
SHIFT | ALT | CTRL LeftArrow -> AdjustPaneSize(Left, 1)
|
||||||
SHIFT | CTRL RightArrow -> ActivatePaneDirection(Right)
|
SHIFT | CTRL RightArrow -> ActivatePaneDirection(Right)
|
||||||
SHIFT | ALT | CTRL RightArrow -> AdjustPaneSize(Right, 1)
|
SHIFT | ALT | CTRL RightArrow -> AdjustPaneSize(Right, 1)
|
||||||
SHIFT | CTRL UpArrow -> ActivatePaneDirection(Up)
|
SHIFT | CTRL UpArrow -> ActivatePaneDirection(Up)
|
||||||
SHIFT | ALT | CTRL UpArrow -> AdjustPaneSize(Up, 1)
|
SHIFT | ALT | CTRL UpArrow -> AdjustPaneSize(Up, 1)
|
||||||
SHIFT | CTRL DownArrow -> ActivatePaneDirection(Down)
|
SHIFT | CTRL DownArrow -> ActivatePaneDirection(Down)
|
||||||
SHIFT | ALT | CTRL DownArrow -> AdjustPaneSize(Down, 1)
|
SHIFT | ALT | CTRL DownArrow -> AdjustPaneSize(Down, 1)
|
||||||
Copy -> CopyTo(Clipboard)
|
Copy -> CopyTo(Clipboard)
|
||||||
Paste -> PasteFrom(Clipboard)
|
Paste -> PasteFrom(Clipboard)
|
||||||
|
|
||||||
Key Table: copy_mode
|
Key Table: copy_mode
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Tab -> CopyMode(MoveForwardWord)
|
Tab -> CopyMode(MoveForwardWord)
|
||||||
SHIFT Tab -> CopyMode(MoveBackwardWord)
|
SHIFT Tab -> CopyMode(MoveBackwardWord)
|
||||||
Enter -> CopyMode(MoveToStartOfNextLine)
|
Enter -> CopyMode(MoveToStartOfNextLine)
|
||||||
Escape -> CopyMode(Close)
|
Escape -> CopyMode(Close)
|
||||||
Space -> CopyMode(SetSelectionMode(Some(Cell)))
|
Space -> CopyMode(SetSelectionMode(Some(Cell)))
|
||||||
$ -> CopyMode(MoveToEndOfLineContent)
|
$ -> CopyMode(MoveToEndOfLineContent)
|
||||||
SHIFT $ -> CopyMode(MoveToEndOfLineContent)
|
SHIFT $ -> CopyMode(MoveToEndOfLineContent)
|
||||||
, -> CopyMode(JumpReverse)
|
, -> CopyMode(JumpReverse)
|
||||||
0 -> CopyMode(MoveToStartOfLine)
|
0 -> CopyMode(MoveToStartOfLine)
|
||||||
; -> CopyMode(JumpAgain)
|
; -> CopyMode(JumpAgain)
|
||||||
F -> CopyMode(JumpBackward { prev_char: false })
|
F -> CopyMode(JumpBackward { prev_char: false })
|
||||||
SHIFT F -> CopyMode(JumpBackward { prev_char: false })
|
SHIFT F -> CopyMode(JumpBackward { prev_char: false })
|
||||||
G -> CopyMode(MoveToScrollbackBottom)
|
G -> CopyMode(MoveToScrollbackBottom)
|
||||||
SHIFT G -> CopyMode(MoveToScrollbackBottom)
|
SHIFT G -> CopyMode(MoveToScrollbackBottom)
|
||||||
H -> CopyMode(MoveToViewportTop)
|
H -> CopyMode(MoveToViewportTop)
|
||||||
SHIFT H -> CopyMode(MoveToViewportTop)
|
SHIFT H -> CopyMode(MoveToViewportTop)
|
||||||
L -> CopyMode(MoveToViewportBottom)
|
L -> CopyMode(MoveToViewportBottom)
|
||||||
SHIFT L -> CopyMode(MoveToViewportBottom)
|
SHIFT L -> CopyMode(MoveToViewportBottom)
|
||||||
M -> CopyMode(MoveToViewportMiddle)
|
M -> CopyMode(MoveToViewportMiddle)
|
||||||
SHIFT M -> CopyMode(MoveToViewportMiddle)
|
SHIFT M -> CopyMode(MoveToViewportMiddle)
|
||||||
O -> CopyMode(MoveToSelectionOtherEndHoriz)
|
O -> CopyMode(MoveToSelectionOtherEndHoriz)
|
||||||
SHIFT O -> CopyMode(MoveToSelectionOtherEndHoriz)
|
SHIFT O -> CopyMode(MoveToSelectionOtherEndHoriz)
|
||||||
T -> CopyMode(JumpBackward { prev_char: true })
|
T -> CopyMode(JumpBackward { prev_char: true })
|
||||||
SHIFT T -> CopyMode(JumpBackward { prev_char: true })
|
SHIFT T -> CopyMode(JumpBackward { prev_char: true })
|
||||||
V -> CopyMode(SetSelectionMode(Some(Line)))
|
V -> CopyMode(SetSelectionMode(Some(Line)))
|
||||||
SHIFT V -> CopyMode(SetSelectionMode(Some(Line)))
|
SHIFT V -> CopyMode(SetSelectionMode(Some(Line)))
|
||||||
^ -> CopyMode(MoveToStartOfLineContent)
|
^ -> CopyMode(MoveToStartOfLineContent)
|
||||||
SHIFT ^ -> CopyMode(MoveToStartOfLineContent)
|
SHIFT ^ -> CopyMode(MoveToStartOfLineContent)
|
||||||
b -> CopyMode(MoveBackwardWord)
|
b -> CopyMode(MoveBackwardWord)
|
||||||
ALT b -> CopyMode(MoveBackwardWord)
|
ALT b -> CopyMode(MoveBackwardWord)
|
||||||
CTRL b -> CopyMode(PageUp)
|
CTRL b -> CopyMode(PageUp)
|
||||||
CTRL c -> CopyMode(Close)
|
CTRL c -> CopyMode(Close)
|
||||||
CTRL d -> CopyMode(MoveByPage(NotNan(0.5)))
|
CTRL d -> CopyMode(MoveByPage(NotNan(0.5)))
|
||||||
e -> CopyMode(MoveForwardWordEnd)
|
e -> CopyMode(MoveForwardWordEnd)
|
||||||
f -> CopyMode(JumpForward { prev_char: false })
|
f -> CopyMode(JumpForward { prev_char: false })
|
||||||
ALT f -> CopyMode(MoveForwardWord)
|
ALT f -> CopyMode(MoveForwardWord)
|
||||||
CTRL f -> CopyMode(PageDown)
|
CTRL f -> CopyMode(PageDown)
|
||||||
g -> CopyMode(MoveToScrollbackTop)
|
g -> CopyMode(MoveToScrollbackTop)
|
||||||
CTRL g -> CopyMode(Close)
|
CTRL g -> CopyMode(Close)
|
||||||
h -> CopyMode(MoveLeft)
|
h -> CopyMode(MoveLeft)
|
||||||
j -> CopyMode(MoveDown)
|
j -> CopyMode(MoveDown)
|
||||||
k -> CopyMode(MoveUp)
|
k -> CopyMode(MoveUp)
|
||||||
l -> CopyMode(MoveRight)
|
l -> CopyMode(MoveRight)
|
||||||
ALT m -> CopyMode(MoveToStartOfLineContent)
|
ALT m -> CopyMode(MoveToStartOfLineContent)
|
||||||
o -> CopyMode(MoveToSelectionOtherEnd)
|
o -> CopyMode(MoveToSelectionOtherEnd)
|
||||||
q -> CopyMode(Close)
|
q -> CopyMode(Close)
|
||||||
t -> CopyMode(JumpForward { prev_char: true })
|
t -> CopyMode(JumpForward { prev_char: true })
|
||||||
CTRL u -> CopyMode(MoveByPage(NotNan(-0.5)))
|
CTRL u -> CopyMode(MoveByPage(NotNan(-0.5)))
|
||||||
v -> CopyMode(SetSelectionMode(Some(Cell)))
|
v -> CopyMode(SetSelectionMode(Some(Cell)))
|
||||||
CTRL v -> CopyMode(SetSelectionMode(Some(Block)))
|
CTRL v -> CopyMode(SetSelectionMode(Some(Block)))
|
||||||
w -> CopyMode(MoveForwardWord)
|
w -> CopyMode(MoveForwardWord)
|
||||||
y -> Multiple([CopyTo(ClipboardAndPrimarySelection), CopyMode(Close)])
|
y -> Multiple([CopyTo(ClipboardAndPrimarySelection), CopyMode(Close)])
|
||||||
PageUp -> CopyMode(PageUp)
|
PageUp -> CopyMode(PageUp)
|
||||||
PageDown -> CopyMode(PageDown)
|
PageDown -> CopyMode(PageDown)
|
||||||
End -> CopyMode(MoveToEndOfLineContent)
|
End -> CopyMode(MoveToEndOfLineContent)
|
||||||
Home -> CopyMode(MoveToStartOfLine)
|
Home -> CopyMode(MoveToStartOfLine)
|
||||||
LeftArrow -> CopyMode(MoveLeft)
|
LeftArrow -> CopyMode(MoveLeft)
|
||||||
ALT LeftArrow -> CopyMode(MoveBackwardWord)
|
ALT LeftArrow -> CopyMode(MoveBackwardWord)
|
||||||
RightArrow -> CopyMode(MoveRight)
|
RightArrow -> CopyMode(MoveRight)
|
||||||
ALT RightArrow -> CopyMode(MoveForwardWord)
|
ALT RightArrow -> CopyMode(MoveForwardWord)
|
||||||
UpArrow -> CopyMode(MoveUp)
|
UpArrow -> CopyMode(MoveUp)
|
||||||
DownArrow -> CopyMode(MoveDown)
|
DownArrow -> CopyMode(MoveDown)
|
||||||
|
|
||||||
Key Table: search_mode
|
Key Table: search_mode
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Enter -> CopyMode(PriorMatch)
|
Enter -> CopyMode(PriorMatch)
|
||||||
Escape -> CopyMode(Close)
|
Escape -> CopyMode(Close)
|
||||||
CTRL n -> CopyMode(NextMatch)
|
CTRL n -> CopyMode(NextMatch)
|
||||||
CTRL p -> CopyMode(PriorMatch)
|
CTRL p -> CopyMode(PriorMatch)
|
||||||
CTRL r -> CopyMode(CycleMatchType)
|
CTRL r -> CopyMode(CycleMatchType)
|
||||||
CTRL u -> CopyMode(ClearPattern)
|
CTRL u -> CopyMode(ClearPattern)
|
||||||
PageUp -> CopyMode(PriorMatchPage)
|
PageUp -> CopyMode(PriorMatchPage)
|
||||||
PageDown -> CopyMode(NextMatchPage)
|
PageDown -> CopyMode(NextMatchPage)
|
||||||
UpArrow -> CopyMode(PriorMatch)
|
UpArrow -> CopyMode(PriorMatch)
|
||||||
DownArrow -> CopyMode(NextMatch)
|
DownArrow -> CopyMode(NextMatch)
|
||||||
|
|
||||||
Mouse
|
Mouse
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Cell)
|
Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Cell)
|
||||||
SHIFT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
SHIFT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
||||||
ALT Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Block)
|
ALT Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Block)
|
||||||
SHIFT | ALT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
SHIFT | ALT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
||||||
Down { streak: 1, button: Middle } -> PasteFrom(PrimarySelection)
|
Down { streak: 1, button: Middle } -> PasteFrom(PrimarySelection)
|
||||||
Down { streak: 1, button: WheelUp(1) } -> ScrollByCurrentEventWheelDelta
|
Down { streak: 1, button: WheelUp(1) } -> ScrollByCurrentEventWheelDelta
|
||||||
Down { streak: 1, button: WheelDown(1) } -> ScrollByCurrentEventWheelDelta
|
Down { streak: 1, button: WheelDown(1) } -> ScrollByCurrentEventWheelDelta
|
||||||
Down { streak: 2, button: Left } -> SelectTextAtMouseCursor(Word)
|
Down { streak: 2, button: Left } -> SelectTextAtMouseCursor(Word)
|
||||||
Down { streak: 3, button: Left } -> SelectTextAtMouseCursor(Line)
|
Down { streak: 3, button: Left } -> SelectTextAtMouseCursor(Line)
|
||||||
Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
||||||
ALT Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
ALT Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
||||||
SHIFT | CTRL Drag { streak: 1, button: Left } -> StartWindowDrag
|
SHIFT | CTRL Drag { streak: 1, button: Left } -> StartWindowDrag
|
||||||
SUPER Drag { streak: 1, button: Left } -> StartWindowDrag
|
SUPER Drag { streak: 1, button: Left } -> StartWindowDrag
|
||||||
Drag { streak: 2, button: Left } -> ExtendSelectionToMouseCursor(Word)
|
Drag { streak: 2, button: Left } -> ExtendSelectionToMouseCursor(Word)
|
||||||
Drag { streak: 3, button: Left } -> ExtendSelectionToMouseCursor(Line)
|
Drag { streak: 3, button: Left } -> ExtendSelectionToMouseCursor(Line)
|
||||||
Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
||||||
SHIFT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
SHIFT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
||||||
ALT Up { streak: 1, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
ALT Up { streak: 1, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
||||||
SHIFT | ALT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(PrimarySelection)
|
SHIFT | ALT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(PrimarySelection)
|
||||||
Up { streak: 2, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
Up { streak: 2, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
||||||
Up { streak: 3, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
Up { streak: 3, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
||||||
|
|
||||||
Mouse: alt_screen
|
Mouse: alt_screen
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Cell)
|
Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Cell)
|
||||||
SHIFT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
SHIFT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
||||||
ALT Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Block)
|
ALT Down { streak: 1, button: Left } -> SelectTextAtMouseCursor(Block)
|
||||||
SHIFT | ALT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
SHIFT | ALT Down { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
||||||
Down { streak: 1, button: Middle } -> PasteFrom(PrimarySelection)
|
Down { streak: 1, button: Middle } -> PasteFrom(PrimarySelection)
|
||||||
Down { streak: 2, button: Left } -> SelectTextAtMouseCursor(Word)
|
Down { streak: 2, button: Left } -> SelectTextAtMouseCursor(Word)
|
||||||
Down { streak: 3, button: Left } -> SelectTextAtMouseCursor(Line)
|
Down { streak: 3, button: Left } -> SelectTextAtMouseCursor(Line)
|
||||||
Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Cell)
|
||||||
ALT Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
ALT Drag { streak: 1, button: Left } -> ExtendSelectionToMouseCursor(Block)
|
||||||
SHIFT | CTRL Drag { streak: 1, button: Left } -> StartWindowDrag
|
SHIFT | CTRL Drag { streak: 1, button: Left } -> StartWindowDrag
|
||||||
SUPER Drag { streak: 1, button: Left } -> StartWindowDrag
|
SUPER Drag { streak: 1, button: Left } -> StartWindowDrag
|
||||||
Drag { streak: 2, button: Left } -> ExtendSelectionToMouseCursor(Word)
|
Drag { streak: 2, button: Left } -> ExtendSelectionToMouseCursor(Word)
|
||||||
Drag { streak: 3, button: Left } -> ExtendSelectionToMouseCursor(Line)
|
Drag { streak: 3, button: Left } -> ExtendSelectionToMouseCursor(Line)
|
||||||
Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
||||||
SHIFT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
SHIFT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(ClipboardAndPrimarySelection)
|
||||||
ALT Up { streak: 1, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
ALT Up { streak: 1, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
||||||
SHIFT | ALT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(PrimarySelection)
|
SHIFT | ALT Up { streak: 1, button: Left } -> CompleteSelectionOrOpenLinkAtMouseCursor(PrimarySelection)
|
||||||
Up { streak: 2, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
Up { streak: 2, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
||||||
Up { streak: 3, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
Up { streak: 3, button: Left } -> CompleteSelection(ClipboardAndPrimarySelection)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -35,10 +35,6 @@
|
|||||||
relink: true
|
relink: true
|
||||||
path: config/*
|
path: config/*
|
||||||
exclude: [config/nvm]
|
exclude: [config/nvm]
|
||||||
~/.config/nvm/default-packages:
|
|
||||||
create: true
|
|
||||||
relink: true
|
|
||||||
path: config/nvm/default-packages
|
|
||||||
~/.local/bin:
|
~/.local/bin:
|
||||||
glob: true
|
glob: true
|
||||||
path: local/bin/*
|
path: local/bin/*
|
||||||
@@ -53,6 +49,7 @@
|
|||||||
mode: 0600
|
mode: 0600
|
||||||
path: ssh/*
|
path: ssh/*
|
||||||
- shell:
|
- shell:
|
||||||
|
- bash add-submodules.sh || true
|
||||||
- git submodule update --init --recursive --force
|
- git submodule update --init --recursive --force
|
||||||
- bash local/bin/dfm install all
|
- bash local/bin/dfm install all
|
||||||
- pipx:
|
- pipx:
|
||||||
|
|||||||
Submodule local/bin/asdf updated: ccdd47df9b...f00f759f3d
@@ -44,6 +44,23 @@ if ! declare -f msg_done > /dev/null; then
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! declare -f array_diff > /dev/null; then
|
||||||
|
# Function to compare two arrays and return the difference
|
||||||
|
# Example: array_diff DIFFERENCE ARRAY1 ARRAY2
|
||||||
|
# $1 - variable to store the difference
|
||||||
|
# $2 - first array
|
||||||
|
# $3 - second array
|
||||||
|
# Output to $1 the difference between $2 and $3
|
||||||
|
# Source: https://stackoverflow.com/a/42399479/594940
|
||||||
|
array_diff()
|
||||||
|
{
|
||||||
|
eval local ARR1=\(\"\${$2[@]}\"\)
|
||||||
|
eval local ARR2=\(\"\${$3[@]}\"\)
|
||||||
|
local IFS=$'\n'
|
||||||
|
mapfile -t "$1" < <(comm -23 <(echo "${ARR1[*]}" | sort) <(echo "${ARR2[*]}" | sort))
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
VERSION_NVM="v0.39.5"
|
VERSION_NVM="v0.39.5"
|
||||||
|
|
||||||
# Loads configs for better installation experience
|
# Loads configs for better installation experience
|
||||||
@@ -161,7 +178,7 @@ section_install()
|
|||||||
;;
|
;;
|
||||||
asdf)
|
asdf)
|
||||||
msg "Installing asdf..."
|
msg "Installing asdf..."
|
||||||
bash "$DOTFILES/scripts/install-asdf.sh" \
|
bash "$DOTFILES/scripts/install-asdf.sh both" \
|
||||||
&& msg_yay "asdf installed!"
|
&& msg_yay "asdf installed!"
|
||||||
;;
|
;;
|
||||||
cargo)
|
cargo)
|
||||||
@@ -293,6 +310,7 @@ section_brew()
|
|||||||
"autoupdate:Setups brew auto-update and runs it immediately"
|
"autoupdate:Setups brew auto-update and runs it immediately"
|
||||||
"leaves:List brew leaves (installed on request)"
|
"leaves:List brew leaves (installed on request)"
|
||||||
"clean:Clean up brew packages"
|
"clean:Clean up brew packages"
|
||||||
|
"untracked:List untracked brew packages"
|
||||||
)
|
)
|
||||||
|
|
||||||
x-have brew && {
|
x-have brew && {
|
||||||
@@ -309,11 +327,55 @@ section_brew()
|
|||||||
brew bundle dump \
|
brew bundle dump \
|
||||||
--force \
|
--force \
|
||||||
--file="$BREWFILE" \
|
--file="$BREWFILE" \
|
||||||
|
--cleanup \
|
||||||
|
--tap \
|
||||||
|
--formula \
|
||||||
|
--cask \
|
||||||
--describe && msg_yay "Done!"
|
--describe && msg_yay "Done!"
|
||||||
;;
|
;;
|
||||||
leaves)
|
leaves)
|
||||||
brew leaves --installed-on-request
|
brew leaves --installed-on-request
|
||||||
;;
|
;;
|
||||||
|
untracked)
|
||||||
|
declare -a BREW_LIST_ALL
|
||||||
|
while IFS= read -r line; do
|
||||||
|
BREW_LIST_ALL+=("$line")
|
||||||
|
done < <(brew list --formula --installed-on-request -1 --full-name)
|
||||||
|
while IFS= read -r c; do
|
||||||
|
BREW_LIST_ALL+=("$c")
|
||||||
|
done < <(brew list --cask -1 --full-name)
|
||||||
|
|
||||||
|
# Remove entries that are installed as dependencies
|
||||||
|
declare -a BREW_LIST_DEPENDENCIES
|
||||||
|
while IFS= read -r l; do
|
||||||
|
BREW_LIST_DEPENDENCIES+=("$l")
|
||||||
|
done < <(brew list -1 --installed-as-dependency)
|
||||||
|
|
||||||
|
declare -a BREW_LIST_BUNDLED
|
||||||
|
while IFS= read -r b; do
|
||||||
|
BREW_LIST_BUNDLED+=("$b")
|
||||||
|
done < <(brew bundle list --all --file="$BREWFILE")
|
||||||
|
|
||||||
|
declare -a BREW_LIST_TRACKED_WITHOUT_DEPS
|
||||||
|
for f in "${BREW_LIST_ALL[@]}"; do
|
||||||
|
if [[ ! " ${BREW_LIST_DEPENDENCIES[@]} " =~ " ${f} " ]]; then
|
||||||
|
BREW_LIST_TRACKED_WITHOUT_DEPS+=("$f")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
array_diff BREW_LIST_UNTRACKED BREW_LIST_TRACKED_WITHOUT_DEPS BREW_LIST_BUNDLED
|
||||||
|
|
||||||
|
# If there are no untracked packages, exit
|
||||||
|
if [ ${#BREW_LIST_UNTRACKED[@]} -eq 0 ]; then
|
||||||
|
msg_yay "No untracked packages found!"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Untracked:"
|
||||||
|
for f in "${BREW_LIST_UNTRACKED[@]}"; do
|
||||||
|
echo " $f"
|
||||||
|
done
|
||||||
|
;;
|
||||||
clean)
|
clean)
|
||||||
brew bundle cleanup --file="$BREWFILE" && msg_yay "Done!"
|
brew bundle cleanup --file="$BREWFILE" && msg_yay "Done!"
|
||||||
;;
|
;;
|
||||||
@@ -417,7 +479,9 @@ section_dotfiles()
|
|||||||
! x-have shfmt && msg_err "shfmt not found, install with asdf"
|
! x-have shfmt && msg_err "shfmt not found, install with asdf"
|
||||||
# Format shell scripts according to following rules.
|
# Format shell scripts according to following rules.
|
||||||
fd --full-path "$DOTFILES" -tx \
|
fd --full-path "$DOTFILES" -tx \
|
||||||
|
--hidden \
|
||||||
-E '*.pl' -E '*.php' -E '*.py' -E '*.zsh' -E 'plugins' -E 'fzf' -E 'dotbot' \
|
-E '*.pl' -E '*.php' -E '*.py' -E '*.zsh' -E 'plugins' -E 'fzf' -E 'dotbot' \
|
||||||
|
-E 'test' -E '**/bin/asdf/**' -E '**/tldr/*' \
|
||||||
-x shfmt \
|
-x shfmt \
|
||||||
--language-dialect bash \
|
--language-dialect bash \
|
||||||
--func-next-line --list --write \
|
--func-next-line --list --write \
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ CONFIG_HOST="$(hostname -s)"
|
|||||||
# Enable debugging if requested
|
# Enable debugging if requested
|
||||||
[ "$DEBUG" = "1" ] && set -x
|
[ "$DEBUG" = "1" ] && set -x
|
||||||
|
|
||||||
CONFIG_PATH="${DOTFILES}/config"
|
CONFIG_PATH="${HOME}/.config"
|
||||||
|
|
||||||
[ -d "$DOTFILES" ] || {
|
[ -d "$DOTFILES" ] || {
|
||||||
msg_err "Error: DOTFILES is not set or $DOTFILES does not exist"
|
msg_err "Error: DOTFILES is not set or $DOTFILES does not exist"
|
||||||
|
|||||||
92
local/bin/x-term-colors
Executable file
92
local/bin/x-term-colors
Executable file
@@ -0,0 +1,92 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# This file echoes a bunch of 24-bit color codes
|
||||||
|
# to the terminal to demonstrate its functionality.
|
||||||
|
# The foreground escape sequence is ^[38;2;<r>;<g>;<b>m
|
||||||
|
# The background escape sequence is ^[48;2;<r>;<g>;<b>m
|
||||||
|
# <r> <g> <b> range from 0 to 255 inclusive.
|
||||||
|
# The escape sequence ^[0m returns output to default
|
||||||
|
|
||||||
|
setBackgroundColor()
|
||||||
|
{
|
||||||
|
echo -en "\x1b[48;2;$1;$2;$3""m"
|
||||||
|
}
|
||||||
|
|
||||||
|
resetOutput()
|
||||||
|
{
|
||||||
|
echo -en "\x1b[0m\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Gives a color $1/255 % along HSV
|
||||||
|
# Who knows what happens when $1 is outside 0-255
|
||||||
|
# Echoes "$red $green $blue" where
|
||||||
|
# $red $green and $blue are integers
|
||||||
|
# ranging between 0 and 255 inclusive
|
||||||
|
rainbowColor()
|
||||||
|
{
|
||||||
|
let h=$1/43
|
||||||
|
let f=$1-43*$h
|
||||||
|
let t=$f*255/43
|
||||||
|
let q=255-t
|
||||||
|
|
||||||
|
if [ $h -eq 0 ]; then
|
||||||
|
echo "255 $t 0"
|
||||||
|
elif [ $h -eq 1 ]; then
|
||||||
|
echo "$q 255 0"
|
||||||
|
elif [ $h -eq 2 ]; then
|
||||||
|
echo "0 255 $t"
|
||||||
|
elif [ $h -eq 3 ]; then
|
||||||
|
echo "0 $q 255"
|
||||||
|
elif [ $h -eq 4 ]; then
|
||||||
|
echo "$t 0 255"
|
||||||
|
elif [ $h -eq 5 ]; then
|
||||||
|
echo "255 0 $q"
|
||||||
|
else
|
||||||
|
# execution should never reach here
|
||||||
|
echo "0 0 0"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in $(seq 0 127); do
|
||||||
|
setBackgroundColor "$i" 0 0
|
||||||
|
echo -en " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
for i in $(seq 255 128); do
|
||||||
|
setBackgroundColor "$i" 0 0
|
||||||
|
echo -en " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
|
||||||
|
for i in $(seq 0 127); do
|
||||||
|
setBackgroundColor 0 "$i" 0
|
||||||
|
echo -n " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
for i in $(seq 255 128); do
|
||||||
|
setBackgroundColor 0 "$i" 0
|
||||||
|
echo -n " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
|
||||||
|
for i in $(seq 0 127); do
|
||||||
|
setBackgroundColor 0 0 "$i"
|
||||||
|
echo -n " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
for i in $(seq 255 128); do
|
||||||
|
setBackgroundColor 0 0 "$i"
|
||||||
|
echo -n " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
|
||||||
|
for i in $(seq 0 127); do
|
||||||
|
setBackgroundColor $(rainbowColor "$i")
|
||||||
|
echo -n " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
|
for i in $(seq 255 128); do
|
||||||
|
setBackgroundColor $(rainbowColor "$i")
|
||||||
|
echo -n " "
|
||||||
|
done
|
||||||
|
resetOutput
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
"name": "ivuorinen-dotfiles",
|
"name": "ivuorinen-dotfiles",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "ivuorinen's dotfiles, this is for linting and formatters",
|
"description": "ivuorinen's dotfiles, this is for linting and formatters",
|
||||||
"main": "index.js",
|
|
||||||
"directories": {
|
"directories": {
|
||||||
"doc": "docs"
|
"doc": "docs"
|
||||||
},
|
},
|
||||||
@@ -28,8 +27,7 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/ivuorinen/dotfiles#readme",
|
"homepage": "https://github.com/ivuorinen/dotfiles#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ivuorinen/base-configs": "^1.1.0",
|
"@ivuorinen/base-configs": "^2.0.0"
|
||||||
"prettier-plugin-sh": "^0.14.0"
|
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@1.22.22"
|
"packageManager": "yarn@1.22.22"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# Install asdf
|
# Install asdf and plugins I use
|
||||||
|
#
|
||||||
|
# It also updates asdf and the plugins, and then reshim asdf.
|
||||||
|
#
|
||||||
|
# Usage: ./install-asdf.sh [both|install|add_plugins]
|
||||||
|
# Author: Ismo Vuorinen <https://github.com/ivuorinen>
|
||||||
|
# License: MIT
|
||||||
|
#
|
||||||
source "${DOTFILES}/config/shared.sh"
|
source "${DOTFILES}/config/shared.sh"
|
||||||
|
|
||||||
export ASDF_DIR="${XDG_BIN_HOME}/asdf"
|
export ASDF_DIR="${XDG_BIN_HOME}/asdf"
|
||||||
@@ -12,8 +19,6 @@ msg "Sourcing asdf in your shell"
|
|||||||
# Function to update asdf and plugins
|
# Function to update asdf and plugins
|
||||||
update_asdf()
|
update_asdf()
|
||||||
{
|
{
|
||||||
asdf update
|
|
||||||
|
|
||||||
asdf plugin add asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git
|
asdf plugin add asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git
|
||||||
asdf install asdf-plugin-manager latest
|
asdf install asdf-plugin-manager latest
|
||||||
asdf global asdf-plugin-manager "$(asdf latest asdf-plugin-manager)"
|
asdf global asdf-plugin-manager "$(asdf latest asdf-plugin-manager)"
|
||||||
@@ -21,58 +26,91 @@ update_asdf()
|
|||||||
asdf-plugin-manager add-all
|
asdf-plugin-manager add-all
|
||||||
|
|
||||||
asdf install
|
asdf install
|
||||||
}
|
|
||||||
|
|
||||||
ASDF_INSTALLABLES=(
|
return 0
|
||||||
"1password-cli:github.com/NeoHsu/asdf-1password-cli.git"
|
}
|
||||||
"age:github.com/threkk/asdf-age.git"
|
|
||||||
"bottom:github.com/carbonteq/asdf-btm.git"
|
|
||||||
"direnv:github.com/asdf-community/asdf-direnv.git"
|
|
||||||
"dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git"
|
|
||||||
"editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git"
|
|
||||||
"eza:github.com/lwiechec/asdf-eza.git"
|
|
||||||
"fd:gitlab.com/wt0f/asdf-fd.git"
|
|
||||||
"github-cli:github.com/bartlomiejdanek/asdf-github-cli.git"
|
|
||||||
"golang:github.com/asdf-community/asdf-golang.git"
|
|
||||||
"hadolint:github.com/devlincashman/asdf-hadolint.git"
|
|
||||||
"kubectl:github.com/asdf-community/asdf-kubectl.git"
|
|
||||||
"lazygit:github.com/nklmilojevic/asdf-lazygit.git"
|
|
||||||
"nodejs:github.com/asdf-vm/asdf-nodejs.git"
|
|
||||||
"pipx:github.com/yozachar/asdf-pipx.git"
|
|
||||||
"pre-commit:github.com/jonathanmorley/asdf-pre-commit.git"
|
|
||||||
"ripgrep:gitlab.com/wt0f/asdf-ripgrep.git"
|
|
||||||
"rust:github.com/code-lever/asdf-rust.git"
|
|
||||||
"semgrep:github.com/brentjanderson/asdf-semgrep.git"
|
|
||||||
"shellcheck:github.com/luizm/asdf-shellcheck.git"
|
|
||||||
"shfmt:github.com/luizm/asdf-shfmt.git"
|
|
||||||
"terraform-ls:github.com/asdf-community/asdf-hashicorp.git"
|
|
||||||
"terraform-lsp:github.com/bartlomiejdanek/asdf-terraform-lsp.git"
|
|
||||||
"terragrunt:github.com/ohmer/asdf-terragrunt.git"
|
|
||||||
"tf-summarize:github.com/adamcrews/asdf-tf-summarize.git"
|
|
||||||
"vault:github.com/asdf-community/asdf-hashicorp.git"
|
|
||||||
"yamllint:github.com/ericcornelissen/asdf-yamllint.git"
|
|
||||||
"yq:github.com/sudermanjr/asdf-yq.git"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Function to install asdf plugins
|
# Function to install asdf plugins
|
||||||
install_asdf_plugins()
|
install_asdf_plugins()
|
||||||
{
|
{
|
||||||
msg "Installing asdf plugins, if not already installed"
|
ASDF_INSTALLABLES=(
|
||||||
|
"1password-cli:github.com/NeoHsu/asdf-1password-cli.git"
|
||||||
|
"age:github.com/threkk/asdf-age.git"
|
||||||
|
"bottom:github.com/carbonteq/asdf-btm.git"
|
||||||
|
"direnv:github.com/asdf-community/asdf-direnv.git"
|
||||||
|
"dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git"
|
||||||
|
"editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git"
|
||||||
|
"eza:github.com/lwiechec/asdf-eza.git"
|
||||||
|
"fd:gitlab.com/wt0f/asdf-fd.git"
|
||||||
|
"github-cli:github.com/bartlomiejdanek/asdf-github-cli.git"
|
||||||
|
"golang:github.com/asdf-community/asdf-golang.git"
|
||||||
|
"hadolint:github.com/devlincashman/asdf-hadolint.git"
|
||||||
|
"kubectl:github.com/asdf-community/asdf-kubectl.git"
|
||||||
|
"lazygit:github.com/nklmilojevic/asdf-lazygit.git"
|
||||||
|
"nodejs:github.com/asdf-vm/asdf-nodejs.git"
|
||||||
|
"pipx:github.com/yozachar/asdf-pipx.git"
|
||||||
|
"pre-commit:github.com/jonathanmorley/asdf-pre-commit.git"
|
||||||
|
"python:github.com/asdf-community/asdf-python.git"
|
||||||
|
"ripgrep:gitlab.com/wt0f/asdf-ripgrep.git"
|
||||||
|
"rust:github.com/code-lever/asdf-rust.git"
|
||||||
|
"shellcheck:github.com/luizm/asdf-shellcheck.git"
|
||||||
|
"shfmt:github.com/luizm/asdf-shfmt.git"
|
||||||
|
"terragrunt:github.com/ohmer/asdf-terragrunt.git"
|
||||||
|
"tf-summarize:github.com/adamcrews/asdf-tf-summarize.git"
|
||||||
|
"yamllint:github.com/ericcornelissen/asdf-yamllint.git"
|
||||||
|
"yq:github.com/sudermanjr/asdf-yq.git"
|
||||||
|
)
|
||||||
|
|
||||||
|
msg "Installing asdf plugins"
|
||||||
for item in "${ASDF_INSTALLABLES[@]}"; do
|
for item in "${ASDF_INSTALLABLES[@]}"; do
|
||||||
CMD=$(echo "${item}" | awk -F ":" '{print $1}')
|
CMD=$(echo "${item}" | awk -F ":" '{print $1}')
|
||||||
URL=$(echo "${item}" | awk -F ":" '{print $2}')
|
URL=$(echo "${item}" | awk -F ":" '{print $2}')
|
||||||
|
|
||||||
asdf plugin add "${CMD}" "https://${URL}"
|
asdf plugin add "${CMD}" "https://${URL}"
|
||||||
asdf install "${CMD}" latest
|
asdf install "${CMD}" latest
|
||||||
asdf global "${CMD}" "$(asdf latest "${CMD}")"
|
asdf global "${CMD}" "$(asdf latest "${CMD}")"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
msg "Exporting asdf plugin versions"
|
||||||
|
asdf-plugin-manager export > "${XDG_CONFIG_HOME}/asdf/plugin-versions"
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
reshim()
|
||||||
|
{
|
||||||
|
msg "Reshim asdf"
|
||||||
|
asdf reshim
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# create usage function
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo "Usage: $0 [both|install|add_plugins]"
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
update_asdf
|
case $1 in
|
||||||
install_asdf_plugins
|
"both")
|
||||||
msg "Reshim asdf"
|
install_asdf_plugins
|
||||||
asdf reshim
|
update_asdf
|
||||||
|
reshim
|
||||||
|
;;
|
||||||
|
"install")
|
||||||
|
update_asdf
|
||||||
|
reshim
|
||||||
|
;;
|
||||||
|
"add_plugins")
|
||||||
|
install_asdf_plugins
|
||||||
|
reshim
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
# Install cargo/rust packages.
|
# Install cargo/rust packages.
|
||||||
#
|
#
|
||||||
# shellcheck source=shared.sh
|
# shellcheck source=shared.sh
|
||||||
|
|
||||||
|
echo "This file has been deprecated in favor of asdf. Please use asdf instead."
|
||||||
|
exit 0
|
||||||
|
|
||||||
eval "$HOME/.dotfiles/config/shared.sh"
|
eval "$HOME/.dotfiles/config/shared.sh"
|
||||||
|
|
||||||
msg "Starting to install rust/cargo packages"
|
msg "Starting to install rust/cargo packages"
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
# Install Go packages
|
# Install Go packages
|
||||||
#
|
#
|
||||||
# shellcheck source=shared.sh
|
# shellcheck source=shared.sh
|
||||||
|
|
||||||
|
echo "This file has been deprecated in favor of asdf. Please use asdf instead."
|
||||||
|
exit 0
|
||||||
|
|
||||||
eval "$DOTFILES/config/shared.sh"
|
eval "$DOTFILES/config/shared.sh"
|
||||||
|
|
||||||
# Enable verbosity with VERBOSE=1
|
# Enable verbosity with VERBOSE=1
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
# Install npm packages globally.
|
# Install npm packages globally.
|
||||||
#
|
#
|
||||||
# shellcheck source=shared.sh
|
# shellcheck source=shared.sh
|
||||||
|
|
||||||
|
echo "This file has been deprecated in favor of asdf. Please use asdf instead."
|
||||||
|
exit 0
|
||||||
|
|
||||||
eval "$DOTFILES/config/shared.sh"
|
eval "$DOTFILES/config/shared.sh"
|
||||||
|
|
||||||
# Enable verbosity with VERBOSE=1
|
# Enable verbosity with VERBOSE=1
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
# Install python/pip packages.
|
# Install python/pip packages.
|
||||||
#
|
#
|
||||||
# shellcheck source=shared.sh
|
# shellcheck source=shared.sh
|
||||||
|
|
||||||
|
echo "This file has been deprecated in favor of asdf. Please use asdf instead."
|
||||||
|
exit 0
|
||||||
|
|
||||||
source "${DOTFILES}/config/shared.sh"
|
source "${DOTFILES}/config/shared.sh"
|
||||||
|
|
||||||
# Enable verbosity with VERBOSE=1
|
# Enable verbosity with VERBOSE=1
|
||||||
|
|||||||
BIN
secrets/.gitkeep
BIN
secrets/.gitkeep
Binary file not shown.
Reference in New Issue
Block a user