Compare commits

..

48 Commits

Author SHA1 Message Date
Valeriy Filippov
1b953e2c9e tmux: fix typo 2026-05-05 10:06:28 +03:00
Valeriy Filippov
db2dab6ee2 tmux: add config 2026-05-04 16:07:25 +03:00
Valeriy Filippov
d21e83c921 nvim: upd mason config 2026-04-17 11:04:26 +03:00
Valeriy Filippov
eec510c9fb nvim: remove ansible ftype plugin 2026-04-17 11:04:07 +03:00
Valeriy Filippov
36e44c4ea8 mise: fix mise env decryption problem #2
mise use rops under the hood, so variable SOPS_AGE_KEY_FILE not working
properly when you open new terminal pane in directory under mise config.
Change it to sops.age_key_file setting fixes the problem.
2026-04-17 11:03:41 +03:00
Valeriy Filippov
b4f025c019 mise: fix mise env decryption problem
mise use rops under the hood, so variable SOPS_AGE_KEY_FILE not working
properly when you open new terminal pane in directory under mise config.
Change it to sops.age_key_file setting fixes the problem.
2026-04-06 17:43:39 +03:00
Valeriy Filippov
cef0c0bdf7 mason: bump terraformls version 2026-04-03 15:43:05 +03:00
Valeriy Filippov
23fb9d2593 Update READMEs 2026-04-03 15:42:43 +03:00
Valeriy Filippov
4717c01483 nvim: update README for tree-sitter dependencie 2026-04-03 15:34:03 +03:00
Valeriy Filippov
e82f6e5356 nvim: fix treesitter config for 0.12 nvim version 2026-04-03 15:31:40 +03:00
Valeriy Filippov
5f7db64250 nvim: zsh interactive mode causes problems with fzf installed 2026-04-03 15:31:15 +03:00
Valeriy Filippov
05b5c17a56 starship: remove k8s ctx and command duration 2026-04-03 15:30:32 +03:00
Valeriy Filippov
ab111b9fb9 nvim: fix commentstring error 2026-04-02 18:15:32 +03:00
Valeriy Filippov
905e22a712 nvim: todo coments in hidden folders 2026-04-02 18:14:54 +03:00
Valeriy Filippov
1930f98e22 nvim: update yamlls with reference tag 2026-04-02 18:14:32 +03:00
Valeriy Filippov
4fa8591142 nvim: update used shell 2026-04-02 18:14:08 +03:00
Valeriy Filippov
5549cae9d4 update shell complition, functions and aliases 2026-04-02 18:13:43 +03:00
Valeriy Filippov
b76a0787bf gitlab nvim update 2026-03-18 10:08:05 +03:00
Valeriy Filippov
364765c556 Update nvim-tree to show relative line numbers for better vim motions 2026-03-17 12:39:50 +03:00
Valeriy Filippov
fdb916d93a Remove yamlls from yaml.gitlab ft in nvim 2026-03-17 10:50:04 +03:00
Valeriy Filippov
b1d34e9bfa Add open git repo in browser keymap to nvim 2026-03-17 10:49:22 +03:00
Valeriy Filippov
3ca02f2520 Add YouTube Rate alias 2026-03-17 10:48:51 +03:00
Valeriy Filippov
dca816b091 Remove readme from ghostty
Ghostty since 1.2.3 don't need additional configuration on MacOS to use
config file from $HOME/.config/ghostty
2026-03-13 16:12:37 +03:00
Valeriy Filippov
8f092b7abf Add Yazi 2026-03-13 14:06:39 +03:00
Valeriy Filippov
1a59631ed8 Add mason-registry file for terraform-ls mirror 2026-03-13 13:02:15 +03:00
Valeriy Filippov
61c87c330c Add mise config 2026-03-13 13:01:08 +03:00
Valeriy Filippov
fdeaf38455 Remove tfenv mirror from zshrc 2026-03-13 13:00:20 +03:00
Valeriy Filippov
31bc0891fb Upd with resolved diagnostic 2026-03-12 11:34:46 +03:00
Valeriy Filippov
fdcab36e0f Add terminal toggle to nvim 2026-03-11 19:00:02 +03:00
Valeriy Filippov
32a5c2deb8 Add opencode 2026-03-11 18:50:00 +03:00
Valeriy Filippov
59c0722f25 Add ansible LSP 2026-03-11 16:34:25 +03:00
Valeriy Filippov
bfffd20873 Update root markers for LSP 2026-03-11 11:53:28 +03:00
Valeriy Filippov
7ee242ab9a Add helm LSP 2026-03-11 11:45:41 +03:00
Valeriy Filippov
304a31c1bf formatting and comments 2026-03-11 11:20:38 +03:00
Valeriy Filippov
892a7fe416 Groups for which-key 2026-03-11 11:12:43 +03:00
Valeriy Filippov
bfd1fe67b3 Add comments 2026-03-11 10:51:09 +03:00
Valeriy Filippov
dfb07cbf6b Remove messageopt 2026-03-11 10:50:50 +03:00
Valeriy Filippov
27663861dc Add formatters for lua and yaml 2026-03-11 10:06:28 +03:00
Valeriy Filippov
c4a77e9d1b Add mason for lsp and formatters install 2026-03-11 09:43:52 +03:00
Valeriy Filippov
97efab296d Upd keymaps and dashboard 2026-03-11 09:43:29 +03:00
Valeriy Filippov
5081396ccf Add doggo 2026-03-11 09:42:47 +03:00
Valeriy Filippov
d65c92e8ad Upd starship to show k8s context and ns 2026-03-11 09:42:34 +03:00
Valeriy Filippov
4fb307840b Upd readme #2 2026-03-06 15:20:00 +03:00
Valeriy Filippov
ea633fcb1f Upd readme 2026-03-06 15:16:41 +03:00
Valeriy Filippov
6aeee6d435 Add zsh 2026-03-06 15:16:33 +03:00
Valeriy Filippov
a7aafb662e Add Docker LSP 2026-03-06 13:30:31 +03:00
Valeriy Filippov
37f0a3c699 Update readmes 2026-03-06 13:01:51 +03:00
Valeriy Filippov
5105e92e5f Add starship 2026-03-06 13:01:41 +03:00
42 changed files with 3974 additions and 279 deletions

22
.gitignore vendored
View File

@@ -3,7 +3,27 @@
!README.md !README.md
**/.DS_Store **/.DS_Store
!ghostty/
!mason-registry
!mise/
mise/*
!mise/config.toml
!nvim/ !nvim/
nvim/lazy-lock.json nvim/lazy-lock.json
nvim/lazyvim.json nvim/lazyvim.json
!ghostty/
!tmux/
!yazi/
yazi/flavours/
yazi/plugins/
!zsh/
zsh/*
!zsh/.zshrc
!zsh/README.md
!starship.toml

218
README.md
View File

@@ -1 +1,217 @@
Файлы необходимо распологать в директории `~/.config` > [!NOTE]
> - My preferred method of installation is [Homebrew](https://brew.sh/), but it doesn't restrict the possibility of installing using other methods.
>
> - Files must be stored in the `~/.config` directory.
## Installation
### Brew
https://brew.sh/
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
### NeoVim
https://github.com/neovim/neovim
```shell
brew install neovim
```
### Ghostty
https://ghostty.org/download
### Starship
https://starship.rs/
```shell
brew install starship
```
Add to `.zshrc`
```
plugins=(
...
starship
...
)
```
### Bat
https://github.com/sharkdp/bat
```shell
brew install bat
```
### Doggo
https://github.com/mr-karan/doggo
```shell
brew install doggo
```
### Eza
https://github.com/eza-community/eza
```shell
brew install eza
```
Add to `.zshrc`
```
plugins=(
...
eza
...
)
```
### Fabric
https://github.com/Mu-L/fabric-ai/tree/main
```shell
brew install fabric-ai
```
### Fzf
https://github.com/junegunn/fzf
```shell
brew install fzf
```
Add to `.zshrc`
```
plugins=(
...
fzf
...
)
```
### Kubectx & kubens
https://github.com/ahmetb/kubectx
```shell
brew install kubectx
```
### k9s
https://github.com/derailed/k9s
```shell
brew install k9s
```
Add to `.zshrc`
```
plugins=(
...
k9s
...
)
```
### LazyGit
https://github.com/jesseduffield/lazygit
```shell
brew install lazygit
```
### LazyDocker
https://github.com/jesseduffield/lazydocker
```shell
brew install lazydocker
```
### Mise
https://mise.jdx.dev/
```shell
brew install mise
```
### OpenCode
https://github.com/anomalyco/opencode
```shell
brew install opencode
```
### Pwgen
https://github.com/aronhoyer/pwgen
```shell
brew install pwgen
```
### RipGrep
https://github.com/BurntSushi/ripgrep
```shell
brew install ripgrep
```
### SSH-list
https://github.com/akinoiro/ssh-list
```shell
brew install ssh-list
```
### TFEnv
https://github.com/tfutils/tfenv
```shell
brew install tfenv
```
### TheFuck
https://github.com/nvbn/thefuck
```shell
brew install thefuck
```
Add to `.zshrc`
```
plugins=(
...
thefuck
...
)
```
### TLDR-pages
https://github.com/tldr-pages/tldr
```shell
brew install tlrc
```
### Yazi
https://github.com/sxyazi/yazi
```shell
brew install yazi
```
### zoxide
https://github.com/ajeetdsouza/zoxide
```shell
brew install zoxide
```
Add to `.zshrc`
```
plugins=(
...
zoxide
...
)
```

View File

@@ -1,7 +0,0 @@
### MacOS
Add to your default ghostty config in `~/Library/Application Support/com.mitchellh.ghostty/config` for use this file
```txt
config-file = ~/.config/ghostty/config
```

View File

@@ -0,0 +1,60 @@
---
name: terraform-ls
description: Terraform Language Server.
homepage: https://github.com/hashicorp/terraform-ls
licenses:
- MPL-2.0
languages:
- Terraform
categories:
- LSP
source:
# renovate:datasource=github-releases
id: pkg:generic/hashicorp/terraform-ls@v0.38.6
download:
- target: darwin_arm64
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_darwin_arm64.zip
bin: terraform-ls
- target: darwin_x64
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_darwin_amd64.zip
bin: terraform-ls
- target: linux_arm64
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_linux_arm64.zip
bin: terraform-ls
- target: linux_arm
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_linux_arm.zip
bin: terraform-ls
- target: linux_x64
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_linux_amd64.zip
bin: terraform-ls
- target: linux_x86
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_linux_386.zip
bin: terraform-ls
- target: win_x64
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_windows_amd64.zip
bin: terraform-ls.exe
- target: win_x86
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_windows_386.zip
bin: terraform-ls.exe
- target: win_arm64
files:
terraform-ls.zip: https://hashicorp-releases.yandexcloud.net/terraform-ls/{{ version | strip_prefix "v" }}/terraform-ls_{{ version | strip_prefix "v" }}_windows_arm64.zip
bin: terraform-ls.exe
schemas:
lsp: vscode:https://raw.githubusercontent.com/hashicorp/vscode-terraform/master/package.json
bin:
terraform-ls: "{{source.download.bin}}"
neovim:
lspconfig: terraformls

21
mise/config.toml Normal file
View File

@@ -0,0 +1,21 @@
[settings]
experimental = true
env_shell_expand = true
sops.age_key_file = "$HOME/.config/sops/.age"
[env]
SOPS_AGE_KEY_FILE = "$HOME/.config/sops/.age"
TFENV_REMOTE = "https://hashicorp-releases.yandexcloud.net"
K9S_FEATURE_GATE_NODE_SHELL = true
[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"

4
nvim/.stylua.toml Normal file
View File

@@ -0,0 +1,4 @@
collapse_simple_statement = "Always"
indent_type = "Spaces"
column_width = 180
indent_width = 2

View File

@@ -1,44 +1,30 @@
### NB >[!NOTE]
> - My preferred method of installation is [Homebrew](https://brew.sh/), but it doesn't restrict the possibility of installing using other methods.
Мой предпочитаемый вариант установки [brew](https://brew.sh/), но так же можно найти репозитории необходимых зависимостей и учтановить их другими методами. ### Requirements
### Установка neovim
```bash
# https://github.com/neovim/neovim
brew install neovim
```
### Установка зависимостей
```bash ```bash
# https://github.com/junegunn/fzf # https://github.com/junegunn/fzf
brew install fzf brew install fzf
# https://github.com/alesbrelih/gitlab-ci-ls
brew install alesbrelih/gitlab-ci-ls/gitlab-ci-ls
# https://github.com/golang/go # https://github.com/golang/go
brew install go brew install go
# https://github.com/jesseduffield/lazygit # https://github.com/jesseduffield/lazygit
brew install lazygit brew install lazygit
# https://github.com/LuaLS/lua-language-server
brew install lua-language-server
# https://github.com/getsops/sops # https://github.com/getsops/sops
brew onstall sops brew install sops
# https://github.com/hashicorp/terraform-ls
brew install terraform-ls
# https://tree-sitter.github.io/ # https://tree-sitter.github.io/
brew install tree-sitter brew install tree-sitter-cli
# https://github.com/redhat-developer/yaml-language-server
brew install yaml-language-server
# 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
# https://rust-lang.org/ for cargo package manager
brew install rust
# https://github.com/anomalyco/opencode
brew install opencode
``` ```

View File

@@ -14,3 +14,10 @@ vim.filetype.add({
['.*%.tfvars'] = 'terraform.vars' ['.*%.tfvars'] = 'terraform.vars'
}, },
}) })
-- Docker LSP
vim.filetype.add({
pattern = {
['docker%-compose%.ya?ml'] = 'yaml.docker-compose',
},
})

26
nvim/lsp/ansiblels.lua Normal file
View File

@@ -0,0 +1,26 @@
-- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/ansiblels.lua
return {
cmd = { "ansible-language-server", "--stdio" },
filetypes = { "yaml.ansible" },
root_markers = { "ansible.cfg", ".ansible-lint" },
settings = {
ansible = {
python = {
interpreterPath = "python",
},
ansible = {
path = "ansible",
},
executionEnvironment = {
enabled = false,
},
validation = {
enabled = true,
lint = {
enabled = true,
path = "ansible-lint",
},
},
},
},
}

23
nvim/lsp/dockerls.lua Normal file
View File

@@ -0,0 +1,23 @@
-- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/docker_language_server.lua
return {
cmd = { "docker-language-server", "start", "--stdio" },
filetypes = { "dockerfile", "yaml.docker-compose" },
get_language_id = function(_, ftype)
if ftype == "yaml.docker-compose" or ftype:lower():find("ya?ml") then
return "dockercompose"
else
return ftype
end
end,
root_markers = {
"Dockerfile",
"docker-compose.yaml",
"docker-compose.yml",
"compose.yaml",
"compose.yml",
"docker-bake.json",
"docker-bake.hcl",
"docker-bake.override.json",
"docker-bake.override.hcl",
},
}

View File

@@ -1,12 +1,13 @@
-- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/gitlab_ci_ls.lua -- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/gitlab_ci_ls.lua
local cache_dir = vim.uv.os_homedir() .. '/.cache/gitlab-ci-ls/' ---@diagnostic disable-next-line: undefined-field
local cache_dir = vim.uv.os_homedir() .. "/.cache/gitlab-ci-ls/"
return { return {
cmd = { 'gitlab-ci-ls' }, cmd = { "gitlab-ci-ls" },
filetypes = { 'yaml.gitlab' }, filetypes = { "yaml.gitlab" },
root_markers = { '.git', '.gitlab-ci.yml' }, root_markers = { ".git", ".gitlab-ci.yml" },
init_options = { init_options = {
cache_path = cache_dir, cache_path = cache_dir,
log_path = cache_dir .. '/log/gitlab-ci-ls.log', log_path = cache_dir .. "/log/gitlab-ci-ls.log",
}, },
} }

13
nvim/lsp/helmls.lua Normal file
View File

@@ -0,0 +1,13 @@
-- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/helm_ls.lua
return {
cmd = { "helm_ls", "serve" },
filetypes = { "helm", "yaml.helm-values" },
root_markers = { "Chart.yaml" },
capabilities = {
workspace = {
didChangeWatchedFiles = {
dynamicRegistration = true,
},
},
},
}

View File

@@ -7,23 +7,23 @@ return {
"lua", "lua",
}, },
root_markers = { root_markers = {
"lazy-lock.json", "lazy-lock.json",
".luarc.json", ".luarc.json",
".luarc.jsonc", ".luarc.jsonc",
".luacheckrc", ".luacheckrc",
".stylua.toml", ".stylua.toml",
".git", ".git",
}, },
settings = { settings = {
Lua = { Lua = {
runtime = { runtime = {
version = 'LuaJIT', version = "LuaJIT",
}, },
workspace = { workspace = {
library = vim.api.nvim_get_runtime_file("", true) library = vim.api.nvim_get_runtime_file("", true),
} },
} },
}, },
single_file_support = true, single_file_support = true,
log_level = vim.lsp.protocol.MessageType.Warning, log_level = vim.lsp.protocol.MessageType.Warning,
} }

View File

@@ -1,6 +1,6 @@
-- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/terraformls.lua -- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/terraformls.lua
return { return {
cmd = { 'terraform-ls', 'serve' }, cmd = { "terraform-ls", "serve" },
filetypes = { 'terraform', 'terraform.vars' }, filetypes = { "terraform", "terraform.vars" },
root_markers = { '.terraform', '.git' }, root_markers = { ".terraform" },
} }

View File

@@ -1,18 +1,29 @@
-- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/yamlls.lua -- https://github.com/neovim/nvim-lspconfig/blob/master/lsp/yamlls.lua
return { return {
cmd = { "yaml-language-server", "--stdio" }, cmd = { "yaml-language-server", "--stdio" },
filetypes = { "yaml", 'yaml.docker-compose', 'yaml.gitlab', 'yaml.helm-values' }, filetypes = {
root_markers = { ".git" }, "yaml",
"yaml.docker-compose",
"yaml.gitlab",
"yaml.helm-values",
},
root_markers = {
".git",
".prettierrc",
},
settings = { settings = {
redhat = { redhat = {
telemetry = { telemetry = {
enabled = false enabled = false,
} },
}, },
yaml = { yaml = {
format = { format = {
enable = true enable = true,
} },
} customTags = {
"!reference sequence",
},
},
}, },
} }

View File

@@ -14,27 +14,32 @@ local keymap = vim.keymap
-- o Operator pending mode map. Defined using ':omap' or ':onoremap'. -- o Operator pending mode map. Defined using ':omap' or ':onoremap'.
-- Reserved firs characters: -- Reserved firs characters:
-- +/- - numbers -- Update in ../plugins/which-key.lua
-- c - [C]lear -- a - [A]I
-- c - [C]lear / [C]all
-- d - [D]iagnostic -- d - [D]iagnostic
-- e - File [E]xplorer -- e - File [E]xplorer
-- f - [F]ind -- f - [F]ind
-- g - [G]it -- g - [G]it
-- h - [H]istory -- h - [H]istory
-- l - [L]SP -- l - [L]SP
-- n - [N]otifications
-- p - [P]anes -- p - [P]anes
-- s - [S]ession -- s - [S]ession
-- t - [T]abs -- t - [T]abs
-- u - [U]i -- u - [U]i
-- [C]lear highlits -- [A]I
-- nickjvandyke/opencode.nvim
keymap.set({ "n", "x" }, "<leader>aa", function() require("opencode").ask("", { submit = true }) end, { desc = "[AI]: Ask opencode" })
keymap.set({ "n", "x" }, "<leader>ax", function() require("opencode").select() end, { desc = "[AI]: Execute action" })
keymap.set({ "n", "t" }, "<leader>at", function() require("opencode").toggle() end, { desc = "[AI]: Toggle opencode" })
-- [C]lear / [C]all
keymap.set("n", "<leader>ch", ":nohl<CR>", { desc = "[C]lear: serch [h]ighlights" }) keymap.set("n", "<leader>ch", ":nohl<CR>", { desc = "[C]lear: serch [h]ighlights" })
keymap.set({ "n", "v" }, "<leader>cf", function() require("conform").format() end, { desc = "[C]all: [f]ormat" })
-- [D]iagnostic -- [D]iagnostic
keymap.set("n", "<leader>dl", vim.diagnostic.open_float, { desc = "[D]iagnostic: [l]ine" }) keymap.set("n", "<leader>dl", vim.diagnostic.open_float, { desc = "[D]iagnostic: [l]ine" })
keymap.set("n", "K", vim.lsp.buf.hover, { desc = "Hover Documentation" })
keymap.set({ "n", "v" }, "<leader>da", vim.lsp.buf.code_action, { desc = "[D]iagnostic: avalible code [a]ctions" })
-- nvim-telescope/telescope.nvim -- nvim-telescope/telescope.nvim
keymap.set("n", "<leader>db", "<cmd>Telescope diagnostics bufnr=0<CR>", { desc = "[D]iagnostic: [b]uffer" }) keymap.set("n", "<leader>db", "<cmd>Telescope diagnostics bufnr=0<CR>", { desc = "[D]iagnostic: [b]uffer" })
-- folke/trouble.nvim -- folke/trouble.nvim
@@ -61,6 +66,8 @@ keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "[F]ind: [t]odo
keymap.set("n", "<leader>fq", function() Snacks.picker.qflist() end, { desc = "[F]ind: [Q]uickfix list" }) keymap.set("n", "<leader>fq", function() Snacks.picker.qflist() end, { desc = "[F]ind: [Q]uickfix list" })
-- [G]it -- [G]it
-- folke/snacks.nvim
keymap.set({ "n", "v" }, "<leader>go", function() Snacks.gitbrowse() end, { desc = "[G]it: [o]pen in browser" })
-- lewis6991/gitsigns.nvim -- lewis6991/gitsigns.nvim
keymap.set("n", "<leader>gs", "<cmd>Gitsigns stage_buffer<CR>", { desc = "[G]it: [s]tage buffer" }) keymap.set("n", "<leader>gs", "<cmd>Gitsigns stage_buffer<CR>", { desc = "[G]it: [s]tage buffer" })
keymap.set("n", "<leader>gr", "<cmd>Gitsigns reset_buffer<CR>", { desc = "[G]it: [r]eset buffer" }) keymap.set("n", "<leader>gr", "<cmd>Gitsigns reset_buffer<CR>", { desc = "[G]it: [r]eset buffer" })
@@ -77,14 +84,16 @@ keymap.set({ "o", "x" }, "<leader>gh", "<cmd>Gitsigns select_hunk<CR>", { desc =
-- [H]istory -- [H]istory
-- folke/snacks.nvim -- folke/snacks.nvim
keymap.set("n", "<leader>hn", function() Snacks.picker.notifications() end, { desc = "[H]istory: [N]otifications" } ) keymap.set("n", "<leader>hn", function() Snacks.picker.notifications() end, { desc = "[H]istory: [N]otifications" })
keymap.set("n", "<leader>hc", function() Snacks.picker.command_history() end, { desc = "[H]istory: [C]ommands" } ) keymap.set("n", "<leader>hc", function() Snacks.picker.command_history() end, { desc = "[H]istory: [C]ommands" })
-- [L]SP -- [L]SP
keymap.set({ "n", "v" }, "<leader>ld", vim.lsp.buf.hover, { desc = "[L]SP: Hover [D]ocumentation" })
keymap.set({ "n", "v" }, "<leader>la", vim.lsp.buf.code_action, { desc = "[L]SP: avalible code [a]ctions" })
-- folke/snacks.nvim -- folke/snacks.nvim
keymap.set("n", "<leader>lf", function() Snacks.picker.lsp_definitions() end, { desc = "[L]SP: Goto De[f]initions" }) keymap.set("n", "<leader>lf", function() Snacks.picker.lsp_definitions() end, { desc = "[L]SP: Goto De[f]initions" })
keymap.set("n", "<leader>lc", function() Snacks.picker.lsp_declarations() end, { desc = "[L]SP: Goto De[c]larations" }) keymap.set("n", "<leader>lc", function() Snacks.picker.lsp_declarations() end, { desc = "[L]SP: Goto De[c]larations" })
keymap.set("n", "<leader>le", function() Snacks.picker.lsp_references() end, { desc = "[L]SP: Goto R[e]ferences" }) keymap.set("n", "<leader>le", function() Snacks.picker.lsp_references() end, { desc = "[L]SP: R[e]ferences" })
keymap.set("n", "<leader>li", function() Snacks.picker.lsp_implementations() end, { desc = "[L]SP: Goto [I]mplementations" }) keymap.set("n", "<leader>li", function() Snacks.picker.lsp_implementations() end, { desc = "[L]SP: Goto [I]mplementations" })
keymap.set("n", "<leader>ly", function() Snacks.picker.lsp_type_definitions() end, { desc = "[L]SP: Goto T[y]pe Definitions" }) keymap.set("n", "<leader>ly", function() Snacks.picker.lsp_type_definitions() end, { desc = "[L]SP: Goto T[y]pe Definitions" })
@@ -114,11 +123,14 @@ keymap.set("n", "<leader>tb", "<cmd>tabnew %<CR>", { desc = "[T]ab: Open current
-- folke/snacks.nvim -- folke/snacks.nvim
keymap.set("n", "<leader>ug", function() Snacks.lazygit() end, { desc = "[U]I: Open [L]azyGit" }) keymap.set("n", "<leader>ug", function() Snacks.lazygit() end, { desc = "[U]I: Open [L]azyGit" })
keymap.set("n", "<leader>ud", function() Snacks.dashboard() end, { desc = "[U]I: Open [D]ashboard" }) keymap.set("n", "<leader>ud", function() Snacks.dashboard() end, { desc = "[U]I: Open [D]ashboard" })
keymap.set("n", "<leader>ut", function() Snacks.terminal() end, { desc = "[U]I: Open [T]erminal" })
-- folke/lazy.nvim -- folke/lazy.nvim
keymap.set("n", "<leader>ul", "<cmd>Lazy<CR>", { desc = "[U]I: Open [L]azyVim" }) keymap.set("n", "<leader>ul", "<cmd>Lazy<CR>", { desc = "[U]I: Open [L]azyVim" })
-- mason-org/mason.nvim
keymap.set("n", "<leader>um", "<cmd>Mason<CR>", { desc = "[U]I: Open [M]ason" })
-- Misc -- Misc
-- VonHeikemen/fine-cmdline.nvim -- VonHeikemen/fine-cmdline.nvim
keymap.set("n", ":", "<cmd>FineCmdline<CR>", { desc = "Fine Command Line" }) keymap.set("n", ":", ":lua require('fine-cmdline').open()<CR>", { desc = "Fine Command Line" })
-- folke/which-key.nvim -- folke/which-key.nvim
keymap.set("n", "<leader>?", function() require("which-key").show({ global = false }) end, { desc = "Buffer Local Keymaps (which-key)" }) keymap.set("n", "<leader>?", function() require("which-key").show({ global = false }) end, { desc = "Buffer Local Keymaps (which-key)" })

View File

@@ -1,6 +1,7 @@
-- https://githup.com/folke/lazy.nvim -- https://githup.com/folke/lazy.nvim
-- Bootstrap lazy.nvim -- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
---@diagnostic disable-next-line: undefined-field
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git" local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
@@ -26,4 +27,3 @@ require("lazy").setup("plugins", {
notify = false, notify = false,
}, },
}) })

View File

@@ -1,30 +1,33 @@
vim.lsp.enable({ vim.lsp.enable({
"gitlabcils", "ansiblels",
"luals", "dockerls",
"terraformls", "gitlabcils",
"yamlls" "helmls",
"luals",
"terraformls",
"yamlls",
}) })
vim.diagnostic.config({ vim.diagnostic.config({
virtual_lines = true, virtual_lines = true,
-- virtual_text = true, -- virtual_text = true,
underline = true, underline = true,
update_in_insert = false, update_in_insert = false,
severity_sort = true, severity_sort = true,
float = { float = {
border = "rounded", border = "rounded",
source = true, source = true,
}, },
signs = { signs = {
text = { text = {
[vim.diagnostic.severity.ERROR] = "󰅚 ", [vim.diagnostic.severity.ERROR] = "󰅚 ",
[vim.diagnostic.severity.WARN] = "󰀪 ", [vim.diagnostic.severity.WARN] = "󰀪 ",
[vim.diagnostic.severity.INFO] = "󰋽 ", [vim.diagnostic.severity.INFO] = "󰋽 ",
[vim.diagnostic.severity.HINT] = "󰌶 ", [vim.diagnostic.severity.HINT] = "󰌶 ",
}, },
numhl = { numhl = {
[vim.diagnostic.severity.ERROR] = "ErrorMsg", [vim.diagnostic.severity.ERROR] = "ErrorMsg",
[vim.diagnostic.severity.WARN] = "WarningMsg", [vim.diagnostic.severity.WARN] = "WarningMsg",
}, },
}, },
}) })

View File

@@ -44,4 +44,5 @@ opt.splitbelow = true -- split horizontal window to the bottom
-- turn off swapfile -- turn off swapfile
opt.swapfile = false opt.swapfile = false
-- opt.messagesopt = "wait:10000,history:50" -- set shell to zsh
opt.shell = "/bin/zsh"

View File

@@ -1,53 +1,54 @@
-- https://github.com/saghen/blink.cmp
return { return {
'saghen/blink.cmp', "saghen/blink.cmp",
-- optional: provides snippets for the snippet source -- optional: provides snippets for the snippet source
dependencies = { 'rafamadriz/friendly-snippets' }, dependencies = { "rafamadriz/friendly-snippets" },
-- use a release tag to download pre-built binaries -- use a release tag to download pre-built binaries
version = '1.*', version = "1.*",
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
-- build = 'cargo build --release', -- build = 'cargo build --release',
-- If you use nix, you can build from source using latest nightly rust with: -- If you use nix, you can build from source using latest nightly rust with:
-- build = 'nix run .#build-plugin', -- build = 'nix run .#build-plugin',
---@module 'blink.cmp' ---@module 'blink.cmp'
---@type blink.cmp.Config ---@type blink.cmp.Config
opts = { opts = {
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
-- 'super-tab' for mappings similar to vscode (tab to accept) -- 'super-tab' for mappings similar to vscode (tab to accept)
-- 'enter' for enter to accept -- 'enter' for enter to accept
-- 'none' for no mappings -- 'none' for no mappings
-- --
-- All presets have the following mappings: -- All presets have the following mappings:
-- C-space: Open menu or open docs if already open -- C-space: Open menu or open docs if already open
-- C-n/C-p or Up/Down: Select next/previous item -- C-n/C-p or Up/Down: Select next/previous item
-- C-e: Hide menu -- C-e: Hide menu
-- C-k: Toggle signature help (if signature.enabled = true) -- C-k: Toggle signature help (if signature.enabled = true)
-- --
-- See :h blink-cmp-config-keymap for defining your own keymap -- See :h blink-cmp-config-keymap for defining your own keymap
keymap = { preset = 'default' }, keymap = { preset = "default" },
appearance = { appearance = {
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned -- Adjusts spacing to ensure icons are aligned
nerd_font_variant = 'mono' nerd_font_variant = "mono",
}, },
-- (Default) Only show the documentation popup when manually triggered -- (Default) Only show the documentation popup when manually triggered
completion = { documentation = { auto_show = true } }, completion = { documentation = { auto_show = true } },
-- Default list of enabled providers defined so that you can extend it -- Default list of enabled providers defined so that you can extend it
-- elsewhere in your config, without redefining it, due to `opts_extend` -- elsewhere in your config, without redefining it, due to `opts_extend`
sources = { sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' }, default = { "lsp", "path", "snippets", "buffer" },
}, },
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation, -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"` -- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
-- --
-- See the fuzzy documentation for more information -- See the fuzzy documentation for more information
fuzzy = { implementation = "prefer_rust_with_warning" } fuzzy = { implementation = "prefer_rust_with_warning" },
}, },
opts_extend = { "sources.default" } opts_extend = { "sources.default" },
} }

View File

@@ -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,
} }

View File

@@ -0,0 +1,15 @@
-- https://github.com/stevearc/conform.nvim
return {
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
lua = { "stylua" },
yaml = { "prettierd", "prettier", stop_after_first = true },
},
format_on_save = {
-- These options will be passed to conform.format()
timeout_ms = 500,
lsp_format = "fallback",
},
},
}

View File

@@ -1,3 +1,4 @@
-- https://github.com/harrisoncramer/gitlab.nvim
return { return {
"harrisoncramer/gitlab.nvim", "harrisoncramer/gitlab.nvim",
dependencies = { dependencies = {
@@ -7,8 +8,6 @@ return {
"stevearc/dressing.nvim", -- Recommended but not required. Better UI for pickers. "stevearc/dressing.nvim", -- Recommended but not required. Better UI for pickers.
"nvim-tree/nvim-web-devicons", -- Recommended but not required. Icons in discussion tree. "nvim-tree/nvim-web-devicons", -- Recommended but not required. Icons in discussion tree.
}, },
build = function () require("gitlab.server").build(true) end, -- Builds the Go binary build = function() require("gitlab.server").build(true) end, -- Builds the Go binary
config = function() config = function() require("gitlab").setup() end,
require("gitlab").setup()
end,
} }

View File

@@ -0,0 +1,8 @@
-- https://github.com/qvalentin/helm-ls.nvim
return {
"qvalentin/helm-ls.nvim",
ft = "helm",
opts = {
-- leave empty or see below
},
}

View File

@@ -7,9 +7,10 @@ return {
local lazy_status = require("lazy.status") -- to configure lazy pending updates count local lazy_status = require("lazy.status") -- to configure lazy pending updates count
-- configure lualine with modified theme -- configure lualine with modified theme
---@diagnostic disable-next-line: undefined-field
lualine.setup({ lualine.setup({
options = { options = {
theme = 'auto', theme = "auto",
}, },
sections = { sections = {
lualine_x = { lualine_x = {
@@ -22,6 +23,11 @@ return {
{ "fileformat" }, { "fileformat" },
{ "filetype" }, { "filetype" },
}, },
lualine_z = {
{
require("opencode").statusline,
},
},
}, },
}) })
end, end,

View File

@@ -0,0 +1,41 @@
-- https://github.com/mason-org/mason.nvim
-- https://github.com/mason-org/mason-registry
-- https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
return {
{
"mason-org/mason.nvim",
opts = {
registries = {
"file:~/.config/mason-registry",
"github:mason-org/mason-registry",
},
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
},
},
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
opts = {
ensure_installed = {
"ansible-language-server", -- https://github.com/ansible/vscode-ansible
"docker-language-server", -- https://github.com/docker/docker-language-server
"gitlab-ci-ls", -- https://github.com/alesbrelih/gitlab-ci-ls
"helm-ls", -- https://github.com/mrjosh/helm-ls
"lua-language-server", -- https://github.com/luals/lua-language-server
"prettier", -- https://github.com/prettier/prettier
"prettierd", -- https://github.com/prettier/prettier
"stylua", -- https://github.com/JohnnyMorganz/StyLua
"terraform-ls", -- https://github.com/hashicorp/terraform-ls
"yaml-language-server", -- https://github.com/redhat-developer/yaml-language-server
},
},
dependencies = {
"williamboman/mason.nvim",
},
},
}

View File

@@ -12,7 +12,7 @@ return {
nvimtree.setup({ nvimtree.setup({
view = { view = {
width = 40, width = 40,
relativenumber = false, relativenumber = true,
}, },
-- change folder arrow icons -- change folder arrow icons
renderer = { renderer = {
@@ -45,5 +45,5 @@ return {
ignore = false, ignore = false,
}, },
}) })
end end,
} }

View File

@@ -0,0 +1,55 @@
-- https://github.com/nickjvandyke/opencode.nvim
return {
"nickjvandyke/opencode.nvim",
version = "*", -- Latest stable release
dependencies = {
{
-- `snacks.nvim` integration is recommended, but optional
---@module "snacks" <- Loads `snacks.nvim` types for configuration intellisense
"folke/snacks.nvim",
optional = true,
opts = {
input = {}, -- Enhances `ask()`
picker = { -- Enhances `select()`
actions = {
---@diagnostic disable-next-line: undefined-field
opencode_send = function(...) return require("opencode").snacks_picker_send(...) end,
},
win = {
input = {
keys = {
["<a-a>"] = { "opencode_send", mode = { "n", "i" } },
},
},
},
},
},
},
},
config = function()
local opencode_cmd = "opencode --port"
---@type snacks.terminal.Opts
local snacks_terminal_opts = {
win = {
position = "right",
enter = false,
on_win = function(win)
-- Set up keymaps and cleanup for an arbitrary terminal
require("opencode.terminal").setup(win.win)
end,
},
}
---@type opencode.Opts
vim.g.opencode_opts = {
server = {
start = function() require("snacks.terminal").open(opencode_cmd, snacks_terminal_opts) end,
stop = function() require("snacks.terminal").get(opencode_cmd, snacks_terminal_opts):close() end,
toggle = function() require("snacks.terminal").toggle(opencode_cmd, snacks_terminal_opts) end,
},
lsp = {
enabled = true,
},
}
vim.o.autoread = true -- Required for `opts.events.reload`
end,
}

View File

@@ -1,24 +1,25 @@
-- https://github.com/folke/snacks.nvim
return { return {
"folke/snacks.nvim", "folke/snacks.nvim",
priority = 1000, priority = 1000,
lazy = false, lazy = false,
opts = { opts = {
-- 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
indent = { enabled = true }, indent = { enabled = true },
input = { enabled = true }, input = { enabled = true },
git = { enabled = true }, git = { enabled = true },
lazygit = { enabled = true }, lazygit = { enabled = true },
notifier = { enabled = true }, notifier = { enabled = true },
picker = { enabled = true }, picker = { enabled = true },
dashboard = { dashboard = {
width = 80, width = 80,
row = nil, -- dashboard position. nil for center row = nil, -- dashboard position. nil for center
col = nil, -- dashboard position. nil for center col = nil, -- dashboard position. nil for center
pane_gap = 20, -- empty columns between vertical panes pane_gap = 20, -- empty columns between vertical panes
preset = { preset = {
header = [[ header = [[
" *++*- " " *++*- "
" -=+++++ " " -=+++++ "
" -=====++= " " -=====++= "
@@ -49,36 +50,44 @@ return {
" ###- " " ###- "
" *####% " " *####% "
" .:-:. "]], " .:-:. "]],
keys = { keys = {
{ icon = "", key = "n", desc = "New File", action = ":ene | startinsert" }, { icon = "", key = "n", desc = "New File", action = ":ene | startinsert" },
{ icon = "", key = "e", desc = "File Explorer", action = ":NvimTreeToggle" }, { icon = "", key = "e", desc = "File Explorer", action = ":NvimTreeToggle" },
{ icon = "", key = "ff", desc = "Find File", action = ":Telescope find_files" }, { icon = "", key = "ff", desc = "Find File", action = ":Telescope find_files" },
{ icon = "", key = "fs", desc = "Find String", action = ":Telescope live_grep" }, { icon = "", key = "fs", desc = "Find String", action = ":Telescope live_grep" },
{ icon = "", key = "s", desc = "Restore Session", action = ":AutoSession restore"}, { icon = "", key = "s", desc = "Restore Session", action = ":AutoSession restore" },
{ icon = "󰒲 ", key = "L", desc = "Lazy UI", action = ":Lazy", enabled = package.loaded.lazy ~= nil }, { icon = "󰒲 ", key = "L", desc = "Lazy UI", action = ":Lazy" },
{ icon = " ", key = "G", desc = "LazyGit", action = function() Snacks.lazygit() end}, { icon = " ", key = "M", desc = "Mason UI", action = ":Mason" },
{ icon = "", key = "q", desc = "Quit", action = ":qa" }, {
}, icon = "",
}, key = "G",
sections = { desc = "LazyGit",
{ section = "header" }, action = function()
{ Snacks.lazygit()
pane = 2, end,
icon = "", },
title = "Git Status", { icon = "", key = "q", desc = "Quit", action = ":qa" },
section = "terminal", },
enabled = function() },
return Snacks.git.get_root() ~= nil sections = {
end, { section = "header" },
cmd = "git status --short --branch --renames", {
height = 5, pane = 2,
padding = 2, icon = "",
ttl = 5 * 60, title = "Git Status",
indent = 3, section = "terminal",
}, enabled = function()
{ pane = 2, section = "keys", gap = 1, padding = 4 }, return Snacks.git.get_root() ~= nil
{ pane = 2, section = "startup" }, end,
}, cmd = "git status --short --branch --renames",
}, height = 5,
}, padding = 2,
ttl = 5 * 60,
indent = 3,
},
{ pane = 2, section = "keys", gap = 1, padding = 4 },
{ pane = 2, section = "startup" },
},
},
},
} }

View File

@@ -12,6 +12,7 @@ return {
local telescope = require("telescope") local telescope = require("telescope")
local actions = require("telescope.actions") local actions = require("telescope.actions")
---@diagnostic disable-next-line undefined-field
telescope.setup({ telescope.setup({
defaults = { defaults = {
path_display = { "smart" }, path_display = { "smart" },
@@ -19,12 +20,14 @@ return {
i = { i = {
["<C-k>"] = actions.move_selection_previous, -- move to prev result ["<C-k>"] = actions.move_selection_previous, -- move to prev result
["<C-j>"] = actions.move_selection_next, -- move to next result ["<C-j>"] = actions.move_selection_next, -- move to next result
["<C-a>"] = actions.add_to_qflist, -- add all to qflist
["<C-q>"] = actions.send_selected_to_qflist, -- add to qflist ["<C-q>"] = actions.send_selected_to_qflist, -- add to qflist
}, },
}, },
}, },
}) })
---@diagnostic disable-next-line undefined-field
telescope.load_extension("fzf") telescope.load_extension("fzf")
end, end,
} }

View File

@@ -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
},
},
} }

View File

@@ -1,55 +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({ -- enable syntax highlighting treesitter.setup({})
highlight = { -- install parsers
enable = true, treesitter.install({
}, "bash",
-- enable indentation "dockerfile",
indent = { enable = true }, "gitignore",
-- enable autotagging (w/ nvim-ts-autotag plugin) "jinja",
autotag = { "jinja_inline",
enable = true, "json",
}, "hcl",
-- ensure these language parsers are installed "helm",
ensure_installed = { "lua",
"bash", "luadoc",
"dockerfile", "luap",
"gitignore", "markdown",
"jinja", "markdown_inline",
"jinja_inline", "nginx",
"json", "vim",
"hcl", "vimdoc",
"helm", "yaml",
"lua",
"luadoc",
"luap",
"markdown",
"markdown_inline",
"nginx",
"vim",
"vimdoc",
"yaml",
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
}) })
end, end,
} }

View File

@@ -1,9 +1,10 @@
-- https://github.com/folke/trouble.nvim
return { return {
"folke/trouble.nvim", "folke/trouble.nvim",
dependencies = { "nvim-tree/nvim-web-devicons", "folke/todo-comments.nvim" }, dependencies = { "nvim-tree/nvim-web-devicons", "folke/todo-comments.nvim" },
opts = { opts = {
focus = true, focus = true,
auto_preview = false, auto_preview = false,
}, },
cmd = "Trouble", cmd = "Trouble",
} }

View File

@@ -1,14 +1,28 @@
-- https://github.com/folke/which-key.nvim -- https://github.com/folke/which-key.nvim
return { return {
"folke/which-key.nvim", "folke/which-key.nvim",
event = "VeryLazy", event = "VeryLazy",
init = function() init = function()
vim.o.timeout = true vim.o.timeout = true
vim.o.timeoutlen = 500 vim.o.timeoutlen = 500
end, end,
opts = { opts = {
-- 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
} spec = {
{ "<leader>a", group = "[A]I" },
{ "<leader>c", group = "[C]lear / [C]all" },
{ "<leader>d", group = "[D]iagnostic" },
{ "<leader>e", group = "File [E]xplorer" },
{ "<leader>f", group = "[F]ind" },
{ "<leader>g", group = "[G]it" },
{ "<leader>h", group = "[H]istory" },
{ "<leader>l", group = "[L]SP" },
{ "<leader>p", group = "[P]anes" },
{ "<leader>s", group = "[S]ession" },
{ "<leader>t", group = "[T]abs" },
{ "<leader>u", group = "[U]i" },
},
},
} }

65
starship.toml Normal file
View File

@@ -0,0 +1,65 @@
format = """
 \
$directory\
$git_branch\
$git_state\
$git_status\
$line_break\
$character"""
# Inserts a blank line between shell prompts
add_newline = true
#Wait for command exec in ms
#command_timeout = 300
# Use the color palette
palette = "catppuccin_mocha"
[character]
error_symbol = "[▷](bold red)"
success_symbol = "[▷](bold green)"
[cmd_duration]
style = "bold yellow"
[directory]
style = "bold green"
[git_branch]
style = "bold pink"
[git_status]
style = "bold red"
[kubernetes]
disabled = false
format = 'ctx [$symbol$context( \($namespace\)) ]($style)'
[palettes.catppuccin_mocha]
rosewater = "#f5e0dc"
flamingo = "#f2cdcd"
pink = "#f5c2e7"
mauve = "#cba6f7"
red = "#f38ba8"
maroon = "#eba0ac"
peach = "#fab387"
yellow = "#f9e2af"
green = "#a6e3a1"
teal = "#94e2d5"
sky = "#89dceb"
sapphire = "#74c7ec"
blue = "#89b4fa"
lavender = "#b4befe"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"

51
tmux/tmux.conf Normal file
View 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"

File diff suppressed because it is too large Load Diff

7
yazi/package.toml Normal file
View File

@@ -0,0 +1,7 @@
[[plugin.deps]]
use = "yazi-rs/plugins:piper"
rev = "de33976"
hash = "76ea4ff62db6ebe62e4653c2de95cbd"
[flavor]
deps = []

771
yazi/theme.toml Normal file
View File

@@ -0,0 +1,771 @@
[app]
overall = { bg = "#1e1e2e" }
[mgr]
cwd = { fg = "#94e2d5" }
find_keyword = { fg = "#f9e2af", italic = true }
find_position = { fg = "#f5c2e7", bg = "reset", italic = true }
marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" }
marker_cut = { fg = "#f38ba8", bg = "#f38ba8" }
marker_marked = { fg = "#94e2d5", bg = "#94e2d5" }
marker_selected = { fg = "#89b4fa", bg = "#89b4fa" }
count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" }
count_cut = { fg = "#1e1e2e", bg = "#f38ba8" }
count_selected = { fg = "#1e1e2e", bg = "#89b4fa" }
border_symbol = "│"
border_style = { fg = "#7f849c" }
syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme"
[tabs]
active = { fg = "#1e1e2e", bg = "#cdd6f4", bold = true }
inactive = { fg = "#cdd6f4", bg = "#45475a" }
[mode]
normal_main = { fg = "#1e1e2e", bg = "#89b4fa", bold = true }
normal_alt = { fg = "#89b4fa", bg = "#313244"}
select_main = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true }
select_alt = { fg = "#a6e3a1", bg = "#313244"}
unset_main = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true }
unset_alt = { fg = "#f2cdcd", bg = "#313244"}
[indicator]
parent = { fg = "#1e1e2e", bg = "#cdd6f4" }
current = { fg = "#1e1e2e", bg = "#89b4fa" }
preview = { fg = "#1e1e2e", bg = "#cdd6f4" }
[status]
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
progress_label = { fg = "#ffffff", bold = true }
progress_normal = { fg = "#a6e3a1", bg = "#45475a" }
progress_error = { fg = "#f9e2af", bg = "#f38ba8" }
perm_type = { fg = "#89b4fa" }
perm_read = { fg = "#f9e2af" }
perm_write = { fg = "#f38ba8" }
perm_exec = { fg = "#a6e3a1" }
perm_sep = { fg = "#7f849c" }
[input]
border = { fg = "#89b4fa" }
title = {}
value = {}
selected = { reversed = true }
[pick]
border = { fg = "#89b4fa" }
active = { fg = "#f5c2e7" }
inactive = {}
[confirm]
border = { fg = "#89b4fa" }
title = { fg = "#89b4fa" }
body = {}
list = {}
btn_yes = { reversed = true }
btn_no = {}
[cmp]
border = { fg = "#89b4fa" }
[tasks]
border = { fg = "#89b4fa" }
title = {}
hovered = { fg = "#f5c2e7", bold = true }
[which]
mask = { bg = "#313244" }
cand = { fg = "#94e2d5" }
rest = { fg = "#9399b2" }
desc = { fg = "#f5c2e7" }
separator = "  "
separator_style = { fg = "#585b70" }
[help]
on = { fg = "#94e2d5" }
run = { fg = "#f5c2e7" }
desc = { fg = "#9399b2" }
hovered = { bg = "#585b70", bold = true }
footer = { fg = "#cdd6f4", bg = "#45475a" }
[notify]
title_info = { fg = "#94e2d5" }
title_warn = { fg = "#f9e2af" }
title_error = { fg = "#f38ba8" }
[filetype]
rules = [
# Media
{ mime = "image/*", fg = "#94e2d5" },
{ mime = "{audio,video}/*", fg = "#f9e2af" },
# Archives
{ mime = "application/*zip", fg = "#f5c2e7" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" },
# Documents
{ mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" },
# Virtual file system
{ mime = "vfs/{absent,stale}", fg = "#45475a" },
# Special file
{ url = "*", is = "orphan", bg = "#f38ba8" },
{ url = "*", is = "exec" , fg = "#a6e3a1" },
# Dummy file
{ url = "*", is = "dummy", bg = "#f38ba8" },
{ url = "*/", is = "dummy", bg = "#f38ba8" },
# Fallback
{ url = "*/", fg = "#89b4fa" },
]
[spot]
border = { fg = "#89b4fa" }
title = { fg = "#89b4fa" }
tbl_cell = { fg = "#89b4fa", reversed = true }
tbl_col = { bold = true }
[icon]
files = [
{ name = "kritadisplayrc", text = "", fg = "#cba6f7" },
{ name = ".gtkrc-2.0", text = "", fg = "#f5e0dc" },
{ name = "bspwmrc", text = "", fg = "#313244" },
{ name = "webpack", text = "󰜫", fg = "#74c7ec" },
{ name = "tsconfig.json", text = "", fg = "#74c7ec" },
{ name = ".vimrc", text = "", fg = "#a6e3a1" },
{ name = "gemfile$", text = "", fg = "#313244" },
{ name = "xmobarrc", text = "", fg = "#f38ba8" },
{ name = "avif", text = "", fg = "#7f849c" },
{ name = "fp-info-cache", text = "", fg = "#f5e0dc" },
{ name = ".zshrc", text = "", fg = "#a6e3a1" },
{ name = "robots.txt", text = "󰚩", fg = "#6c7086" },
{ name = "dockerfile", text = "󰡨", fg = "#89b4fa" },
{ name = ".git-blame-ignore-revs", text = "", fg = "#fab387" },
{ name = ".nvmrc", text = "", fg = "#a6e3a1" },
{ name = "hyprpaper.conf", text = "", fg = "#74c7ec" },
{ name = ".prettierignore", text = "", fg = "#89b4fa" },
{ name = "rakefile", text = "", fg = "#313244" },
{ name = "code_of_conduct", text = "", fg = "#f38ba8" },
{ name = "cmakelists.txt", text = "", fg = "#cdd6f4" },
{ name = ".env", text = "", fg = "#f9e2af" },
{ name = "copying.lesser", text = "", fg = "#f9e2af" },
{ name = "readme", text = "󰂺", fg = "#f5e0dc" },
{ name = "settings.gradle", text = "", fg = "#585b70" },
{ name = "gruntfile.coffee", text = "", fg = "#fab387" },
{ name = ".eslintignore", text = "", fg = "#585b70" },
{ name = "kalgebrarc", text = "", fg = "#89b4fa" },
{ name = "kdenliverc", text = "", fg = "#89b4fa" },
{ name = ".prettierrc.cjs", text = "", fg = "#89b4fa" },
{ name = "cantorrc", text = "", fg = "#89b4fa" },
{ name = "rmd", text = "", fg = "#74c7ec" },
{ name = "vagrantfile$", text = "", fg = "#6c7086" },
{ name = ".Xauthority", text = "", fg = "#fab387" },
{ name = "prettier.config.ts", text = "", fg = "#89b4fa" },
{ name = "node_modules", text = "", fg = "#f38ba8" },
{ name = ".prettierrc.toml", text = "", fg = "#89b4fa" },
{ name = "build.zig.zon", text = "", fg = "#fab387" },
{ name = ".ds_store", text = "", fg = "#45475a" },
{ name = "PKGBUILD", text = "", fg = "#89b4fa" },
{ name = ".prettierrc", text = "", fg = "#89b4fa" },
{ name = ".bash_profile", text = "", fg = "#a6e3a1" },
{ name = ".npmignore", text = "", fg = "#f38ba8" },
{ name = ".mailmap", text = "󰊢", fg = "#fab387" },
{ name = ".codespellrc", text = "󰓆", fg = "#a6e3a1" },
{ name = "svelte.config.js", text = "", fg = "#fab387" },
{ name = "eslint.config.ts", text = "", fg = "#585b70" },
{ name = "config", text = "", fg = "#7f849c" },
{ name = ".gitlab-ci.yml", text = "", fg = "#fab387" },
{ name = ".gitconfig", text = "", fg = "#fab387" },
{ name = "_gvimrc", text = "", fg = "#a6e3a1" },
{ name = ".xinitrc", text = "", fg = "#fab387" },
{ name = "checkhealth", text = "󰓙", fg = "#89b4fa" },
{ name = "sxhkdrc", text = "", fg = "#313244" },
{ name = ".bashrc", text = "", fg = "#a6e3a1" },
{ name = "tailwind.config.mjs", text = "󱏿", fg = "#74c7ec" },
{ name = "ext_typoscript_setup.txt", text = "", fg = "#fab387" },
{ name = "commitlint.config.ts", text = "󰜘", fg = "#94e2d5" },
{ name = "py.typed", text = "", fg = "#f9e2af" },
{ name = ".nanorc", text = "", fg = "#313244" },
{ name = "commit_editmsg", text = "", fg = "#fab387" },
{ name = ".luaurc", text = "", fg = "#89b4fa" },
{ name = "fp-lib-table", text = "", fg = "#f5e0dc" },
{ name = ".editorconfig", text = "", fg = "#f5e0dc" },
{ name = "justfile", text = "", fg = "#7f849c" },
{ name = "kdeglobals", text = "", fg = "#89b4fa" },
{ name = "license.md", text = "", fg = "#f9e2af" },
{ name = ".clang-format", text = "", fg = "#7f849c" },
{ name = "docker-compose.yaml", text = "󰡨", fg = "#89b4fa" },
{ name = "copying", text = "", fg = "#f9e2af" },
{ name = "go.mod", text = "", fg = "#74c7ec" },
{ name = "lxqt.conf", text = "", fg = "#89b4fa" },
{ name = "brewfile", text = "", fg = "#313244" },
{ name = "gulpfile.coffee", text = "", fg = "#f38ba8" },
{ name = ".dockerignore", text = "󰡨", fg = "#89b4fa" },
{ name = ".settings.json", text = "", fg = "#6c7086" },
{ name = "tailwind.config.js", text = "󱏿", fg = "#74c7ec" },
{ name = ".clang-tidy", text = "", fg = "#7f849c" },
{ name = ".gvimrc", text = "", fg = "#a6e3a1" },
{ name = "nuxt.config.cjs", text = "󱄆", fg = "#a6e3a1" },
{ name = "xsettingsd.conf", text = "", fg = "#fab387" },
{ name = "nuxt.config.js", text = "󱄆", fg = "#a6e3a1" },
{ name = "eslint.config.cjs", text = "", fg = "#585b70" },
{ name = "sym-lib-table", text = "", fg = "#f5e0dc" },
{ name = ".condarc", text = "", fg = "#a6e3a1" },
{ name = "xmonad.hs", text = "", fg = "#f38ba8" },
{ name = "tmux.conf", text = "", fg = "#a6e3a1" },
{ name = "xmobarrc.hs", text = "", fg = "#f38ba8" },
{ name = ".prettierrc.yaml", text = "", fg = "#89b4fa" },
{ name = ".pre-commit-config.yaml", text = "󰛢", fg = "#fab387" },
{ name = "i3blocks.conf", text = "", fg = "#f5e0dc" },
{ name = "xorg.conf", text = "", fg = "#fab387" },
{ name = ".zshenv", text = "", fg = "#a6e3a1" },
{ name = "vlcrc", text = "󰕼", fg = "#fab387" },
{ name = "license", text = "", fg = "#f9e2af" },
{ name = "unlicense", text = "", fg = "#f9e2af" },
{ name = "tmux.conf.local", text = "", fg = "#a6e3a1" },
{ name = ".SRCINFO", text = "󰣇", fg = "#89b4fa" },
{ name = "tailwind.config.ts", text = "󱏿", fg = "#74c7ec" },
{ name = "security.md", text = "󰒃", fg = "#bac2de" },
{ name = "security", text = "󰒃", fg = "#bac2de" },
{ name = ".eslintrc", text = "", fg = "#585b70" },
{ name = "gradle.properties", text = "", fg = "#585b70" },
{ name = "code_of_conduct.md", text = "", fg = "#f38ba8" },
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#fab387" },
{ name = "PrusaSlicer.ini", text = "", fg = "#fab387" },
{ name = "procfile", text = "", fg = "#7f849c" },
{ name = "mpv.conf", text = "", fg = "#1e1e2e" },
{ name = ".prettierrc.json5", text = "", fg = "#89b4fa" },
{ name = "i3status.conf", text = "", fg = "#f5e0dc" },
{ name = "prettier.config.mjs", text = "", fg = "#89b4fa" },
{ name = ".pylintrc", text = "", fg = "#7f849c" },
{ name = "prettier.config.cjs", text = "", fg = "#89b4fa" },
{ name = ".luacheckrc", text = "", fg = "#89b4fa" },
{ name = "containerfile", text = "󰡨", fg = "#89b4fa" },
{ name = "eslint.config.mjs", text = "", fg = "#585b70" },
{ name = "gruntfile.js", text = "", fg = "#fab387" },
{ name = "bun.lockb", text = "", fg = "#f5e0dc" },
{ name = ".gitattributes", text = "", fg = "#fab387" },
{ name = "gruntfile.ts", text = "", fg = "#fab387" },
{ name = "pom.xml", text = "", fg = "#313244" },
{ name = "favicon.ico", text = "", fg = "#f9e2af" },
{ name = "package-lock.json", text = "", fg = "#313244" },
{ name = "build", text = "", fg = "#a6e3a1" },
{ name = "package.json", text = "", fg = "#f38ba8" },
{ name = "nuxt.config.ts", text = "󱄆", fg = "#a6e3a1" },
{ name = "nuxt.config.mjs", text = "󱄆", fg = "#a6e3a1" },
{ name = "mix.lock", text = "", fg = "#7f849c" },
{ name = "makefile", text = "", fg = "#7f849c" },
{ name = "gulpfile.js", text = "", fg = "#f38ba8" },
{ name = "lxde-rc.xml", text = "", fg = "#9399b2" },
{ name = "kritarc", text = "", fg = "#cba6f7" },
{ name = "gtkrc", text = "", fg = "#f5e0dc" },
{ name = "ionic.config.json", text = "", fg = "#89b4fa" },
{ name = ".prettierrc.mjs", text = "", fg = "#89b4fa" },
{ name = ".prettierrc.yml", text = "", fg = "#89b4fa" },
{ name = ".npmrc", text = "", fg = "#f38ba8" },
{ name = "weston.ini", text = "", fg = "#f9e2af" },
{ name = "gulpfile.babel.js", text = "", fg = "#f38ba8" },
{ name = "i18n.config.ts", text = "󰗊", fg = "#7f849c" },
{ name = "commitlint.config.js", text = "󰜘", fg = "#94e2d5" },
{ name = ".gitmodules", text = "", fg = "#fab387" },
{ name = "gradle-wrapper.properties", text = "", fg = "#585b70" },
{ name = "hypridle.conf", text = "", fg = "#74c7ec" },
{ name = "vercel.json", text = "▲", fg = "#f5e0dc" },
{ name = "hyprlock.conf", text = "", fg = "#74c7ec" },
{ name = "go.sum", text = "", fg = "#74c7ec" },
{ name = "kdenlive-layoutsrc", text = "", fg = "#89b4fa" },
{ name = "gruntfile.babel.js", text = "", fg = "#fab387" },
{ name = "compose.yml", text = "󰡨", fg = "#89b4fa" },
{ name = "i18n.config.js", text = "󰗊", fg = "#7f849c" },
{ name = "readme.md", text = "󰂺", fg = "#f5e0dc" },
{ name = "gradlew", text = "", fg = "#585b70" },
{ name = "go.work", text = "", fg = "#74c7ec" },
{ name = "gulpfile.ts", text = "", fg = "#f38ba8" },
{ name = "gnumakefile", text = "", fg = "#7f849c" },
{ name = "FreeCAD.conf", text = "", fg = "#f38ba8" },
{ name = "compose.yaml", text = "󰡨", fg = "#89b4fa" },
{ name = "eslint.config.js", text = "", fg = "#585b70" },
{ name = "hyprland.conf", text = "", fg = "#74c7ec" },
{ name = "docker-compose.yml", text = "󰡨", fg = "#89b4fa" },
{ name = "groovy", text = "", fg = "#585b70" },
{ name = "QtProject.conf", text = "", fg = "#a6e3a1" },
{ name = "platformio.ini", text = "", fg = "#fab387" },
{ name = "build.gradle", text = "", fg = "#585b70" },
{ name = ".nuxtrc", text = "󱄆", fg = "#a6e3a1" },
{ name = "_vimrc", text = "", fg = "#a6e3a1" },
{ name = ".zprofile", text = "", fg = "#a6e3a1" },
{ name = ".xsession", text = "", fg = "#fab387" },
{ name = "prettier.config.js", text = "", fg = "#89b4fa" },
{ name = ".babelrc", text = "", fg = "#f9e2af" },
{ name = "workspace", text = "", fg = "#a6e3a1" },
{ name = ".prettierrc.json", text = "", fg = "#89b4fa" },
{ name = ".prettierrc.js", text = "", fg = "#89b4fa" },
{ name = ".Xresources", text = "", fg = "#fab387" },
{ name = ".gitignore", text = "", fg = "#fab387" },
{ name = ".justfile", text = "", fg = "#7f849c" },
]
exts = [
{ name = "otf", text = "", fg = "#f5e0dc" },
{ name = "import", text = "", fg = "#f5e0dc" },
{ name = "krz", text = "", fg = "#cba6f7" },
{ name = "adb", text = "", fg = "#94e2d5" },
{ name = "ttf", text = "", fg = "#f5e0dc" },
{ name = "webpack", text = "󰜫", fg = "#74c7ec" },
{ name = "dart", text = "", fg = "#585b70" },
{ name = "vsh", text = "", fg = "#7f849c" },
{ name = "doc", text = "󰈬", fg = "#585b70" },
{ name = "zsh", text = "", fg = "#a6e3a1" },
{ name = "ex", text = "", fg = "#7f849c" },
{ name = "hx", text = "", fg = "#fab387" },
{ name = "fodt", text = "", fg = "#74c7ec" },
{ name = "mojo", text = "", fg = "#fab387" },
{ name = "templ", text = "", fg = "#f9e2af" },
{ name = "nix", text = "", fg = "#74c7ec" },
{ name = "cshtml", text = "󱦗", fg = "#585b70" },
{ name = "fish", text = "", fg = "#585b70" },
{ name = "ply", text = "󰆧", fg = "#7f849c" },
{ name = "sldprt", text = "󰻫", fg = "#a6e3a1" },
{ name = "gemspec", text = "", fg = "#313244" },
{ name = "mjs", text = "", fg = "#f9e2af" },
{ name = "csh", text = "", fg = "#585b70" },
{ name = "cmake", text = "", fg = "#cdd6f4" },
{ name = "fodp", text = "", fg = "#fab387" },
{ name = "vi", text = "", fg = "#f9e2af" },
{ name = "msf", text = "", fg = "#89b4fa" },
{ name = "blp", text = "󰺾", fg = "#89b4fa" },
{ name = "less", text = "", fg = "#45475a" },
{ name = "sh", text = "", fg = "#585b70" },
{ name = "odg", text = "", fg = "#f9e2af" },
{ name = "mint", text = "󰌪", fg = "#a6e3a1" },
{ name = "dll", text = "", fg = "#11111b" },
{ name = "odf", text = "", fg = "#f38ba8" },
{ name = "sqlite3", text = "", fg = "#f5e0dc" },
{ name = "Dockerfile", text = "󰡨", fg = "#89b4fa" },
{ name = "ksh", text = "", fg = "#585b70" },
{ name = "rmd", text = "", fg = "#74c7ec" },
{ name = "wv", text = "", fg = "#74c7ec" },
{ name = "xml", text = "󰗀", fg = "#fab387" },
{ name = "markdown", text = "", fg = "#cdd6f4" },
{ name = "qml", text = "", fg = "#a6e3a1" },
{ name = "3gp", text = "", fg = "#fab387" },
{ name = "pxi", text = "", fg = "#89b4fa" },
{ name = "flac", text = "", fg = "#6c7086" },
{ name = "gpr", text = "", fg = "#cba6f7" },
{ name = "huff", text = "󰡘", fg = "#585b70" },
{ name = "json", text = "", fg = "#f9e2af" },
{ name = "gv", text = "󱁉", fg = "#585b70" },
{ name = "bmp", text = "", fg = "#7f849c" },
{ name = "lock", text = "", fg = "#bac2de" },
{ name = "sha384", text = "󰕥", fg = "#7f849c" },
{ name = "cobol", text = "⚙", fg = "#585b70" },
{ name = "cob", text = "⚙", fg = "#585b70" },
{ name = "java", text = "", fg = "#f38ba8" },
{ name = "cjs", text = "", fg = "#f9e2af" },
{ name = "qm", text = "", fg = "#74c7ec" },
{ name = "ebuild", text = "", fg = "#45475a" },
{ name = "mustache", text = "", fg = "#fab387" },
{ name = "terminal", text = "", fg = "#a6e3a1" },
{ name = "ejs", text = "", fg = "#f9e2af" },
{ name = "brep", text = "󰻫", fg = "#a6e3a1" },
{ name = "rar", text = "", fg = "#fab387" },
{ name = "gradle", text = "", fg = "#585b70" },
{ name = "gnumakefile", text = "", fg = "#7f849c" },
{ name = "applescript", text = "", fg = "#7f849c" },
{ name = "elm", text = "", fg = "#74c7ec" },
{ name = "ebook", text = "", fg = "#fab387" },
{ name = "kra", text = "", fg = "#cba6f7" },
{ name = "tf", text = "", fg = "#585b70" },
{ name = "xls", text = "󰈛", fg = "#585b70" },
{ name = "fnl", text = "", fg = "#f9e2af" },
{ name = "kdbx", text = "", fg = "#a6e3a1" },
{ name = "kicad_pcb", text = "", fg = "#f5e0dc" },
{ name = "cfg", text = "", fg = "#7f849c" },
{ name = "ape", text = "", fg = "#74c7ec" },
{ name = "org", text = "", fg = "#94e2d5" },
{ name = "yml", text = "", fg = "#7f849c" },
{ name = "swift", text = "", fg = "#fab387" },
{ name = "eln", text = "", fg = "#7f849c" },
{ name = "sol", text = "", fg = "#74c7ec" },
{ name = "awk", text = "", fg = "#585b70" },
{ name = "7z", text = "", fg = "#fab387" },
{ name = "apl", text = "⍝", fg = "#fab387" },
{ name = "epp", text = "", fg = "#fab387" },
{ name = "app", text = "", fg = "#45475a" },
{ name = "dot", text = "󱁉", fg = "#585b70" },
{ name = "kpp", text = "", fg = "#cba6f7" },
{ name = "eot", text = "", fg = "#f5e0dc" },
{ name = "hpp", text = "", fg = "#7f849c" },
{ name = "spec.tsx", text = "", fg = "#585b70" },
{ name = "hurl", text = "", fg = "#f38ba8" },
{ name = "cxxm", text = "", fg = "#74c7ec" },
{ name = "c", text = "", fg = "#89b4fa" },
{ name = "fcmacro", text = "", fg = "#f38ba8" },
{ name = "sass", text = "", fg = "#f38ba8" },
{ name = "yaml", text = "", fg = "#7f849c" },
{ name = "xz", text = "", fg = "#fab387" },
{ name = "material", text = "󰔉", fg = "#f38ba8" },
{ name = "json5", text = "", fg = "#f9e2af" },
{ name = "signature", text = "λ", fg = "#fab387" },
{ name = "3mf", text = "󰆧", fg = "#7f849c" },
{ name = "jpg", text = "", fg = "#7f849c" },
{ name = "xpi", text = "", fg = "#fab387" },
{ name = "fcmat", text = "", fg = "#f38ba8" },
{ name = "pot", text = "", fg = "#74c7ec" },
{ name = "bin", text = "", fg = "#45475a" },
{ name = "xlsx", text = "󰈛", fg = "#585b70" },
{ name = "aac", text = "", fg = "#74c7ec" },
{ name = "kicad_sym", text = "", fg = "#f5e0dc" },
{ name = "xcstrings", text = "", fg = "#74c7ec" },
{ name = "lff", text = "", fg = "#f5e0dc" },
{ name = "xcf", text = "", fg = "#585b70" },
{ name = "azcli", text = "", fg = "#6c7086" },
{ name = "license", text = "", fg = "#f9e2af" },
{ name = "jsonc", text = "", fg = "#f9e2af" },
{ name = "xaml", text = "󰙳", fg = "#585b70" },
{ name = "md5", text = "󰕥", fg = "#7f849c" },
{ name = "xm", text = "", fg = "#74c7ec" },
{ name = "sln", text = "", fg = "#6c7086" },
{ name = "jl", text = "", fg = "#7f849c" },
{ name = "ml", text = "", fg = "#fab387" },
{ name = "http", text = "", fg = "#89b4fa" },
{ name = "x", text = "", fg = "#89b4fa" },
{ name = "wvc", text = "", fg = "#74c7ec" },
{ name = "wrz", text = "󰆧", fg = "#7f849c" },
{ name = "csproj", text = "󰪮", fg = "#585b70" },
{ name = "wrl", text = "󰆧", fg = "#7f849c" },
{ name = "wma", text = "", fg = "#74c7ec" },
{ name = "woff2", text = "", fg = "#f5e0dc" },
{ name = "woff", text = "", fg = "#f5e0dc" },
{ name = "tscn", text = "", fg = "#7f849c" },
{ name = "webmanifest", text = "", fg = "#f9e2af" },
{ name = "webm", text = "", fg = "#fab387" },
{ name = "fcbak", text = "", fg = "#f38ba8" },
{ name = "log", text = "󰌱", fg = "#cdd6f4" },
{ name = "wav", text = "", fg = "#74c7ec" },
{ name = "wasm", text = "", fg = "#585b70" },
{ name = "styl", text = "", fg = "#a6e3a1" },
{ name = "gif", text = "", fg = "#7f849c" },
{ name = "resi", text = "", fg = "#f38ba8" },
{ name = "aiff", text = "", fg = "#74c7ec" },
{ name = "sha256", text = "󰕥", fg = "#7f849c" },
{ name = "igs", text = "󰻫", fg = "#a6e3a1" },
{ name = "vsix", text = "", fg = "#6c7086" },
{ name = "vim", text = "", fg = "#a6e3a1" },
{ name = "diff", text = "", fg = "#45475a" },
{ name = "drl", text = "", fg = "#eba0ac" },
{ name = "erl", text = "", fg = "#f38ba8" },
{ name = "vhdl", text = "󰍛", fg = "#a6e3a1" },
{ name = "🔥", text = "", fg = "#fab387" },
{ name = "hrl", text = "", fg = "#f38ba8" },
{ name = "fsi", text = "", fg = "#74c7ec" },
{ name = "mm", text = "", fg = "#74c7ec" },
{ name = "bz", text = "", fg = "#fab387" },
{ name = "vh", text = "󰍛", fg = "#a6e3a1" },
{ name = "kdb", text = "", fg = "#a6e3a1" },
{ name = "gz", text = "", fg = "#fab387" },
{ name = "cpp", text = "", fg = "#74c7ec" },
{ name = "ui", text = "", fg = "#6c7086" },
{ name = "txt", text = "󰈙", fg = "#a6e3a1" },
{ name = "spec.ts", text = "", fg = "#74c7ec" },
{ name = "ccm", text = "", fg = "#f38ba8" },
{ name = "typoscript", text = "", fg = "#fab387" },
{ name = "typ", text = "", fg = "#89dceb" },
{ name = "txz", text = "", fg = "#fab387" },
{ name = "test.ts", text = "", fg = "#74c7ec" },
{ name = "tsx", text = "", fg = "#585b70" },
{ name = "mk", text = "", fg = "#7f849c" },
{ name = "webp", text = "", fg = "#7f849c" },
{ name = "opus", text = "", fg = "#6c7086" },
{ name = "bicep", text = "", fg = "#74c7ec" },
{ name = "ts", text = "", fg = "#74c7ec" },
{ name = "tres", text = "", fg = "#7f849c" },
{ name = "torrent", text = "", fg = "#94e2d5" },
{ name = "cxx", text = "", fg = "#74c7ec" },
{ name = "iso", text = "", fg = "#f2cdcd" },
{ name = "ixx", text = "", fg = "#74c7ec" },
{ name = "hxx", text = "", fg = "#7f849c" },
{ name = "gql", text = "", fg = "#f38ba8" },
{ name = "tmux", text = "", fg = "#a6e3a1" },
{ name = "ini", text = "", fg = "#7f849c" },
{ name = "m3u8", text = "󰲹", fg = "#f38ba8" },
{ name = "image", text = "", fg = "#f2cdcd" },
{ name = "tfvars", text = "", fg = "#585b70" },
{ name = "tex", text = "", fg = "#45475a" },
{ name = "cbl", text = "⚙", fg = "#585b70" },
{ name = "flc", text = "", fg = "#f5e0dc" },
{ name = "elc", text = "", fg = "#7f849c" },
{ name = "test.tsx", text = "", fg = "#585b70" },
{ name = "twig", text = "", fg = "#a6e3a1" },
{ name = "sql", text = "", fg = "#f5e0dc" },
{ name = "test.jsx", text = "", fg = "#74c7ec" },
{ name = "htm", text = "", fg = "#fab387" },
{ name = "gcode", text = "󰐫", fg = "#6c7086" },
{ name = "test.js", text = "", fg = "#f9e2af" },
{ name = "ino", text = "", fg = "#74c7ec" },
{ name = "tcl", text = "󰛓", fg = "#585b70" },
{ name = "cljs", text = "", fg = "#74c7ec" },
{ name = "tsconfig", text = "", fg = "#fab387" },
{ name = "img", text = "", fg = "#f2cdcd" },
{ name = "t", text = "", fg = "#74c7ec" },
{ name = "fcstd1", text = "", fg = "#f38ba8" },
{ name = "out", text = "", fg = "#45475a" },
{ name = "jsx", text = "", fg = "#74c7ec" },
{ name = "bash", text = "", fg = "#a6e3a1" },
{ name = "edn", text = "", fg = "#74c7ec" },
{ name = "rss", text = "", fg = "#fab387" },
{ name = "flf", text = "", fg = "#f5e0dc" },
{ name = "cache", text = "", fg = "#f5e0dc" },
{ name = "sbt", text = "", fg = "#f38ba8" },
{ name = "cppm", text = "", fg = "#74c7ec" },
{ name = "svelte", text = "", fg = "#fab387" },
{ name = "mo", text = "∞", fg = "#7f849c" },
{ name = "sv", text = "󰍛", fg = "#a6e3a1" },
{ name = "ko", text = "", fg = "#f5e0dc" },
{ name = "suo", text = "", fg = "#6c7086" },
{ name = "sldasm", text = "󰻫", fg = "#a6e3a1" },
{ name = "icalendar", text = "", fg = "#313244" },
{ name = "go", text = "", fg = "#74c7ec" },
{ name = "sublime", text = "", fg = "#fab387" },
{ name = "stl", text = "󰆧", fg = "#7f849c" },
{ name = "mobi", text = "", fg = "#fab387" },
{ name = "graphql", text = "", fg = "#f38ba8" },
{ name = "m3u", text = "󰲹", fg = "#f38ba8" },
{ name = "cpy", text = "⚙", fg = "#585b70" },
{ name = "kdenlive", text = "", fg = "#89b4fa" },
{ name = "pyo", text = "", fg = "#f9e2af" },
{ name = "po", text = "", fg = "#74c7ec" },
{ name = "scala", text = "", fg = "#f38ba8" },
{ name = "exs", text = "", fg = "#7f849c" },
{ name = "odp", text = "", fg = "#fab387" },
{ name = "dump", text = "", fg = "#f5e0dc" },
{ name = "stp", text = "󰻫", fg = "#a6e3a1" },
{ name = "step", text = "󰻫", fg = "#a6e3a1" },
{ name = "ste", text = "󰻫", fg = "#a6e3a1" },
{ name = "aif", text = "", fg = "#74c7ec" },
{ name = "strings", text = "", fg = "#74c7ec" },
{ name = "cp", text = "", fg = "#74c7ec" },
{ name = "fsscript", text = "", fg = "#74c7ec" },
{ name = "mli", text = "", fg = "#fab387" },
{ name = "bak", text = "󰁯", fg = "#7f849c" },
{ name = "ssa", text = "󰨖", fg = "#f9e2af" },
{ name = "toml", text = "", fg = "#585b70" },
{ name = "makefile", text = "", fg = "#7f849c" },
{ name = "php", text = "", fg = "#7f849c" },
{ name = "zst", text = "", fg = "#fab387" },
{ name = "spec.jsx", text = "", fg = "#74c7ec" },
{ name = "kbx", text = "󰯄", fg = "#6c7086" },
{ name = "fbx", text = "󰆧", fg = "#7f849c" },
{ name = "blend", text = "󰂫", fg = "#fab387" },
{ name = "ifc", text = "󰻫", fg = "#a6e3a1" },
{ name = "spec.js", text = "", fg = "#f9e2af" },
{ name = "so", text = "", fg = "#f5e0dc" },
{ name = "desktop", text = "", fg = "#45475a" },
{ name = "sml", text = "λ", fg = "#fab387" },
{ name = "slvs", text = "󰻫", fg = "#a6e3a1" },
{ name = "pp", text = "", fg = "#fab387" },
{ name = "ps1", text = "󰨊", fg = "#6c7086" },
{ name = "dropbox", text = "", fg = "#6c7086" },
{ name = "kicad_mod", text = "", fg = "#f5e0dc" },
{ name = "bat", text = "", fg = "#a6e3a1" },
{ name = "slim", text = "", fg = "#fab387" },
{ name = "skp", text = "󰻫", fg = "#a6e3a1" },
{ name = "css", text = "", fg = "#89b4fa" },
{ name = "xul", text = "", fg = "#fab387" },
{ name = "ige", text = "󰻫", fg = "#a6e3a1" },
{ name = "glb", text = "", fg = "#fab387" },
{ name = "ppt", text = "󰈧", fg = "#f38ba8" },
{ name = "sha512", text = "󰕥", fg = "#7f849c" },
{ name = "ics", text = "", fg = "#313244" },
{ name = "mdx", text = "", fg = "#74c7ec" },
{ name = "sha1", text = "󰕥", fg = "#7f849c" },
{ name = "f3d", text = "󰻫", fg = "#a6e3a1" },
{ name = "ass", text = "󰨖", fg = "#f9e2af" },
{ name = "godot", text = "", fg = "#7f849c" },
{ name = "ifb", text = "", fg = "#313244" },
{ name = "cson", text = "", fg = "#f9e2af" },
{ name = "lib", text = "", fg = "#11111b" },
{ name = "luac", text = "", fg = "#74c7ec" },
{ name = "heex", text = "", fg = "#7f849c" },
{ name = "scm", text = "󰘧", fg = "#f5e0dc" },
{ name = "psd1", text = "󰨊", fg = "#7f849c" },
{ name = "sc", text = "", fg = "#f38ba8" },
{ name = "scad", text = "", fg = "#f9e2af" },
{ name = "kts", text = "", fg = "#6c7086" },
{ name = "svh", text = "󰍛", fg = "#a6e3a1" },
{ name = "mts", text = "", fg = "#74c7ec" },
{ name = "nfo", text = "", fg = "#f9e2af" },
{ name = "pck", text = "", fg = "#7f849c" },
{ name = "rproj", text = "󰗆", fg = "#a6e3a1" },
{ name = "rlib", text = "", fg = "#fab387" },
{ name = "cljd", text = "", fg = "#74c7ec" },
{ name = "ods", text = "", fg = "#a6e3a1" },
{ name = "res", text = "", fg = "#f38ba8" },
{ name = "apk", text = "", fg = "#a6e3a1" },
{ name = "haml", text = "", fg = "#f5e0dc" },
{ name = "d.ts", text = "", fg = "#fab387" },
{ name = "razor", text = "󱦘", fg = "#585b70" },
{ name = "rake", text = "", fg = "#313244" },
{ name = "patch", text = "", fg = "#45475a" },
{ name = "cuh", text = "", fg = "#7f849c" },
{ name = "d", text = "", fg = "#f38ba8" },
{ name = "query", text = "", fg = "#a6e3a1" },
{ name = "psb", text = "", fg = "#74c7ec" },
{ name = "nu", text = ">", fg = "#a6e3a1" },
{ name = "mov", text = "", fg = "#fab387" },
{ name = "lrc", text = "󰨖", fg = "#f9e2af" },
{ name = "pyx", text = "", fg = "#89b4fa" },
{ name = "pyw", text = "", fg = "#89b4fa" },
{ name = "cu", text = "", fg = "#a6e3a1" },
{ name = "bazel", text = "", fg = "#a6e3a1" },
{ name = "obj", text = "󰆧", fg = "#7f849c" },
{ name = "pyi", text = "", fg = "#f9e2af" },
{ name = "pyd", text = "", fg = "#f9e2af" },
{ name = "exe", text = "", fg = "#45475a" },
{ name = "pyc", text = "", fg = "#f9e2af" },
{ name = "fctb", text = "", fg = "#f38ba8" },
{ name = "part", text = "", fg = "#94e2d5" },
{ name = "blade.php", text = "", fg = "#f38ba8" },
{ name = "git", text = "", fg = "#fab387" },
{ name = "psd", text = "", fg = "#74c7ec" },
{ name = "qss", text = "", fg = "#a6e3a1" },
{ name = "csv", text = "", fg = "#a6e3a1" },
{ name = "psm1", text = "󰨊", fg = "#7f849c" },
{ name = "dconf", text = "", fg = "#f5e0dc" },
{ name = "config.ru", text = "", fg = "#313244" },
{ name = "prisma", text = "", fg = "#6c7086" },
{ name = "conf", text = "", fg = "#7f849c" },
{ name = "clj", text = "", fg = "#a6e3a1" },
{ name = "o", text = "", fg = "#45475a" },
{ name = "mp4", text = "", fg = "#fab387" },
{ name = "cc", text = "", fg = "#f38ba8" },
{ name = "kicad_prl", text = "", fg = "#f5e0dc" },
{ name = "bz3", text = "", fg = "#fab387" },
{ name = "asc", text = "󰦝", fg = "#6c7086" },
{ name = "png", text = "", fg = "#7f849c" },
{ name = "android", text = "", fg = "#a6e3a1" },
{ name = "pm", text = "", fg = "#74c7ec" },
{ name = "h", text = "", fg = "#7f849c" },
{ name = "pls", text = "󰲹", fg = "#f38ba8" },
{ name = "ipynb", text = "", fg = "#fab387" },
{ name = "pl", text = "", fg = "#74c7ec" },
{ name = "ads", text = "", fg = "#f5e0dc" },
{ name = "sqlite", text = "", fg = "#f5e0dc" },
{ name = "pdf", text = "", fg = "#585b70" },
{ name = "pcm", text = "", fg = "#6c7086" },
{ name = "ico", text = "", fg = "#f9e2af" },
{ name = "a", text = "", fg = "#f5e0dc" },
{ name = "R", text = "󰟔", fg = "#6c7086" },
{ name = "ogg", text = "", fg = "#6c7086" },
{ name = "pxd", text = "", fg = "#89b4fa" },
{ name = "kdenlivetitle", text = "", fg = "#89b4fa" },
{ name = "jxl", text = "", fg = "#7f849c" },
{ name = "nswag", text = "", fg = "#a6e3a1" },
{ name = "nim", text = "", fg = "#f9e2af" },
{ name = "bqn", text = "⎉", fg = "#6c7086" },
{ name = "cts", text = "", fg = "#74c7ec" },
{ name = "fcparam", text = "", fg = "#f38ba8" },
{ name = "rs", text = "", fg = "#fab387" },
{ name = "mpp", text = "", fg = "#74c7ec" },
{ name = "fdmdownload", text = "", fg = "#94e2d5" },
{ name = "pptx", text = "󰈧", fg = "#f38ba8" },
{ name = "jpeg", text = "", fg = "#7f849c" },
{ name = "bib", text = "󱉟", fg = "#f9e2af" },
{ name = "vhd", text = "󰍛", fg = "#a6e3a1" },
{ name = "m", text = "", fg = "#89b4fa" },
{ name = "js", text = "", fg = "#f9e2af" },
{ name = "eex", text = "", fg = "#7f849c" },
{ name = "tbc", text = "󰛓", fg = "#585b70" },
{ name = "astro", text = "", fg = "#f38ba8" },
{ name = "sha224", text = "󰕥", fg = "#7f849c" },
{ name = "xcplayground", text = "", fg = "#fab387" },
{ name = "el", text = "", fg = "#7f849c" },
{ name = "m4v", text = "", fg = "#fab387" },
{ name = "m4a", text = "", fg = "#74c7ec" },
{ name = "cs", text = "󰌛", fg = "#585b70" },
{ name = "hs", text = "", fg = "#7f849c" },
{ name = "tgz", text = "", fg = "#fab387" },
{ name = "fs", text = "", fg = "#74c7ec" },
{ name = "luau", text = "", fg = "#89b4fa" },
{ name = "dxf", text = "󰻫", fg = "#a6e3a1" },
{ name = "download", text = "", fg = "#94e2d5" },
{ name = "cast", text = "", fg = "#fab387" },
{ name = "qrc", text = "", fg = "#a6e3a1" },
{ name = "lua", text = "", fg = "#74c7ec" },
{ name = "lhs", text = "", fg = "#7f849c" },
{ name = "md", text = "", fg = "#cdd6f4" },
{ name = "leex", text = "", fg = "#7f849c" },
{ name = "ai", text = "", fg = "#f9e2af" },
{ name = "lck", text = "", fg = "#bac2de" },
{ name = "kt", text = "", fg = "#6c7086" },
{ name = "bicepparam", text = "", fg = "#7f849c" },
{ name = "hex", text = "", fg = "#6c7086" },
{ name = "zig", text = "", fg = "#fab387" },
{ name = "bzl", text = "", fg = "#a6e3a1" },
{ name = "cljc", text = "", fg = "#a6e3a1" },
{ name = "kicad_dru", text = "", fg = "#f5e0dc" },
{ name = "fctl", text = "", fg = "#f38ba8" },
{ name = "f#", text = "", fg = "#74c7ec" },
{ name = "odt", text = "", fg = "#74c7ec" },
{ name = "conda", text = "", fg = "#a6e3a1" },
{ name = "vala", text = "", fg = "#585b70" },
{ name = "erb", text = "", fg = "#313244" },
{ name = "mp3", text = "", fg = "#74c7ec" },
{ name = "bz2", text = "", fg = "#fab387" },
{ name = "coffee", text = "", fg = "#f9e2af" },
{ name = "cr", text = "", fg = "#f5e0dc" },
{ name = "f90", text = "󱈚", fg = "#585b70" },
{ name = "jwmrc", text = "", fg = "#6c7086" },
{ name = "c++", text = "", fg = "#f38ba8" },
{ name = "fcscript", text = "", fg = "#f38ba8" },
{ name = "fods", text = "", fg = "#a6e3a1" },
{ name = "cue", text = "󰲹", fg = "#f38ba8" },
{ name = "srt", text = "󰨖", fg = "#f9e2af" },
{ name = "info", text = "", fg = "#f9e2af" },
{ name = "hh", text = "", fg = "#7f849c" },
{ name = "sig", text = "λ", fg = "#fab387" },
{ name = "html", text = "", fg = "#fab387" },
{ name = "iges", text = "󰻫", fg = "#a6e3a1" },
{ name = "kicad_wks", text = "", fg = "#f5e0dc" },
{ name = "hbs", text = "", fg = "#fab387" },
{ name = "fcstd", text = "", fg = "#f38ba8" },
{ name = "gresource", text = "", fg = "#f5e0dc" },
{ name = "sub", text = "󰨖", fg = "#f9e2af" },
{ name = "ical", text = "", fg = "#313244" },
{ name = "crdownload", text = "", fg = "#94e2d5" },
{ name = "pub", text = "󰷖", fg = "#f9e2af" },
{ name = "vue", text = "", fg = "#a6e3a1" },
{ name = "gd", text = "", fg = "#7f849c" },
{ name = "fsx", text = "", fg = "#74c7ec" },
{ name = "mkv", text = "", fg = "#fab387" },
{ name = "py", text = "", fg = "#f9e2af" },
{ name = "kicad_sch", text = "", fg = "#f5e0dc" },
{ name = "epub", text = "", fg = "#fab387" },
{ name = "env", text = "", fg = "#f9e2af" },
{ name = "magnet", text = "", fg = "#45475a" },
{ name = "elf", text = "", fg = "#45475a" },
{ name = "fodg", text = "", fg = "#f9e2af" },
{ name = "svg", text = "󰜡", fg = "#fab387" },
{ name = "dwg", text = "󰻫", fg = "#a6e3a1" },
{ name = "docx", text = "󰈬", fg = "#585b70" },
{ name = "pro", text = "", fg = "#f9e2af" },
{ name = "db", text = "", fg = "#f5e0dc" },
{ name = "rb", text = "", fg = "#313244" },
{ name = "r", text = "󰟔", fg = "#6c7086" },
{ name = "scss", text = "", fg = "#f38ba8" },
{ name = "cow", text = "󰆚", fg = "#fab387" },
{ name = "gleam", text = "", fg = "#f5c2e7" },
{ name = "v", text = "󰍛", fg = "#a6e3a1" },
{ name = "kicad_pro", text = "", fg = "#f5e0dc" },
{ name = "liquid", text = "", fg = "#a6e3a1" },
{ name = "zip", text = "", fg = "#fab387" },
]

7
yazi/yazi.toml Normal file
View File

@@ -0,0 +1,7 @@
[mgr]
ratio = [ 1, 4, 3 ]
[plugin]
prepend_previewers = [
{ url = "*.md", run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'}
]

126
zsh/.zshrc Normal file
View File

@@ -0,0 +1,126 @@
## Brew configuration
# used fix for git completions
# https://stackoverflow.com/a/77774933
# Init Homebrew to get `HOMEBREW_PREFIX`
eval "$(/opt/homebrew/bin/brew shellenv)"
# Delete brew's objectively worse git completion
remove_conflicting_git_completions() {
local git_completion_bash="$HOMEBREW_PREFIX/share/zsh/site-functions/git-completion.bash"
local git_completion_zsh="$HOMEBREW_PREFIX/share/zsh/site-functions/_git"
[ -e "$git_completion_bash" ] && rm "$git_completion_bash"
[ -e "$git_completion_zsh" ] && rm "$git_completion_zsh"
}
# This needs to run every time since brew sometimes brings those files back
remove_conflicting_git_completions
# Add Homebrew's site functions to fpath (minus git, because that causes conflicts)
# This will give you autocomplete for _other_ things you installed
# from brew (like `just`, or `exa`, or `k6`)
fpath=($HOMEBREW_PREFIX/share/zsh/site-functions $fpath)
# Path to your oh-my-zsh installation.
export ZSH="/Users/liquidpredator/.oh-my-zsh"
# Set name of the theme to load
#ZSH_THEME="dracula"
#Plugin configurations
zstyle ':omz:plugins:eza' 'dirs-first' yes
zstyle ':omz:plugins:eza' 'icons' yes
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
aws
docker
eza
fancy-ctrl-z
fzf
gcloud
gitfast
gitignore
helm
k9s
kubectl
mise
starship
terraform
thefuck
zoxide
zsh-autosuggestions
)
# Run oh-my-zsh
source $ZSH/oh-my-zsh.sh
## User configuration
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
# YandexCloud CLI completion
# NOTE: Versions checked from utility version output
source "$HOMEBREW_PREFIX/Caskroom/yandex-cloud-cli/$(yc --version | egrep -o "([0-9]{1,}\.)+[0-9]{1,}")/yandex-cloud-cli/completion.zsh.inc"
#compdef opencode
###-begin-opencode-completions-###
#
# yargs command completion script
#
# Installation: opencode completion >> ~/.zshrc
# or opencode completion >> ~/.zprofile on OSX.
#
_opencode_yargs_completions()
{
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-###
# Add Docker Desktop for Mac (docker)
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"
## Functions
#Generate strong password
function pwg() {
pwgen -cny -r \[\]\{\}\(\)\"\'\-\|\:\;\`\,\<\>\$\= 32 1
}
# Yazi
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
#DuckDuckGo Search with w3m
function ddgs(){
w3m https://lite.duckduckgo.com/html/\?q\="$@"
}

14
zsh/README.md Normal file
View File

@@ -0,0 +1,14 @@
### Configuration
Create file `~/.zprofile` with content
```
export ZDOTDIR="$HOME/.config/zsh"
```
### Requirements
#### ohmyzsh
https://github.com/ohmyzsh/ohmyzsh
```shell
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```