summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseth <[email protected]>2023-09-01 15:35:00 -0400
committerseth <[email protected]>2023-09-06 10:48:13 -0400
commit27bee5c6bc5ab8df93f2be20fc9e20ed6e71bd27 (patch)
tree2b1e8872f28aa51ca7c5a12ade51a3dca2de2bdf
initial commit
-rw-r--r--.github/dependabot.yml8
-rw-r--r--.github/workflows/build.yaml22
-rw-r--r--.gitignore3
-rw-r--r--.luarc.json253
-rw-r--r--LICENSE21
-rw-r--r--README.md3
-rw-r--r--default.nix30
-rw-r--r--flake.lock26
-rw-r--r--flake.nix45
-rw-r--r--lua/getchoo/filetypes.lua8
-rw-r--r--lua/getchoo/init.lua21
-rw-r--r--lua/getchoo/keybinds.lua38
-rw-r--r--lua/getchoo/plugins/general.lua66
-rw-r--r--lua/getchoo/plugins/init.lua6
-rw-r--r--lua/getchoo/plugins/lazy.lua37
-rw-r--r--lua/getchoo/plugins/lsp.lua161
-rw-r--r--shell.nix6
17 files changed, 754 insertions, 0 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..1d662ce
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,8 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions" # See documentation for possible values
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "weekly"
+ commit-message:
+ prefix: "actions"
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..a7133ae
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,22 @@
+name: build plugin
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ workflow_dispatch:
+
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: DeterminateSystems/nix-installer-action@main
+ - uses: DeterminateSystems/magic-nix-cache-action@main
+
+ - name: run build
+ run:
+ nix build -L
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..70ffe88
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.direnv
+result*
+repl-result-out*
diff --git a/.luarc.json b/.luarc.json
new file mode 100644
index 0000000..694db71
--- /dev/null
+++ b/.luarc.json
@@ -0,0 +1,253 @@
+{
+ "workspace.library": [
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/bufferline.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/catppuccin-nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp-buffer",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp-nvim-lsp",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp-path",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp_luasnip",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/editorconfig.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/fidget.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/gitsigns.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/leap.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/lualine.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/luasnip",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/null-ls.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/nvim-autopairs",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/nvim-cmp",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/nvim-lspconfig",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/nvim-tree.lua",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/nvim-treesitter",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/nvim-web-devicons",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/plenary.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/telescope.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/trouble.nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vim-just",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ada",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-agda",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-arduino",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-astro",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-awk",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-bash",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-bass",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-beancount",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-bibtex",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-bicep",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-bitbake",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-blueprint",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-c",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-c_sharp",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cairo",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-capnp",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-chatito",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-clojure",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cmake",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-comment",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-commonlisp",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cooklang",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-corn",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cpon",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cpp",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-css",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-csv",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cuda",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-cue",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-d",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-dart",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-devicetree",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-dhall",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-diff",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-dockerfile",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-dot",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-doxygen",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-dtd",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ebnf",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-eex",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-elixir",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-elm",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-elsa",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-elvish",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-embedded_template",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-erlang",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-fennel",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-firrtl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-fish",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-foam",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-forth",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-fortran",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-fsh",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-func",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-fusion",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gdscript",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-git_config",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-git_rebase",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gitattributes",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gitcommit",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gitignore",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gleam",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-glimmer",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-glsl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-go",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-godot_resource",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gomod",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gosum",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gowork",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-gpg",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-graphql",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-groovy",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hack",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hare",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-haskell",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-haskell_persistent",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hcl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-heex",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hjson",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hlsl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hocon",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hoon",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-html",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-htmldjango",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-http",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-hurl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ini",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ispc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-janet_simple",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-java",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-javascript",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-jq",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-jsdoc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-json",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-json5",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-jsonc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-jsonnet",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-julia",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-kdl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-kotlin",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-lalrpop",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-latex",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ledger",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-llvm",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-lua",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-luadoc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-luap",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-luau",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-m68k",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-make",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-markdown",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-markdown_inline",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-matlab",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-menhir",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-mermaid",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-meson",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-mlir",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-nickel",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ninja",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-nix",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-norg",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-objc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ocaml",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ocaml_interface",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ocamllex",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-odin",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-org",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-pascal",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-passwd",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-pem",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-perl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-php",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-phpdoc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-pioasm",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-po",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-poe_filter",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-pony",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-prisma",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-promql",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-proto",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-prql",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-psv",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-pug",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-puppet",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-pymanifest",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-python",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ql",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-qmldir",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-qmljs",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-query",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-r",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-racket",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-rasi",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-re2c",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-regex",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-rego",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-requirements",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-rnoweb",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-robot",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ron",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-rst",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ruby",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-rust",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-scala",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-scfg",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-scheme",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-scss",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-slint",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-smali",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-smithy",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-solidity",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-sparql",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-sql",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-squirrel",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-starlark",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-strace",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-supercollider",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-surface",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-svelte",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-swift",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-sxhkdrc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-systemtap",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-t32",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-tablegen",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-teal",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-terraform",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-thrift",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-tiger",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-tlaplus",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-todotxt",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-toml",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-tsv",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-tsx",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-turtle",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-twig",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-typescript",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-ungrammar",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-usd",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-uxntal",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-v",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-vala",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-verilog",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-vhs",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-vim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-vimdoc",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-vue",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-wgsl",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-wgsl_bevy",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-wing",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-xml",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-yaml",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-yang",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-yuck",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/vimplugin-treesitter-grammar-zig",
+ "/home/seth/.config/nvim",
+ "/nix/store/grcfjxsgxjajc1ws6ip2jkkhd238dx77-neovim-unwrapped-0.9.1/share/nvim/runtime",
+ "/nix/store/grcfjxsgxjajc1ws6ip2jkkhd238dx77-neovim-unwrapped-0.9.1/lib/nvim",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/catppuccin-nvim/after",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp-buffer/after",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp-nvim-lsp/after",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp-path/after",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/cmp_luasnip/after",
+ "/nix/store/mlqag16rr51xl6dhwywh464h50grdg6n-vim-pack-dir/pack/myNeovimPackages/start/editorconfig.nvim/after",
+ "/home/seth/.cache/nvim/catppuccin-nvim",
+ "${3rd}/luassert/library"
+ ]
+} \ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..171b89c
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 seth
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4c617fd
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# getchvim
+
+my "from scratch" neovim config. figured i would make it separate from my overengineered [flake](https://github.com/getchoo/flake)
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..be725bd
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,30 @@
+{
+ lib,
+ buildVimPluginFrom2Nix,
+ self,
+ version,
+}: let
+ filter = path: type: let
+ path' = toString path;
+ base = baseNameOf path';
+ isLua = lib.any (suffix: lib.hasSuffix suffix base) [".lua"];
+ in
+ type == "directory" || isLua;
+
+ filterSource = src:
+ lib.cleanSourceWith {
+ src = lib.cleanSource self;
+ inherit filter;
+ };
+in
+ buildVimPluginFrom2Nix {
+ pname = "getchvim";
+ inherit version;
+ src = filterSource self;
+ meta = with lib; {
+ homepage = "https://github.com/getchoo/getchvim";
+ license = licenses.mit;
+ maintainers = with maintainers; [getchoo];
+ platforms = platforms.all;
+ };
+ }
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..d37b30a
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,26 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1693471703,
+ "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "ref": "nixos-unstable",
+ "type": "indirect"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..561d71a
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,45 @@
+{
+ description = "getchoo's neovim config";
+
+ inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
+
+ outputs = {
+ self,
+ nixpkgs,
+ ...
+ }: let
+ inherit (nixpkgs) lib;
+ version = builtins.substring 0 8 self.lastModifiedDate or "dirty";
+
+ systems = [
+ "x86_64-linux"
+ "aarch64-linux"
+ "x86_64-darwin"
+ "aarch64-darwin"
+ ];
+
+ forAllSystems = fn: lib.genAttrs systems (sys: fn nixpkgs.legacyPackages.${sys});
+ in {
+ devShells = forAllSystems (pkgs: {
+ default = import ./shell.nix {inherit pkgs;};
+ });
+
+ formatter = forAllSystems (pkgs: pkgs.alejandra);
+
+ packages = forAllSystems (pkgs: let
+ p = self.overlays.default pkgs pkgs;
+ in {
+ inherit (p.vimPlugins) getchvim;
+ default = p.vimPlugins.getchvim;
+ });
+
+ overlays.default = final: prev: {
+ vimPlugins = prev.vimPlugins.extend (_: _: {
+ getchvim = prev.callPackage ./default.nix {
+ inherit (final.vimUtils) buildVimPluginFrom2Nix;
+ inherit self version;
+ };
+ });
+ };
+ };
+}
diff --git a/lua/getchoo/filetypes.lua b/lua/getchoo/filetypes.lua
new file mode 100644
index 0000000..cb62635
--- /dev/null
+++ b/lua/getchoo/filetypes.lua
@@ -0,0 +1,8 @@
+local filetypes = {
+ filename = {
+ PKGBUILD = "text",
+ [".makepkg.conf"] = "text",
+ },
+}
+
+vim.filetype.add(filetypes)
diff --git a/lua/getchoo/init.lua b/lua/getchoo/init.lua
new file mode 100644
index 0000000..94a02dc
--- /dev/null
+++ b/lua/getchoo/init.lua
@@ -0,0 +1,21 @@
+local cmd = vim.cmd
+local opt = vim.opt
+
+-- text options
+opt.tabstop = 2
+opt.shiftwidth = 2
+opt.expandtab = false
+opt.smartindent = true
+opt.wrap = false
+
+-- appearance
+opt.syntax = "on"
+cmd("filetype plugin indent on")
+opt.termguicolors = true
+
+require("getchoo.keybinds")
+require("getchoo.filetypes")
+
+if vim.g.no_plugins then
+ require("getchoo.plugins")
+end
diff --git a/lua/getchoo/keybinds.lua b/lua/getchoo/keybinds.lua
new file mode 100644
index 0000000..a71f606
--- /dev/null
+++ b/lua/getchoo/keybinds.lua
@@ -0,0 +1,38 @@
+vim.g.mapleader = ","
+
+local opts = { noremap = true, silent = true }
+local set = function(mode, key, vimcmd)
+ vim.keymap.set(mode, key, vimcmd, opts)
+end
+
+set("n", "<leader>t", function()
+ vim.cmd("NvimTreeToggle")
+end)
+
+for i = 1, 9 do
+ set("n", "<leader>" .. i, function()
+ local vimcmd = "BufferLineGoToBuffer " .. i
+ vim.cmd(vimcmd)
+ end)
+end
+
+set("n", "<leader>q", function()
+ vim.cmd("BufferLinePickClose")
+end)
+
+set("n", "<leader>e", vim.diagnostic.open_float)
+set("n", "[d", vim.diagnostic.goto_prev)
+set("n", "]d", vim.diagnostic.goto_next)
+set("n", "<leader>u", vim.diagnostic.setloclist)
+
+set("n", "<leader>f", function()
+ vim.cmd("Telescope")
+end)
+
+set("n", "<leader>p", function()
+ vim.cmd("TroubleToggle")
+end)
+
+set("n", "<leader>z", function()
+ vim.api.nvim_clear_autocmds({ group = "LspFormatting" })
+end)
diff --git a/lua/getchoo/plugins/general.lua b/lua/getchoo/plugins/general.lua
new file mode 100644
index 0000000..3c89ea6
--- /dev/null
+++ b/lua/getchoo/plugins/general.lua
@@ -0,0 +1,66 @@
+---- autopairs
+require("nvim-autopairs").setup({
+ disable_filetype = { "TeleScopePrompt" },
+})
+
+---- catppuccin
+local compile_path = vim.fn.stdpath("cache") .. "/catppuccin-nvim"
+vim.fn.mkdir(compile_path, "p")
+vim.opt.runtimepath:append(compile_path)
+
+require("catppuccin").setup({
+ compile_path = compile_path,
+ flavour = "mocha", -- mocha, macchiato, frappe, latte
+ integrations = {
+ barbar = true,
+ cmp = true,
+ gitsigns = true,
+ leap = true,
+ native_lsp = {
+ enabled = true,
+ },
+ nvimtree = true,
+ treesitter_context = true,
+ treesitter = true,
+ telescope = true,
+ lsp_trouble = true,
+ },
+ no_italic = true,
+})
+vim.api.nvim_command("colorscheme catppuccin")
+
+---- bufferline
+require("bufferline").setup({
+ options = {
+ always_show_bufferline = false,
+ highlights = require("catppuccin.groups.integrations.bufferline").get(),
+ diagnostics = "nvim_lsp",
+ mode = "buffers",
+ numbers = "ordinal",
+ separator_style = "slant",
+ },
+})
+
+---- gitsigns
+require("gitsigns").setup()
+
+---- leap
+require("leap").add_default_mappings()
+
+---- lualine
+require("lualine").setup({
+ options = {
+ theme = "catppuccin",
+ },
+ extensions = { "nvim-tree" },
+})
+
+---- nvim-tree
+require("nvim-tree").setup()
+
+---- treesitter
+require("nvim-treesitter.configs").setup({
+ auto_install = false,
+ highlight = { enable = true },
+ indent = { enable = true },
+})
diff --git a/lua/getchoo/plugins/init.lua b/lua/getchoo/plugins/init.lua
new file mode 100644
index 0000000..f0e8a44
--- /dev/null
+++ b/lua/getchoo/plugins/init.lua
@@ -0,0 +1,6 @@
+if vim.g.use_lazy then
+ require("getchoo.plugins.lazy")
+end
+
+require("getchoo.plugins.general")
+require("getchoo.plugins.lsp")
diff --git a/lua/getchoo/plugins/lazy.lua b/lua/getchoo/plugins/lazy.lua
new file mode 100644
index 0000000..bdd6dc3
--- /dev/null
+++ b/lua/getchoo/plugins/lazy.lua
@@ -0,0 +1,37 @@
+local lazy_path = vim.fn.stdpath("data") .. "/lazy/lazy.vim"
+
+-- bootstrap lazy
+if not vim.loop.fs_stat(lazy_path) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable",
+ lazy_path,
+ })
+end
+
+vim.opt.rtp:prepend(lazy_path)
+
+require("lazy").setup({
+ { "akinsho/bufferline.nvim", version = "*", dependencies = "nvim-tree/nvim-web-devicons" },
+ { "catppuccin/nvim", name = "catppuccin", priority = 1000 },
+ "hrsh7th/nvim-cmp",
+ "hrsh7th/cmp-nvim-lsp",
+ "hrsh7th/cmp-buffer",
+ "saadparwaiz1/cmp_luasnip",
+ "FelipeLema/cmp-async-path",
+ { "j-hui/fidget.nvim", tag = "legacy" },
+ "lewis6991/gitsigns.nvim",
+ { "folke/flash.nvim", event = "VeryLazy" },
+ { "nvim-lualine/lualine.nvim", dependencies = "nvim-tree/nvim-web-devicons" },
+ "L3MON4D3/LuaSnip",
+ { "echasnovski/mini.pairs", event = "VeryLazy" },
+ "neovim/nvim-lspconfig",
+ { "nvim-tree/nvim-tree.lua", dependencies = "nvim-tree/nvim-web-devicons" },
+ "nvim-treesitter/nvim-treesitter",
+ "nvim-lua/plenary.nvim",
+ { "nvim-telescope/telescope.nvim", tag = "0.1.2" },
+ { "folke/trouble.nvim", dependencies = { "nvim-tree/nvim-web-devicons" } },
+})
diff --git a/lua/getchoo/plugins/lsp.lua b/lua/getchoo/plugins/lsp.lua
new file mode 100644
index 0000000..b9e8a78
--- /dev/null
+++ b/lua/getchoo/plugins/lsp.lua
@@ -0,0 +1,161 @@
+---- cmp
+local cmp = require("cmp")
+local luasnip = require("luasnip")
+local mapping = cmp.mapping
+
+require("cmp").setup({
+ completion = {
+ completeopt = "menu,menuone,noinsert",
+ },
+
+ snippet = {
+ expand = function(args)
+ luasnip.lsp_expand(args.body)
+ end,
+ },
+
+ mapping = mapping.preset.insert({
+ ["<C-n>"] = mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
+ ["<C-p>"] = mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
+ ["<C-b>"] = mapping.scroll_docs(-4),
+ ["<C-f>"] = mapping.scroll_docs(4),
+ ["<C-Space>"] = mapping.complete(),
+ ["<C-e>"] = mapping.abort(),
+ ["<CR>"] = mapping.confirm({ select = true }),
+ ["<S-CR>"] = mapping.confirm({
+ behavior = cmp.ConfirmBehavior.Replace,
+ select = true,
+ }),
+ }),
+
+ sources = cmp.config.sources({
+ { name = "nvim_lsp" },
+ { name = "luasnip" },
+ { name = "async_path" },
+ { name = "buffer" },
+ }),
+})
+
+---- fidget
+require("fidget").setup()
+
+---- lsp sources
+local null_ls = require("null-ls")
+local diagnostics = null_ls.builtins.diagnostics
+local formatting = null_ls.builtins.formatting
+
+local sources = {
+ lsp_servers = {
+ ["bashls"] = "bash-language-server",
+ ["clangd"] = "clangd",
+ ["pyright"] = "pyright-langserver",
+ ["rust_analyzer"] = "rust-analyzer",
+ ["tsserver"] = "typescript-language-server",
+ },
+ null_ls = {
+ diagnostics.actionlint,
+ diagnostics.alex,
+ diagnostics.codespell,
+ diagnostics.deadnix,
+ diagnostics.eslint,
+ diagnostics.pylint,
+ diagnostics.shellcheck,
+ diagnostics.statix,
+ formatting.alejandra,
+ formatting.beautysh,
+ formatting.codespell,
+ formatting.just,
+ formatting.nimpretty,
+ formatting.prettier,
+ formatting.rustfmt,
+ formatting.shellharden,
+ formatting.stylua,
+ formatting.yapf,
+ },
+}
+
+--- lsp config
+local capabilities = vim.tbl_deep_extend(
+ "force",
+ require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
+ { workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } }
+)
+
+local all_config = {
+ capabilities = capabilities,
+}
+
+local servers = {}
+for server, binary in pairs(sources.lsp_servers) do
+ if vim.fn.executable(binary) == 1 then
+ servers[server] = all_config
+ end
+end
+
+servers["lua_ls"] = {
+ capabilities = capabilities,
+ settings = {
+ Lua = {
+ runtime = {
+ version = "LuaJIT",
+ },
+ diagnostics = {
+ globals = { "vim" },
+ },
+ workspace = {
+ library = vim.api.nvim_get_runtime_file("", true),
+ },
+ },
+ },
+}
+
+servers["nil_ls"] = {
+ capabilities = capabilities,
+ settings = {
+ ["nil"] = {
+ nix = {
+ flake = {
+ autoArchive = false,
+ autoEvalInputs = false,
+ },
+ },
+ },
+ },
+}
+
+for server, settings in pairs(servers) do
+ require("lspconfig")[server].setup(settings)
+end
+
+---- null-ls
+-- auto-format
+local lsp_formatting = function(bufnr)
+ vim.lsp.buf.format({
+ filter = function(client)
+ return client.name == "null-ls"
+ end,
+ bufnr = bufnr,
+ })
+end
+
+local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
+local formatting_on_attach = function(client, bufnr)
+ if client.supports_method("textDocument/formatting") then
+ vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
+ vim.api.nvim_create_autocmd("BufWritePre", {
+ group = augroup,
+ buffer = bufnr,
+ callback = function()
+ lsp_formatting(bufnr)
+ end,
+ })
+ end
+end
+
+require("null-ls").setup({
+ on_attach = formatting_on_attach,
+ sources = sources.null_ls,
+})
+
+---- trouble
+require("trouble").setup()
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 0000000..c647106
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,6 @@
+{pkgs ? import <nixpkgs> {}}:
+pkgs.mkShell {
+ packages = with pkgs; [
+ stylua
+ ];
+}