Compare commits
17 Commits
b76a0787bf
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b953e2c9e | ||
|
|
db2dab6ee2 | ||
|
|
d21e83c921 | ||
|
|
eec510c9fb | ||
|
|
36e44c4ea8 | ||
|
|
b4f025c019 | ||
|
|
cef0c0bdf7 | ||
|
|
23fb9d2593 | ||
|
|
4717c01483 | ||
|
|
e82f6e5356 | ||
|
|
5f7db64250 | ||
|
|
05b5c17a56 | ||
|
|
ab111b9fb9 | ||
|
|
905e22a712 | ||
|
|
1930f98e22 | ||
|
|
4fa8591142 | ||
|
|
5549cae9d4 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -15,6 +15,8 @@ mise/*
|
|||||||
nvim/lazy-lock.json
|
nvim/lazy-lock.json
|
||||||
nvim/lazyvim.json
|
nvim/lazyvim.json
|
||||||
|
|
||||||
|
!tmux/
|
||||||
|
|
||||||
!yazi/
|
!yazi/
|
||||||
yazi/flavours/
|
yazi/flavours/
|
||||||
yazi/plugins/
|
yazi/plugins/
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ plugins=(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
###
|
### Fabric
|
||||||
https://github.com/Mu-L/fabric-ai/tree/main
|
https://github.com/Mu-L/fabric-ai/tree/main
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
@@ -134,6 +134,13 @@ https://mise.jdx.dev/
|
|||||||
brew install mise
|
brew install mise
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### OpenCode
|
||||||
|
https://github.com/anomalyco/opencode
|
||||||
|
|
||||||
|
```shell
|
||||||
|
brew install opencode
|
||||||
|
```
|
||||||
|
|
||||||
### Pwgen
|
### Pwgen
|
||||||
https://github.com/aronhoyer/pwgen
|
https://github.com/aronhoyer/pwgen
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ categories:
|
|||||||
|
|
||||||
source:
|
source:
|
||||||
# renovate:datasource=github-releases
|
# renovate:datasource=github-releases
|
||||||
id: pkg:generic/hashicorp/terraform-ls@v0.38.4
|
id: pkg:generic/hashicorp/terraform-ls@v0.38.6
|
||||||
download:
|
download:
|
||||||
- target: darwin_arm64
|
- target: darwin_arm64
|
||||||
files:
|
files:
|
||||||
|
|||||||
@@ -1,11 +1,21 @@
|
|||||||
[settings]
|
[settings]
|
||||||
experimental = true
|
experimental = true
|
||||||
env_shell_expand = true
|
env_shell_expand = true
|
||||||
|
sops.age_key_file = "$HOME/.config/sops/.age"
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
_.file = ".secrets.yaml"
|
|
||||||
SOPS_AGE_KEY_FILE = "$HOME/.config/sops/.age"
|
SOPS_AGE_KEY_FILE = "$HOME/.config/sops/.age"
|
||||||
TFENV_REMOTE = "https://hashicorp-releases.yandexcloud.net"
|
TFENV_REMOTE = "https://hashicorp-releases.yandexcloud.net"
|
||||||
|
K9S_FEATURE_GATE_NODE_SHELL = true
|
||||||
|
|
||||||
[shell_alias]
|
[shell_alias]
|
||||||
|
nvimc = "nvim ~/.config"
|
||||||
|
nvimm = "nvim ~/.config/mise/config.toml"
|
||||||
|
nvimn = "nvim ~/.config/nvim"
|
||||||
|
nvimz = "nvim ~/.config/zsh/.zshrc"
|
||||||
|
|
||||||
|
gh = "cd ~ && clear"
|
||||||
|
gw = "cd ~/work && clear"
|
||||||
|
gp = "cd ~/personal && clear"
|
||||||
|
|
||||||
ytr = "fabric-ai -p rate_content -g ru -s -y"
|
ytr = "fabric-ai -p rate_content -g ru -s -y"
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ brew install go
|
|||||||
brew install lazygit
|
brew install lazygit
|
||||||
|
|
||||||
# https://github.com/getsops/sops
|
# https://github.com/getsops/sops
|
||||||
brew onstall sops
|
brew install sops
|
||||||
|
|
||||||
# https://tree-sitter.github.io/
|
# https://tree-sitter.github.io/
|
||||||
brew install tree-sitter
|
brew install tree-sitter-cli
|
||||||
|
|
||||||
# https://github.com/ryanoasis/nerd-fonts
|
# https://github.com/ryanoasis/nerd-fonts
|
||||||
brew install --cask font-jetbrains-mono-nerd-font
|
brew install --cask font-jetbrains-mono-nerd-font
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ return {
|
|||||||
filetypes = {
|
filetypes = {
|
||||||
"yaml",
|
"yaml",
|
||||||
"yaml.docker-compose",
|
"yaml.docker-compose",
|
||||||
-- "yaml.gitlab",
|
"yaml.gitlab",
|
||||||
"yaml.helm-values",
|
"yaml.helm-values",
|
||||||
},
|
},
|
||||||
root_markers = {
|
root_markers = {
|
||||||
@@ -21,6 +21,9 @@ return {
|
|||||||
format = {
|
format = {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
|
customTags = {
|
||||||
|
"!reference sequence",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,3 +43,6 @@ opt.splitbelow = true -- split horizontal window to the bottom
|
|||||||
|
|
||||||
-- turn off swapfile
|
-- turn off swapfile
|
||||||
opt.swapfile = false
|
opt.swapfile = false
|
||||||
|
|
||||||
|
-- set shell to zsh
|
||||||
|
opt.shell = "/bin/zsh"
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
-- https://github.com/mfussenegger/nvim-ansible/tree/main
|
|
||||||
return {
|
|
||||||
"mfussenegger/nvim-ansible",
|
|
||||||
ft = "yaml.ansible",
|
|
||||||
opts = {
|
|
||||||
-- leave empty or see below
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -2,19 +2,19 @@
|
|||||||
return {
|
return {
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
dependencies = {
|
-- dependencies = {
|
||||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
-- "JoosepAlviste/nvim-ts-context-commentstring",
|
||||||
},
|
-- },
|
||||||
config = function()
|
-- config = function()
|
||||||
-- import comment plugin safely
|
-- -- import comment plugin safely
|
||||||
local comment = require("Comment")
|
-- local comment = require("Comment")
|
||||||
|
--
|
||||||
local ts_context_commentstring = require("ts_context_commentstring.integrations.comment_nvim")
|
-- local ts_context_commentstring = require("ts_context_commentstring.integrations.comment_nvim")
|
||||||
|
--
|
||||||
-- enable comment
|
-- -- enable comment
|
||||||
comment.setup({
|
-- comment.setup({
|
||||||
-- for commenting tsx, jsx, svelte, html files
|
-- -- for commenting tsx, jsx, svelte, html files
|
||||||
pre_hook = ts_context_commentstring.create_pre_hook(),
|
-- pre_hook = ts_context_commentstring.create_pre_hook(),
|
||||||
})
|
-- })
|
||||||
end,
|
-- end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +1,41 @@
|
|||||||
-- https://github.com/mason-org/mason.nvim
|
-- https://github.com/mason-org/mason.nvim
|
||||||
|
-- https://github.com/mason-org/mason-registry
|
||||||
-- https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
|
-- https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"mason-org/mason.nvim",
|
"mason-org/mason.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
registries = {
|
registries = {
|
||||||
"file:~/.config/mason-registry",
|
"file:~/.config/mason-registry",
|
||||||
"github:mason-org/mason-registry",
|
"github:mason-org/mason-registry",
|
||||||
},
|
},
|
||||||
ui = {
|
ui = {
|
||||||
icons = {
|
icons = {
|
||||||
package_installed = "✓",
|
package_installed = "✓",
|
||||||
package_pending = "➜",
|
package_pending = "➜",
|
||||||
package_uninstalled = "✗",
|
package_uninstalled = "✗",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"ansible-language-server", -- https://github.com/ansible/vscode-ansible
|
"ansible-language-server", -- https://github.com/ansible/vscode-ansible
|
||||||
"docker-language-server", -- https://github.com/docker/docker-language-server
|
"docker-language-server", -- https://github.com/docker/docker-language-server
|
||||||
"gitlab-ci-ls", -- https://github.com/alesbrelih/gitlab-ci-ls
|
"gitlab-ci-ls", -- https://github.com/alesbrelih/gitlab-ci-ls
|
||||||
"helm-ls", -- https://github.com/mrjosh/helm-ls
|
"helm-ls", -- https://github.com/mrjosh/helm-ls
|
||||||
"lua-language-server", -- https://github.com/luals/lua-language-server
|
"lua-language-server", -- https://github.com/luals/lua-language-server
|
||||||
"prettier", -- https://github.com/prettier/prettier
|
"prettier", -- https://github.com/prettier/prettier
|
||||||
"prettierd", -- https://github.com/prettier/prettier
|
"prettierd", -- https://github.com/prettier/prettier
|
||||||
"stylua", -- https://github.com/JohnnyMorganz/StyLua
|
"stylua", -- https://github.com/JohnnyMorganz/StyLua
|
||||||
"terraform-ls", -- https://github.com/hashicorp/terraform-ls
|
"terraform-ls", -- https://github.com/hashicorp/terraform-ls
|
||||||
"yaml-language-server", -- https://github.com/redhat-developer/yaml-language-server
|
"yaml-language-server", -- https://github.com/redhat-developer/yaml-language-server
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"williamboman/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,5 +7,20 @@ return {
|
|||||||
-- your configuration comes here
|
-- your configuration comes here
|
||||||
-- or leave it empty to use the default settings
|
-- or leave it empty to use the default settings
|
||||||
-- refer to the configuration section below
|
-- refer to the configuration section below
|
||||||
}
|
search = {
|
||||||
|
command = "rg",
|
||||||
|
args = {
|
||||||
|
"--color=never",
|
||||||
|
"--no-heading",
|
||||||
|
"--with-filename",
|
||||||
|
"--line-number",
|
||||||
|
"--column",
|
||||||
|
"--hidden",
|
||||||
|
},
|
||||||
|
-- regex that will be used to match keywords.
|
||||||
|
-- don't replace the (KEYWORDS) placeholder
|
||||||
|
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
|
||||||
|
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,60 +1,33 @@
|
|||||||
-- https://github.com/nvim-treesitter/nvim-treesitter
|
-- https://github.com/nvim-treesitter/nvim-treesitter
|
||||||
return {
|
return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
lazy = false,
|
||||||
build = ":TSUpdate",
|
build = ":TSUpdate",
|
||||||
dependencies = {
|
|
||||||
"windwp/nvim-ts-autotag",
|
|
||||||
},
|
|
||||||
config = function()
|
config = function()
|
||||||
-- import nvim-treesitter plugin
|
-- import nvim-treesitter plugin
|
||||||
local treesitter = require("nvim-treesitter.configs")
|
local treesitter = require("nvim-treesitter")
|
||||||
|
|
||||||
-- configure treesitter
|
-- configure treesitter
|
||||||
treesitter.setup({
|
treesitter.setup({})
|
||||||
-- enable syntax highlighting
|
-- install parsers
|
||||||
highlight = {
|
treesitter.install({
|
||||||
enable = true,
|
"bash",
|
||||||
},
|
"dockerfile",
|
||||||
-- enable indentation
|
"gitignore",
|
||||||
indent = { enable = true },
|
"jinja",
|
||||||
-- enable autotagging (w/ nvim-ts-autotag plugin)
|
"jinja_inline",
|
||||||
autotag = {
|
"json",
|
||||||
enable = true,
|
"hcl",
|
||||||
},
|
"helm",
|
||||||
-- ensure these language parsers are installed
|
"lua",
|
||||||
ensure_installed = {
|
"luadoc",
|
||||||
"bash",
|
"luap",
|
||||||
"dockerfile",
|
"markdown",
|
||||||
"gitignore",
|
"markdown_inline",
|
||||||
"jinja",
|
"nginx",
|
||||||
"jinja_inline",
|
"vim",
|
||||||
"json",
|
"vimdoc",
|
||||||
"hcl",
|
"yaml",
|
||||||
"helm",
|
|
||||||
"lua",
|
|
||||||
"luadoc",
|
|
||||||
"luap",
|
|
||||||
"markdown",
|
|
||||||
"markdown_inline",
|
|
||||||
"nginx",
|
|
||||||
"vim",
|
|
||||||
"vimdoc",
|
|
||||||
"yaml",
|
|
||||||
},
|
|
||||||
modules = {},
|
|
||||||
sync_install = false,
|
|
||||||
ignore_install = {},
|
|
||||||
auto_install = false,
|
|
||||||
incremental_selection = {
|
|
||||||
enable = true,
|
|
||||||
keymaps = {
|
|
||||||
init_selection = "<C-space>",
|
|
||||||
node_incremental = "<C-space>",
|
|
||||||
scope_incremental = false,
|
|
||||||
node_decremental = "<bs>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ $directory\
|
|||||||
$git_branch\
|
$git_branch\
|
||||||
$git_state\
|
$git_state\
|
||||||
$git_status\
|
$git_status\
|
||||||
$kubernetes\
|
|
||||||
$cmd_duration\
|
|
||||||
$line_break\
|
$line_break\
|
||||||
$character"""
|
$character"""
|
||||||
|
|
||||||
|
|||||||
51
tmux/tmux.conf
Normal file
51
tmux/tmux.conf
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
set -g terminal-overrides ",*:RGB"
|
||||||
|
|
||||||
|
# Index options
|
||||||
|
set -g base-index 1 # set base index for windows
|
||||||
|
set-window-option -g pane-base-index 1 # ser base index for panes
|
||||||
|
set-option -g renumber-windows on # renumber all windows when any window is closed
|
||||||
|
|
||||||
|
# Base configuration
|
||||||
|
set -g history-limit 1000000 # increase history size (from 2,000)
|
||||||
|
set -g mouse on # Enable mouse
|
||||||
|
set -g set-clipboard on # use system clipboard
|
||||||
|
|
||||||
|
# Vim-like copy/paste
|
||||||
|
set-window-option -g mode-keys vi # set vi mode for windows
|
||||||
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||||
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||||
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||||
|
unbind -T copy-mode-vi MouseDragEnd1Pane # disable copy with mouse
|
||||||
|
|
||||||
|
# Style
|
||||||
|
gray_dark="#3B4252"
|
||||||
|
gray_light="#D8DEE9"
|
||||||
|
gray_medium="#ABB2BF"
|
||||||
|
green_soft="#A3BE8C"
|
||||||
|
cyan_soft="#88C0D0"
|
||||||
|
blue_muted="#81A1C1"
|
||||||
|
magenta="#C099FF"
|
||||||
|
|
||||||
|
set -g status-position top # macOS / darwin style
|
||||||
|
set -g status-left-length 100 # more room for session name
|
||||||
|
set -g status-style "fg=${gray_light},bg=default"
|
||||||
|
set -g status-left " #{?client_prefix,#[fg=${magenta}],#[fg=${green_soft}]}#[bold] #S#[fg=${gray_light},nobold] | "
|
||||||
|
set -g status-right ""
|
||||||
|
set -g window-status-current-format "#[fg=${cyan_soft},bold] #[underscore]#I:#W"
|
||||||
|
set -g window-status-format "#I:#W"
|
||||||
|
set -g message-style "fg=${gray_light},bg=default"
|
||||||
|
set -g mode-style "fg=${gray_dark},bg=${blue_muted}"
|
||||||
|
set -g pane-border-style "fg=${gray_dark}"
|
||||||
|
set -g pane-active-border-style "fg=${gray_medium}"
|
||||||
|
|
||||||
|
# Keybins
|
||||||
|
bind r source-file $HOME/.config/tmux/tmux.conf \; display-message "Configuration reload..."
|
||||||
|
|
||||||
|
# Popups
|
||||||
|
# new session
|
||||||
|
bind C-n display-popup -w 50% -h 5% -E 'bash -i -c "read -p \"Session name: \" name; tmux new-session -d -s \$name && tmux switch-client -t \$name"'
|
||||||
|
# jump to session
|
||||||
|
bind C-j display-popup -E "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t"
|
||||||
|
# terminal
|
||||||
|
bind C-t display-popup -d "#{pane_current_path}" -w 75% -h 75% -E "zsh"
|
||||||
64
zsh/.zshrc
64
zsh/.zshrc
@@ -69,30 +69,44 @@ source $ZSH/oh-my-zsh.sh
|
|||||||
export EDITOR='nvim'
|
export EDITOR='nvim'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
# YandexCloud CLI completion
|
||||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
# NOTE: Versions checked from utility version output
|
||||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
source "$HOMEBREW_PREFIX/Caskroom/yandex-cloud-cli/$(yc --version | egrep -o "([0-9]{1,}\.)+[0-9]{1,}")/yandex-cloud-cli/completion.zsh.inc"
|
||||||
# For a full list of active aliases, run `alias`.
|
|
||||||
|
#compdef opencode
|
||||||
|
###-begin-opencode-completions-###
|
||||||
#
|
#
|
||||||
# Example aliases
|
# yargs command completion script
|
||||||
# alias zshconfig="mate ~/.zshrc"
|
#
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
# Installation: opencode completion >> ~/.zshrc
|
||||||
alias vi="nvim"
|
# or opencode completion >> ~/.zprofile on OSX.
|
||||||
alias vim="nvim"
|
#
|
||||||
alias vimdiff="nvim -d"
|
_opencode_yargs_completions()
|
||||||
alias ovim="/usr/bin/vim"
|
{
|
||||||
|
local reply
|
||||||
|
local si=$IFS
|
||||||
|
IFS=$'
|
||||||
|
' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" opencode --get-yargs-completions "${words[@]}"))
|
||||||
|
IFS=$si
|
||||||
|
if [[ ${#reply} -gt 0 ]]; then
|
||||||
|
_describe 'values' reply
|
||||||
|
else
|
||||||
|
_default
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
if [[ "'${zsh_eval_context[-1]}" == "loadautofunc" ]]; then
|
||||||
|
_opencode_yargs_completions "$@"
|
||||||
|
else
|
||||||
|
compdef _opencode_yargs_completions opencode
|
||||||
|
fi
|
||||||
|
###-end-opencode-completions-###
|
||||||
|
|
||||||
alias vimz="nvim ~/.config/zsh/.zshrc"
|
# Add Docker Desktop for Mac (docker)
|
||||||
alias vimn="nvim ~/.config/nvim"
|
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"
|
||||||
|
|
||||||
alias gh="cd ~ && clear"
|
|
||||||
alias gw="cd ~/work && clear"
|
|
||||||
alias gp="cd ~/personal && clear"
|
|
||||||
|
|
||||||
# Functions
|
|
||||||
|
|
||||||
|
## Functions
|
||||||
#Generate strong password
|
#Generate strong password
|
||||||
pwg() {
|
function pwg() {
|
||||||
pwgen -cny -r \[\]\{\}\(\)\"\'\-\|\:\;\`\,\<\>\$\= 32 1
|
pwgen -cny -r \[\]\{\}\(\)\"\'\-\|\:\;\`\,\<\>\$\= 32 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,9 +120,7 @@ function y() {
|
|||||||
rm -f -- "$tmp"
|
rm -f -- "$tmp"
|
||||||
}
|
}
|
||||||
|
|
||||||
# YandexCloud CLI completion
|
#DuckDuckGo Search with w3m
|
||||||
# NOTE: Versions checked from utility version output
|
function ddgs(){
|
||||||
source "$HOMEBREW_PREFIX/Caskroom/yandex-cloud-cli/$(yc --version | egrep -o "([0-9]{1,}\.)+[0-9]{1,}")/yandex-cloud-cli/completion.zsh.inc"
|
w3m https://lite.duckduckgo.com/html/\?q\="$@"
|
||||||
|
}
|
||||||
# Add Docker Desktop for Mac (docker)
|
|
||||||
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user