From 86ef6ecc909a75f82885290b8edfd340ef84688d Mon Sep 17 00:00:00 2001 From: rpriven Date: Tue, 29 Apr 2025 09:41:32 -0600 Subject: [PATCH] Updated dotfiles --- alacritty/.config/alacritty/alacritty.toml | 26 + bat/.config/bat/config | 25 + bat/.config/bat/themes/tokyonight | 1 + ghostty/.config/ghostty/config | 50 ++ helix/.config/helix/config.toml | 20 + helix/.config/helix/languages.toml | 60 ++ helix/.config/helix/languages.toml.bak | 960 +++++++++++++++++++++ procs/.config/procs/config.toml | 140 +++ {.config => yazi/.config}/yazi/theme.toml | 0 zsh/.aliases | 19 +- zsh/.exports | 2 +- zsh/.zshrc | 5 + 12 files changed, 1302 insertions(+), 6 deletions(-) create mode 100644 alacritty/.config/alacritty/alacritty.toml create mode 100644 bat/.config/bat/config create mode 100644 bat/.config/bat/themes/tokyonight create mode 100644 ghostty/.config/ghostty/config create mode 100644 helix/.config/helix/config.toml create mode 100644 helix/.config/helix/languages.toml create mode 100644 helix/.config/helix/languages.toml.bak create mode 100644 procs/.config/procs/config.toml rename {.config => yazi/.config}/yazi/theme.toml (100%) diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..6897040 --- /dev/null +++ b/alacritty/.config/alacritty/alacritty.toml @@ -0,0 +1,26 @@ +decorations = "None" +import = ["/home/folke/projects/tokyonight.nvim/extras/alacritty/tokyonight_storm.yml"] +live_config_reload = true + +[colors] +draw_bold_text_with_bright_colors = true + +[font] +size = 11.0 + +[font.bold] +family = "Fira Code Bold Nerd Font Complete" + +[font.bold_italic] +family = "Victor Mono Bold Italic Nerd Font Complete" + +[font.italic] +family = "Victor Mono Medium Italic Nerd Font Complete" +style = "Italic" + +[font.normal] +family = "FiraCode Nerd Font" + +[window.padding] +x = 10 +y = 10 diff --git a/bat/.config/bat/config b/bat/.config/bat/config new file mode 100644 index 0000000..08df4bf --- /dev/null +++ b/bat/.config/bat/config @@ -0,0 +1,25 @@ +# This is `bat`s configuration file. Each line either contains a comment or +# a command-line option that you want to pass to `bat` by default. You can +# run `bat --help` to get a list of all possible configuration options. + +# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes` +# for a list of all available themes +--theme="tokyonight_moon" + +# Enable this to use italic text on the terminal. This is not supported on all +# terminal emulators (like tmux, by default): +#--italic-text=always + +# Uncomment the following line to disable automatic paging: +#--paging=never + +# Uncomment the following line if you are using less version >= 551 and want to +# enable mouse scrolling support in `bat` when running inside tmux. This might +# disable text selection, unless you press shift. +#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse" + +# Syntax mappings: map a certain filename pattern to a language. +# Example 1: use the C++ syntax for Arduino .ino files +# Example 2: Use ".gitignore"-style highlighting for ".ignore" files +#--map-syntax "*.ino:C++" +#--map-syntax ".ignore:Git Ignore" diff --git a/bat/.config/bat/themes/tokyonight b/bat/.config/bat/themes/tokyonight new file mode 100644 index 0000000..e1ebdda --- /dev/null +++ b/bat/.config/bat/themes/tokyonight @@ -0,0 +1 @@ +/home/$USER/projects/tokyonight.nvim/extras/sublime diff --git a/ghostty/.config/ghostty/config b/ghostty/.config/ghostty/config new file mode 100644 index 0000000..1bd9918 --- /dev/null +++ b/ghostty/.config/ghostty/config @@ -0,0 +1,50 @@ +# Fonts +font-family = "Fira Code" +font-family-bold = "Fira Code" +font-family-italic = "Maple Mono" +font-family-bold-italic = "Maple Mono" +font-family = "Symbols Nerd Font Mono" +font-size = 10 +adjust-underline-position = 4 + +# Mouse +mouse-hide-while-typing = true +# mouse-scroll-multiplier = 1 + +# Theme +theme = /home/folke/projects/tokyonight.nvim/extras/ghostty/tokyonight_night +cursor-invert-fg-bg = true +background-opacity = 0.9 +window-theme = ghostty + +# keybindings +keybind = clear +keybind = ctrl+shift+h=goto_split:left +keybind = ctrl+shift+j=goto_split:bottom +keybind = ctrl+shift+k=goto_split:top +keybind = ctrl+shift+l=goto_split:right +keybind = super+shift+t=new_tab +keybind = super+shift+h=previous_tab +keybind = super+shift+l=next_tab +keybind = super+shift+comma=move_tab:-1 +keybind = super+shift+period=move_tab:1 +keybind = super+shift+c=copy_to_clipboard +keybind = super+shift+v=paste_from_clipboard +keybind = super+shift+enter=new_split:auto +keybind = super+shift+i=inspector:toggle +keybind = super+shift+m=toggle_split_zoom +keybind = super+shift+r=reload_config +keybind = super+shift+s=write_screen_file:open +keybind = super+shift+w=close_surface + +# Window +gtk-single-instance = true +gtk-tabs-location = bottom +gtk-wide-tabs = false +window-padding-y = 2,0 +window-padding-balance = true +window-decoration = false + +# Other +copy-on-select = clipboard +shell-integration-features = cursor,sudo,no-title diff --git a/helix/.config/helix/config.toml b/helix/.config/helix/config.toml new file mode 100644 index 0000000..1549b76 --- /dev/null +++ b/helix/.config/helix/config.toml @@ -0,0 +1,20 @@ +theme = "doom_acario_dark" +# theme = "tokyonight_storm" + +[editor] +line-number = "relative" +mouse = false +bufferline = "multiple" +gutters = ["diagnostics", "spacer", "line-numbers", "spacer", "diff"] + +[editor.cursor-shape] +insert = "bar" +normal = "block" +select = "underline" + +[editor.file-picker] +hidden = false + +[keys.normal] +esc = ["collapse_selection", "keep_primary_selection"] + diff --git a/helix/.config/helix/languages.toml b/helix/.config/helix/languages.toml new file mode 100644 index 0000000..15f25db --- /dev/null +++ b/helix/.config/helix/languages.toml @@ -0,0 +1,60 @@ +# ~/.config/helix/languages.toml + +[[language]] +name = "python" +language-servers = ["pylsp"] +auto-format = true + +[language-server.pylsp.config.pylsp.plugins.pycodestyle] +maxLineLength = 100 +# ignore = ["E501", "E302"] + +[[language]] +name = "bash" +language-servers = ["bash-language-server"] + +[[language]] +name = "markdown" +language-servers = ["marksman"] + +[[language]] +name = "json" +language-servers = ["vscode-json-language-server"] + +[[language]] +name = "yaml" +language-servers = ["yaml-language-server"] + +[[language]] +name = "html" +language-servers = ["vscode-html-language-server"] + +[[language]] +name = "css" +language-servers = ["vscode-css-language-server"] + +[[language]] +name = "dockerfile" +language-servers = ["docker-langserver"] + +[[language]] +name = "go" +language-servers = ["gopls"] + +[[language]] +name = "rust" +language-servers = ["rust-analyzer"] + +[[language]] +name = "zig" +language-servers = ["zls"] + +[[language]] +name = "latex" +language-servers = ["texlab"] + +[[language]] +name = "powershell" +language-servers = ["powershell-editor-services"] + +# add more later when you install their servers diff --git a/helix/.config/helix/languages.toml.bak b/helix/.config/helix/languages.toml.bak new file mode 100644 index 0000000..5c8d46c --- /dev/null +++ b/helix/.config/helix/languages.toml.bak @@ -0,0 +1,960 @@ +# Language support configuration. +# See the languages documentation: https://docs.helix-editor.com/master/languages.html + +use-grammars = { except = [ "wren", "gemini" ] } + +[language-server] + +awk-language-server = { command = "awk-language-server" } +bash-language-server = { command = "bash-language-server", args = ["start"] } +csharp-ls = { command = "csharp-ls" } +docker-langserver = { command = "docker-langserver", args = ["--stdio"] } +docker-compose-langserver = { command = "docker-compose-langserver", args = ["--stdio"]} +jedi = { command = "jedi-language-server" } +ltex-ls = { command = "ltex-ls" } +ltex-ls-plus = { command = "ltex-ls-plus" } +markdoc-ls = { command = "markdoc-ls", args = ["--stdio"] } +markdown-oxide = { command = "markdown-oxide" } +marksman = { command = "marksman", args = ["server"] } +pylsp = { command = "pylsp" } +pyright = { command = "pyright-langserver", args = ["--stdio"], config = {} } +pylyzer = { command = "pylyzer", args = ["--server"] } +tailwindcss-ls = { command = "tailwindcss-language-server", args = ["--stdio"] } +texlab = { command = "texlab" } +vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { provideFormatter = true, css = { validate = { enable = true } } } } +vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } } +vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true, json = { validate = { enable = true } } } } +yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] } + +[language-server.lua-language-server] +command = "lua-language-server" + +[language-server.lua-language-server.config.Lua.hint] +enable = true +arrayIndex = "Enable" +setType = true +paramName = "All" +paramType = true +await = true + + +[language-server.gopls] +command = "gopls" + +[language-server.gopls.config.hints] +assignVariableTypes = true +compositeLiteralFields = true +constantValues = true +functionTypeParameters = true +parameterNames = true +rangeVariableTypes = true + +[language-server.golangci-lint-lsp] +command = "golangci-lint-langserver" + +[language-server.golangci-lint-lsp.config] +command = ["golangci-lint", "run", "--output.json.path=stdout", "--show-stats=false", "--issues-exit-code=1"] + +[language-server.rust-analyzer] +command = "rust-analyzer" + +[language-server.rust-analyzer.config] +inlayHints.bindingModeHints.enable = false +inlayHints.closingBraceHints.minLines = 10 +inlayHints.closureReturnTypeHints.enable = "with_block" +inlayHints.discriminantHints.enable = "fieldless" +inlayHints.lifetimeElisionHints.enable = "skip_trivial" +inlayHints.typeHints.hideClosureInitialization = false + +[[language]] +name = "rust" +scope = "source.rust" +injection-regex = "rs|rust" +file-types = ["rs"] +roots = ["Cargo.toml", "Cargo.lock"] +shebangs = ["rust-script", "cargo"] +auto-format = true +comment-tokens = ["//", "///", "//!"] +block-comment-tokens = [ + { start = "/*", end = "*/" }, + { start = "/**", end = "*/" }, + { start = "/*!", end = "*/" }, +] +language-servers = [ "rust-analyzer" ] +indent = { tab-width = 4, unit = " " } +persistent-diagnostic-sources = ["rustc", "clippy"] + +[language.auto-pairs] +'(' = ')' +'{' = '}' +'[' = ']' +'"' = '"' +'`' = '`' + +[[grammar]] +name = "rust" +source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "1f63b33efee17e833e0ea29266dd3d713e27e321" } + +[[language]] +name = "toml" +scope = "source.toml" +injection-regex = "toml" +file-types = ["toml", { glob = "pdm.lock" }, { glob = "poetry.lock" }, { glob = "Cargo.lock" }, { glob = "uv.lock" }] +comment-token = "#" +language-servers = [ "taplo" ] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "toml" +source = { git = "https://github.com/ikatyang/tree-sitter-toml", rev = "7cff70bbcbbc62001b465603ca1ea88edd668704" } + +[[language]] +name = "awk" +scope = "source.awk" +injection-regex = "awk" +file-types = ["awk", "gawk", "nawk", "mawk"] +comment-token = "#" +language-servers = [ "awk-language-server" ] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "awk" +source = { git = "https://github.com/Beaglefoot/tree-sitter-awk", rev = "a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3" } + +[[language]] +name = "json" +scope = "source.json" +injection-regex = "json" +file-types = [ + "json", + "arb", + "ipynb", + "geojson", + "gltf", + "webmanifest", + { glob = "flake.lock" }, + { glob = ".babelrc" }, + { glob = ".bowerrc" }, + { glob = ".jscrc" }, + "js.map", + "ts.map", + "css.map", + { glob = ".jslintrc" }, + "jsonl", + "jsonld", + { glob = ".vuerc" }, + { glob = "composer.lock" }, + { glob = ".watchmanconfig" }, + "avsc", + "ldtk", + "ldtkl", + { glob = ".swift-format" }, + "sublime-build", + "sublime-color-scheme", + "sublime-commands", + "sublime-completions", + "sublime-keymap", + "sublime-macro", + "sublime-menu", + "sublime-mousemap", + "sublime-project", + "sublime-settings", + "sublime-theme", + "sublime-workspace" +] +language-servers = [ "vscode-json-language-server" ] +auto-format = true +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "json" +source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "73076754005a460947cafe8e03a8cf5fa4fa2938" } + +[[language]] +name = "jsonc" +scope = "source.json" +injection-regex = "jsonc" +file-types = ["jsonc", { glob = "tsconfig.json" }, { glob = "bun.lock" }] +comment-token = "//" +block-comment-tokens = { start = "/*", end = "*/" } +grammar = "json" +language-servers = [ "vscode-json-language-server" ] +auto-format = true +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "json5" +scope = "source.json5" +injection-regex = "json5" +file-types = ["json5"] +language-servers = [] +comment-token = "//" +indent = { tab-width = 4, unit = " " } +# https://json5.org + +[[grammar]] +name = "json5" +source = { git = "https://github.com/Joakker/tree-sitter-json5", rev = "c23f7a9b1ee7d45f516496b1e0e4be067264fa0d" } + +[[language]] +name = "c-sharp" +scope = "source.csharp" +injection-regex = "c-?sharp" +file-types = ["cs", "csx", "cake"] +roots = ["sln", "csproj"] +comment-token = "//" +block-comment-tokens = { start = "/*", end = "*/" } +indent = { tab-width = 4, unit = "\t" } +language-servers = [ "omnisharp" ] + +[[grammar]] +name = "c-sharp" +source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "b5eb5742f6a7e9438bee22ce8026d6b927be2cd7" } + +[[language]] +name = "go" +scope = "source.go" +injection-regex = "go" +file-types = ["go"] +roots = ["go.work", "go.mod"] +auto-format = true +comment-token = "//" +block-comment-tokens = { start = "/*", end = "*/" } +language-servers = [ "gopls", "golangci-lint-lsp" ] +# TODO: gopls needs utf-8 offsets? +indent = { tab-width = 4, unit = "\t" } + +[language.debugger] +name = "go" +transport = "tcp" +command = "dlv" +args = ["dap"] +port-arg = "-l 127.0.0.1:{}" + +[[language]] +name = "css" +scope = "source.css" +injection-regex = "css" +file-types = ["css"] +block-comment-tokens = { start = "/*", end = "*/" } +language-servers = [ "vscode-css-language-server" ] +auto-format = true +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "css" +source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51" } + +[[language]] +name = "scss" +scope = "source.scss" +injection-regex = "scss" +file-types = ["scss"] +block-comment-tokens = { start = "/*", end = "*/" } +language-servers = [ "vscode-css-language-server" ] +auto-format = true +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "scss" +source = { git = "https://github.com/serenadeai/tree-sitter-scss", rev = "c478c6868648eff49eb04a4df90d703dc45b312a" } + +[[language]] +name = "html" +scope = "text.html.basic" +injection-regex = "html" +file-types = ["html", "htm", "shtml", "xhtml", "xht", "jsp", "asp", "aspx", "jshtm", "volt", "rhtml", "cshtml"] +block-comment-tokens = { start = "" } +language-servers = [ "vscode-html-language-server", "superhtml" ] +auto-format = true +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "html" +source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "29f53d8f4f2335e61bf6418ab8958dac3282077a" } + +[[language]] +name = "python" +scope = "source.python" +injection-regex = "py(thon)?" +file-types = ["py", "pyi", "py3", "pyw", "ptl", "rpy", "cpy", "ipy", "pyt", { glob = ".python_history" }, { glob = ".pythonstartup" }, { glob = ".pythonrc" }, { glob = "*SConstruct" }, { glob = "*SConscript" }, { glob = "*sconstruct" }] +shebangs = ["python", "uv"] +roots = ["pyproject.toml", "setup.py", "poetry.lock", "pyrightconfig.json"] +comment-token = "#" +language-servers = ["ruff", "jedi", "pylsp"] +# TODO: pyls needs utf-8 offsets +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "python" +source = { git = "https://github.com/tree-sitter/tree-sitter-python", rev = "4bfdd9033a2225cc95032ce77066b7aeca9e2efc" } + +[[language]] +name = "bash" +scope = "source.bash" +injection-regex = "(shell|bash|zsh|sh)" +file-types = [ + "sh", + "bash", + "ash", + "dash", + "ksh", + "mksh", + "zsh", + "zshenv", + "zlogin", + "zlogout", + "zprofile", + "zshrc", + "eclass", + "ebuild", + "bazelrc", + "Renviron", + "zsh-theme", + "cshrc", + "tcshrc", + "bashrc_Apple_Terminal", + "zshrc_Apple_Terminal", + { glob = "i3/config" }, + { glob = "sway/config" }, + { glob = "tmux.conf" }, + { glob = ".bash_history" }, + { glob = ".bash_login" }, + { glob = ".bash_logout" }, + { glob = ".bash_profile" }, + { glob = ".bashrc" }, + { glob = ".profile" }, + { glob = ".zshenv" }, + { glob = ".zlogin" }, + { glob = ".zlogout" }, + { glob = ".zprofile" }, + { glob = ".zshrc" }, + { glob = ".zimrc" }, + { glob = "APKBUILD" }, + { glob = ".bash_aliases" }, + { glob = ".Renviron" }, + { glob = ".xprofile" }, + { glob = ".xsession" }, + { glob = ".xsessionrc" }, + { glob = ".yashrc" }, + { glob = ".yash_profile" }, + { glob = ".hushlogin" }, +] +shebangs = ["sh", "bash", "dash", "zsh"] +comment-token = "#" +language-servers = [ "bash-language-server" ] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "bash" +source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "f8fb3274f72a30896075585b32b0c54cad65c086" } + +[[language]] +name = "latex" +scope = "source.tex" +injection-regex = "tex" +file-types = ["tex", "sty", "cls", "Rd", "bbx", "cbx"] +comment-token = "%" +language-servers = [ "texlab" ] +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "latex" +source = { git = "https://github.com/latex-lsp/tree-sitter-latex", rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6" } + +[[language]] +name = "bibtex" +scope = "source.bib" +injection-regex = "bib" +file-types = ["bib"] +comment-token = "%" +language-servers = [ "texlab" ] +indent = { tab-width = 4, unit = "\t" } +auto-format = true + +[language.formatter] +command = 'bibtex-tidy' +args = [ + "-", + "--curly", + "--drop-all-caps", + "--remove-empty-fields", + "--sort-fields", + "--sort=year,author,id", + "--strip-enclosing-braces", + "--trailing-commas", +] + +[[grammar]] +name = "bibtex" +source = { git = "https://github.com/latex-lsp/tree-sitter-bibtex", rev = "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34" } + +[[language]] +name = "lua" +injection-regex = "lua" +scope = "source.lua" +file-types = ["lua", "rockspec"] +shebangs = ["lua", "luajit"] +roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"] +comment-token = "--" +block-comment-tokens = { start = "--[[", end = "--]]" } +indent = { tab-width = 2, unit = " " } +language-servers = [ "lua-language-server" ] + +[[grammar]] +name = "lua" +source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-lua", rev = "88e446476a1e97a8724dff7a23e2d709855077f2" } + +[[language]] +name = "yaml" +scope = "source.yaml" +file-types = [ + "yml", + "yaml", + { glob = ".prettierrc" }, + { glob = ".clangd" }, + { glob = ".clang-format" }, + { glob = ".clang-tidy" }, + "sublime-syntax" +] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-servers = [ "yaml-language-server", "ansible-language-server" ] +injection-regex = "yml|yaml" + +[[grammar]] +name = "yaml" +source = { git = "https://github.com/ikatyang/tree-sitter-yaml", rev = "0e36bed171768908f331ff7dff9d956bae016efb" } + +[[language]] +name = "zig" +scope = "source.zig" +injection-regex = "zig" +file-types = ["zig", "zon"] +roots = ["build.zig"] +auto-format = true +comment-tokens = ["//", "///", "//!"] +language-servers = [ "zls" ] +indent = { tab-width = 4, unit = " " } +formatter = { command = "zig" , args = ["fmt", "--stdin"] } + +[language.debugger] +name = "lldb-dap" +transport = "stdio" +command = "lldb-dap" + +[[language.debugger.templates]] +name = "binary" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { console = "internalConsole", program = "{0}" } + +[[language.debugger.templates]] +name = "attach" +request = "attach" +completion = [ "pid" ] +args = { console = "internalConsole", pid = "{0}" } + +[[language.debugger.templates]] +name = "gdbserver attach" +request = "attach" +completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] +args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } + +[[grammar]] +name = "zig" +source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-zig", rev = "eb7d58c2dc4fbeea4745019dee8df013034ae66b" } + +[[language]] +name = "markdown" +scope = "source.md" +injection-regex = "md|markdown" +file-types = ["md", "livemd", "markdown", "mdx", "mkd", "mkdn", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook", { glob = "PULLREQ_EDITMSG" }] +roots = [".marksman.toml"] +language-servers = [ "marksman", "markdown-oxide" ] +indent = { tab-width = 2, unit = " " } +block-comment-tokens = { start = "" } + +[[grammar]] +name = "markdown" +source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-markdown", rev = "62516e8c78380e3b51d5b55727995d2c511436d8", subpath = "tree-sitter-markdown" } + +[[language]] +name = "markdown.inline" +scope = "source.markdown.inline" +injection-regex = "markdown\\.inline" +file-types = [] +grammar = "markdown_inline" + +[[grammar]] +name = "markdown_inline" +source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-markdown", rev = "62516e8c78380e3b51d5b55727995d2c511436d8", subpath = "tree-sitter-markdown-inline" } + +[[language]] +name = "dockerfile" +scope = "source.dockerfile" +injection-regex = "docker|dockerfile" +roots = ["Dockerfile", "Containerfile"] +file-types = [ + "Dockerfile", + { glob = "Dockerfile" }, + { glob = "Dockerfile.*" }, + "dockerfile", + { glob = "dockerfile" }, + { glob = "dockerfile.*" }, + "Containerfile", + { glob = "Containerfile" }, + { glob = "Containerfile.*" }, + "containerfile", + { glob = "containerfile" }, + { glob = "containerfile.*" }, +] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-servers = [ "docker-langserver" ] + +[[grammar]] +name = "dockerfile" +source = { git = "https://github.com/camdencheek/tree-sitter-dockerfile", rev = "087daa20438a6cc01fa5e6fe6906d77c869d19fe" } + +[[language]] +name = "docker-compose" +scope = "source.yaml.docker-compose" +roots = ["docker-compose.yaml", "docker-compose.yml"] +language-servers = [ "docker-compose-langserver", "yaml-language-server" ] +file-types = [{ glob = "docker-compose.yaml" }, { glob = "docker-compose.yml" }] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +grammar = "yaml" + +[[language]] +name = "git-commit" +scope = "git.commitmsg" +file-types = [{ glob = "COMMIT_EDITMSG" }, { glob = "MERGE_MSG" }] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +rulers = [51, 73] +text-width = 72 + +[[grammar]] +name = "git-commit" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-commit", rev = "6f193a66e9aa872760823dff020960c6cedc37b3" } + +[[language]] +name = "diff" +scope = "source.diff" +file-types = ["diff", "patch", "rej"] +injection-regex = "diff" +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "diff" +source = { git = "https://github.com/the-mikedavis/tree-sitter-diff", rev = "fd74c78fa88a20085dbc7bbeaba066f4d1692b63" } + +[[language]] +name = "git-rebase" +scope = "source.gitrebase" +file-types = [{ glob = "git-rebase-todo" }] +injection-regex = "git-rebase" +comment-token = "#" +indent = { tab-width = 2, unit = "\t" } + +[[grammar]] +name = "git-rebase" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-rebase", rev = "d8a4207ebbc47bd78bacdf48f883db58283f9fd8" } + +[[language]] +name = "regex" +scope = "source.regex" +injection-regex = "regex" +file-types = ["regex", { glob = ".Rbuildignore" }] + +[[grammar]] +name = "regex" +source = { git = "https://github.com/tree-sitter/tree-sitter-regex", rev = "e1cfca3c79896ff79842f057ea13e529b66af636" } + +[[language]] +name = "git-config" +scope = "source.gitconfig" +file-types = ["gitconfig", { glob = ".gitmodules" }, { glob = ".gitconfig" }, { glob = ".git/config" }, { glob = ".config/git/config" }] +injection-regex = "git-config" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "git-config" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "9c2a1b7894e6d9eedfe99805b829b4ecd871375e" } + +[[language]] +name = "git-attributes" +scope = "source.gitattributes" +file-types = [{ glob = ".gitattributes" }] +injection-regex = "git-attributes" +comment-token = "#" +grammar = "gitattributes" + +[[grammar]] +name = "gitattributes" +source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" } + +[[language]] +name = "git-ignore" +scope = "source.gitignore" +file-types = [{ glob = ".gitignore_global" }, { glob = "git/ignore" }, { glob = ".ignore" }, { glob = "CODEOWNERS" }, { glob = ".config/helix/ignore" }, { glob = ".helix/ignore" }, { glob = ".*ignore" }] +injection-regex = "git-ignore" +comment-token = "#" +grammar = "gitignore" + +[[grammar]] +name = "gitignore" +source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" } + +[[language]] +name = "graphql" +scope = "source.graphql" +injection-regex = "graphql" +file-types = ["gql", "graphql", "graphqls"] +language-servers = [ "graphql-language-service" ] +comment-token = "#" +block-comment-tokens = { start = "\"\"\"", end = "\"\"\"" } +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "solidity" +scope = "source.sol" +injection-regex = "(sol|solidity)" +file-types = ["sol"] +comment-token = "//" +block-comment-tokens = { start = "/*", end = "*/" } +indent = { tab-width = 4, unit = " " } +language-servers = [ "solc" ] + +[[grammar]] +name = "solidity" +source = { git = "https://github.com/JoranHonig/tree-sitter-solidity", rev = "f7f5251a3f5b1d04f0799b3571b12918af177fc8" } + +[[language]] +name = "sql" +scope = "source.sql" +file-types = ["sql", "dsql"] +comment-token = "--" +block-comment-tokens = { start = "/*", end = "*/" } +indent = { tab-width = 4, unit = " " } +injection-regex = "sql" + +[[grammar]] +name = "sql" +source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "b9d109588d5b5ed986c857464830c2f0bef53f18" } + +[[language]] +name = "odin" +auto-format = true +scope = "source.odin" +file-types = ["odin"] +roots = ["ols.json", "main.odin"] +language-servers = [ "ols" ] +comment-token = "//" +block-comment-tokens = { start = "/*", end = "*/" } +indent = { tab-width = 4, unit = "\t" } +formatter = { command = "odinfmt", args = [ "-stdin" ] } + +[language.debugger] +name = "lldb-dap" +transport = "stdio" +command = "lldb-dap" + +[[language.debugger.templates]] +name = "binary" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { console = "internalConsole", program = "{0}" } + +[[language.debugger.templates]] +name = "attach" +request = "attach" +completion = [ "pid" ] +args = { console = "internalConsole", pid = "{0}" } + +[[language.debugger.templates]] +name = "gdbserver attach" +request = "attach" +completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] +args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } + +[[grammar]] +name = "odin" +source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-odin", rev = "b5f668ef8918aab13812ce73acd89fe191fb8c5e" } + +[[language]] +name = "sshclientconfig" +scope = "source.sshclientconfig" +file-types = [{ glob = ".ssh/config" }, { glob = "/etc/ssh/ssh_config" }, { glob = "ssh_config.d/*.conf" } ] +comment-token = "#" + +[[grammar]] +name = "sshclientconfig" +source = { git = "https://github.com/metio/tree-sitter-ssh-client-config", rev = "e45c6d5c71657344d4ecaf87dafae7736f776c57" } + +[[language]] +name = "elvish" +scope = "source.elvish" +shebangs = ["elvish"] +file-types = ["elv"] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-servers = [ "elvish" ] +grammar = "elvish" + +[[grammar]] +name = "elvish" +source = { git = "https://github.com/ckafi/tree-sitter-elvish", rev = "e50787cadd3bc54f6d9c0704493a79078bb8a4e5" } + +[[language]] +name = "xml" +scope = "source.xml" +injection-regex = "xml" +file-types = [ + "xml", + "mobileconfig", + "plist", + "xib", + "storyboard", + "svg", + "xsd", + "gml", + "xaml", + "gir", + "rss", + "atom", + "opml", + "policy", + "ascx", + "axml", + "axaml", + "bpmn", + "cpt", + "csl", + "csproj.user", + "dita", + "ditamap", + "dtml", + "fxml", + "iml", + "isml", + "jmx", + "launch", + "menu", + "mxml", + "nuspec", + "osc", + "osm", + "pt", + "publishsettings", + "pubxml", + "pubxml.user", + "rbxlx", + "rbxmx", + "rng", + "shproj", + "tld", + { glob = "*.tm[Tt]heme" }, + "tmx", + "vbproj.user", + "vcxproj", + "vcxproj.filters", + "wsdl", + "wxi", + "wxs", + "xbl", + "xlf", + "xliff", + "xpdl", + "xul", + "xoml", + "musicxml", + "glif", + "ui", + "sublime-snippet", + "xsl", + "mpd", + "smil" +] +block-comment-tokens = { start = "" } +indent = { tab-width = 2, unit = " " } + +[language.auto-pairs] +'(' = ')' +'{' = '}' +'[' = ']' +'"' = '"' +"'" = "'" +"<" = ">" + +[[grammar]] +name = "xml" +source = { git = "https://github.com/RenjiSann/tree-sitter-xml", rev = "48a7c2b6fb9d515577e115e6788937e837815651" } + +[[language]] +name = "env" +scope = "source.env" +file-types = [{ glob = ".env" }, { glob = ".env.*" }, { glob = ".envrc" }, { glob = ".envrc.*" }] +injection-regex = "env" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } +grammar = "bash" + +[[language]] +name = "ini" +scope = "source.ini" +file-types = [ + "ini", + # Systemd unit files + "service", + "automount", + "desktop", + "device", + "mount", + "nspawn", + "path", + "scope", + "slice", + "socket", + "swap", + "target", + "timer", + { glob = "systemd/**/*.conf" }, + # Podman quadlets + "container", + "volume", + "kube", + "network", + { glob = ".editorconfig" }, + { glob = ".npmrc" }, + { glob = "hgrc" }, + { glob = "npmrc" }, + { glob = "rclone.conf" }, + "properties", + "cfg", + "directory" +] +injection-regex = "ini" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "ini" +source = { git = "https://github.com/justinmk/tree-sitter-ini", rev = "32b31863f222bf22eb43b07d4e9be8017e36fb31" } + +[[language]] +name = "mermaid" +scope = "source.mermaid" +injection-regex = "mermaid" +file-types = ["mermaid", "mmd"] +comment-token = "%%" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "mermaid" +source = { git = "https://github.com/monaqa/tree-sitter-mermaid", rev = "d787c66276e7e95899230539f556e8b83ee16f6d" } + +[[language]] +name = "markdoc" +scope = "text.markdoc" +block-comment-tokens = { start = "" } +file-types = ["mdoc"] +language-servers = [ "markdoc-ls" ] + +[[grammar]] +name = "markdoc" +source = { git = "https://github.com/markdoc-extra/tree-sitter-markdoc", rev = "5ffe71b29e8a3f94823913ea9cea51fcfa7e3bf8" } + +[[language]] +name = "log" +scope = "source.log" +file-types = ["log"] + +[[grammar]] +name = "log" +source = { git = "https://github.com/Tudyx/tree-sitter-log", rev = "62cfe307e942af3417171243b599cc7deac5eab9" } + +[[language]] +name = "powershell" +scope = "source.powershell" +injection-regex = "(pwsh|powershell)" +file-types = [ "ps1", "psm1", "psd1", "pscc", "psrc" ] +shebangs = [ "pwsh", "powershell" ] +comment-token = '#' +block-comment-tokens = { start = "<#", end = "#>" } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "powershell" +source = { git = "https://github.com/airbus-cert/tree-sitter-powershell", rev = "c9316be0faca5d5b9fd3b57350de650755f42dc0" } + +[[language]] +name = "nginx" +scope = "source.nginx" +injection-regex = "nginx" +file-types = [ + { glob = "sites-available/*.conf" }, + { glob = "sites-enabled/*.conf" }, + { glob = "nginx.conf" }, + { glob = "conf.d/*.conf" } +] +roots = ["nginx.conf"] +comment-token = "#" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "nginx" +source = { git = "https://gitlab.com/joncoole/tree-sitter-nginx", rev = "b4b61db443602b69410ab469c122c01b1e685aa0" } + +[[language]] +name = "ghostty" +scope = "source.ghostty" +file-types = [{ glob = "ghostty/config" }] +comment-tokens = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "ghostty" +source = { git = "https://github.com/bezhermoso/tree-sitter-ghostty" , rev = "8438a93b44367e962b2ea3a3b6511885bebd196a" } + +[[language]] +name = "csv" +file-types = ["csv"] +scope = "source.csv" + +[[grammar]] +name = "csv" +source = { git = "https://github.com/weartist/rainbow-csv-tree-sitter", rev = "d3dbf916446131417e4c2ea9eb8591b23b466d27" } + +[[language]] +name = "yara" +scope = "source.yara" +file-types = ["yara", "yar"] +indent = { tab-width = 2, unit = " " } +comment-tokens = "//" +block-comment-tokens = { start = "/*", end = "*/"} +language-servers = [ "yls" ] + +[[grammar]] +name = "yara" +source = { git = "https://github.com/egibs/tree-sitter-yara", rev = "eb3ede203275c38000177f72ec0f9965312806ef" } + +[[language]] +name = "debian" +scope = "text.debian" +file-types = [ + "dsc", + "changes", + { glob = "debian/**/control" }, + { glob = "etc/apt/sources.list.d/*.sources"} +] +comment-tokens = "#" + +[[grammar]] +name = "debian" +source = { git = "https://gitlab.com/MggMuggins/tree-sitter-debian", rev = "9b3f4b78c45aab8a2f25a5f9e7bbc00995bc3dde" } + diff --git a/procs/.config/procs/config.toml b/procs/.config/procs/config.toml new file mode 100644 index 0000000..43a423d --- /dev/null +++ b/procs/.config/procs/config.toml @@ -0,0 +1,140 @@ +[[columns]] +kind = "Pid" +style = "BrightYellow|Yellow" +numeric_search = true +nonnumeric_search = false +align = "Left" + +[[columns]] +kind = "User" +style = "BrightGreen|Green" +numeric_search = false +nonnumeric_search = true +align = "Left" + +[[columns]] +kind = "Separator" +style = "White|BrightBlack" +numeric_search = false +nonnumeric_search = false +align = "Left" + +[[columns]] +kind = "Tty" +style = "BrightWhite|Black" +numeric_search = false +nonnumeric_search = false +align = "Left" + +[[columns]] +kind = "UsageCpu" +style = "ByPercentage" +numeric_search = false +nonnumeric_search = false +align = "Right" + +[[columns]] +kind = "UsageMem" +style = "ByPercentage" +numeric_search = false +nonnumeric_search = false +align = "Right" + +[[columns]] +kind = "CpuTime" +style = "BrightCyan|Cyan" +numeric_search = false +nonnumeric_search = false +align = "Left" + +[[columns]] +kind = "MultiSlot" +style = "ByUnit" +numeric_search = false +nonnumeric_search = false +align = "Right" + +[[columns]] +kind = "Separator" +style = "White|BrightBlack" +numeric_search = false +nonnumeric_search = false +align = "Left" + +[[columns]] +kind = "Command" +style = "BrightWhite|Black" +numeric_search = false +nonnumeric_search = true +align = "Left" + +[style] +header = "BrightWhite|Black" +unit = "BrightWhite|Black" +tree = "BrightWhite|Black" + +[style.by_percentage] +color_000 = "BrightBlue|Blue" +color_025 = "BrightGreen|Green" +color_050 = "BrightYellow|Yellow" +color_075 = "BrightRed|Red" +color_100 = "BrightRed|Red" + +[style.by_state] +color_d = "BrightRed|Red" +color_r = "BrightGreen|Green" +color_s = "BrightBlue|Blue" +color_t = "BrightCyan|Cyan" +color_z = "BrightMagenta|Magenta" +color_x = "BrightMagenta|Magenta" +color_k = "BrightYellow|Yellow" +color_w = "BrightYellow|Yellow" +color_p = "BrightYellow|Yellow" + +[style.by_unit] +color_k = "BrightBlue|Blue" +color_m = "BrightGreen|Green" +color_g = "BrightYellow|Yellow" +color_t = "BrightRed|Red" +color_p = "BrightRed|Red" +color_x = "BrightBlue|Blue" + +[search] +numeric_search = "Exact" +nonnumeric_search = "Partial" +logic = "And" +case = "Smart" + +[display] +show_self = false +show_self_parents = false +show_thread = false +show_thread_in_tree = true +show_parent_in_tree = true +show_children_in_tree = true +show_header = true +show_footer = false +cut_to_terminal = true +cut_to_pager = false +cut_to_pipe = false +color_mode = "Auto" +separator = "│" +ascending = "▲" +descending = "▼" +tree_symbols = ["│", "─", "┬", "├", "└"] +abbr_sid = true +theme = "Auto" +show_kthreads = true + +[sort] +column = 0 +order = "Ascending" + +[docker] +path = "unix:///var/run/docker.sock" + +[pager] +mode = "Auto" +detect_width = false +use_builtin = false + diff --git a/.config/yazi/theme.toml b/yazi/.config/yazi/theme.toml similarity index 100% rename from .config/yazi/theme.toml rename to yazi/.config/yazi/theme.toml diff --git a/zsh/.aliases b/zsh/.aliases index d1942f6..6f4c888 100644 --- a/zsh/.aliases +++ b/zsh/.aliases @@ -28,9 +28,11 @@ f() { alias j='journalctl -f' alias k='kill $(ps aux | fzf | awk '\''{print $2}'\'')' # alias k9='kill -9 **' -alias nf='fzf -m --preview="bat --color=always --style=numbers --line-range:300 {}" --bind "enter:become(nvim {})"' +alias nf='fzf -m --preview="bat --color=always --style=numbers --line-range:300 {}" --bind "enter:become(hx {})"' alias up='sudo apt update && sudo apt upgrade -y' -alias v='nvim $(fzf)' +alias v='fd --type f --hidden --exclude .git | fzf-tmux -p --reverse | xargs hx' +alias vp='fd --type f --hidden --exclude .git | fzf --preview "bat {1} --color=always --style=numbers" | xargs hx' +alias vv='hx $(fzf --preview="bat {} --color=always")' alias xx='exit' alias yy='yazi' @@ -86,8 +88,14 @@ alias psf="ps -ef | --height=50% --layout=reverse" # List all commands or search through them -alias findcmd='compgen -c | sort -u | fzf --prompt="Search command: "' -alias allcmds='compgen -c | sort -u | fzf' +if [ -n "$ZSH_VERSION" ]; then + alias findcmd='command -v | fzf --prompt="Search command: "' +elif [ -n "$BASH_VERSION" ]; then + alias findcmd='compgen -c | sort -u | fzf --prompt="Search command: "' +fi + +# alias findcmd='compgen -c | sort -u | fzf --prompt="Search command: "' +# alias allcmds='compgen -c | sort -u | fzf' # ---------------------------- @@ -133,7 +141,7 @@ if command -v exa &> /dev/null; then alias l='exa -l' alias lsl='exa --icons' alias ll='exa -al --icons' - alias lt='exa -al --tree --level=2 --icons' + alias lt='exa -al --tree --level=3 --icons' fi if command -v eza &> /dev/null; then @@ -184,3 +192,4 @@ alias fire='sudo ufw status verbose' alias logs='sudo tail -f /var/log/syslog' alias chkports='sudo lsof -i -P -n | less' +unalias zi diff --git a/zsh/.exports b/zsh/.exports index b52a5e2..cd6b65e 100644 --- a/zsh/.exports +++ b/zsh/.exports @@ -1,5 +1,5 @@ # .exports dotfile -export EDITOR="${EDITOR:-vim}" +export EDITOR="${EDITOR:-hx}" export PAGER="${PAGER:-most}" export BROWSER="${BROWSER:-brave}" export LANG=en_US.UTF-8 # avoid locale issues diff --git a/zsh/.zshrc b/zsh/.zshrc index e894aba..ed0e733 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -90,4 +90,9 @@ source $HOME/.cargo/env [ -f ~/.aliases ] && source ~/.aliases [ -f ~/.exports ] && source ~/.exports [ -f ~/.p10k.zsh ] && source ~/.p10k.zsh +unalias zi + +# Fix Ctrl+Arrow Keys in zsh +bindkey "^[[1;5C" forward-word # Ctrl+Right +bindkey "^[[1;5D" backward-word # Ctrl+Left