1

Neovim: Replace cmp with blink.cmp

Currently commented out
This commit is contained in:
2024-10-14 20:47:38 +02:00
parent 72b3f244e2
commit ea6e9d2816
4 changed files with 902 additions and 194 deletions

800
flake.lock generated
View File

@ -19,9 +19,198 @@
"type": "github"
}
},
"blink-cmp": {
"inputs": {
"devenv": "devenv",
"fenix": "fenix",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1728879229,
"narHash": "sha256-bvhLOM0NMx5S069uX2OecEpzYaR3hV4r8nCIPD0f0XQ=",
"owner": "saghen",
"repo": "blink.cmp",
"rev": "af68874f1b2e628e0c72ec27f5225d0c6b2d6820",
"type": "github"
},
"original": {
"owner": "saghen",
"repo": "blink.cmp",
"type": "github"
}
},
"cachix": {
"inputs": {
"devenv": "devenv_2",
"flake-compat": [
"blink-cmp",
"devenv",
"flake-compat"
],
"git-hooks": [
"blink-cmp",
"devenv",
"pre-commit-hooks"
],
"nixpkgs": [
"blink-cmp",
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1726520618,
"narHash": "sha256-jOsaBmJ/EtX5t/vbylCdS7pWYcKGmWOKg4QKUzKr6dA=",
"owner": "cachix",
"repo": "cachix",
"rev": "695525f9086542dfb09fde0871dbf4174abbf634",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "cachix",
"type": "github"
}
},
"cachix_2": {
"inputs": {
"devenv": "devenv_3",
"flake-compat": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"flake-compat"
],
"nixpkgs": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"pre-commit-hooks": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"pre-commit-hooks"
]
},
"locked": {
"lastModified": 1712055811,
"narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=",
"owner": "cachix",
"repo": "cachix",
"rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "cachix",
"type": "github"
}
},
"devenv": {
"inputs": {
"cachix": "cachix",
"flake-compat": "flake-compat_2",
"nix": "nix_3",
"nixpkgs": "nixpkgs_4",
"pre-commit-hooks": "pre-commit-hooks_2"
},
"locked": {
"lastModified": 1728113618,
"narHash": "sha256-oJj1d2VlFksl/45nBUtoM+lxxaWD3Z6yXBLR9vOp+2E=",
"owner": "cachix",
"repo": "devenv",
"rev": "a8495abab31ce52cd45d343caa760046c0c7ee74",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv_2": {
"inputs": {
"cachix": "cachix_2",
"flake-compat": [
"blink-cmp",
"devenv",
"cachix",
"flake-compat"
],
"nix": "nix_2",
"nixpkgs": [
"blink-cmp",
"devenv",
"cachix",
"nixpkgs"
],
"pre-commit-hooks": [
"blink-cmp",
"devenv",
"cachix",
"git-hooks"
]
},
"locked": {
"lastModified": 1723156315,
"narHash": "sha256-0JrfahRMJ37Rf1i0iOOn+8Z4CLvbcGNwa2ChOAVrp/8=",
"owner": "cachix",
"repo": "devenv",
"rev": "ff5eb4f2accbcda963af67f1a1159e3f6c7f5f91",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv_3": {
"inputs": {
"flake-compat": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"cachix",
"flake-compat"
],
"nix": "nix",
"nixpkgs": "nixpkgs_2",
"poetry2nix": "poetry2nix",
"pre-commit-hooks": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"cachix",
"pre-commit-hooks"
]
},
"locked": {
"lastModified": 1708704632,
"narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=",
"owner": "cachix",
"repo": "devenv",
"rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "python-rewrite",
"repo": "devenv",
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1722113426,
@ -60,9 +249,9 @@
},
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable"
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1728205869,
@ -78,7 +267,46 @@
"type": "github"
}
},
"fenix": {
"inputs": {
"nixpkgs": [
"blink-cmp",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1728196311,
"narHash": "sha256-JoDDlmjPj0sGo1beOo3bRh7BDppm0Kuet7I7BqTmSl4=",
"owner": "nix-community",
"repo": "fenix",
"rev": "26971356e387b5ec0578f52be1bbd82ecf6dbad4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
@ -93,7 +321,22 @@
"type": "github"
}
},
"flake-compat_2": {
"flake-compat_3": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_4": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
@ -108,6 +351,47 @@
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"blink-cmp",
"devenv",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1727826117,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
@ -132,6 +416,39 @@
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
@ -146,9 +463,9 @@
"type": "github"
}
},
"flake-utils_2": {
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
@ -164,9 +481,9 @@
"type": "github"
}
},
"flake-utils_3": {
"flake-utils_5": {
"inputs": {
"systems": "systems_4"
"systems": "systems_5"
},
"locked": {
"lastModified": 1726560853,
@ -188,7 +505,7 @@
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"gitignore": "gitignore_2",
"nixpkgs": [
"nixvim",
"nixpkgs"
@ -213,6 +530,29 @@
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"blink-cmp",
"devenv",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"nixvim",
@ -290,13 +630,58 @@
"type": "github"
}
},
"nix-alien": {
"libgit2": {
"flake": false,
"locked": {
"lastModified": 1697646580,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github"
},
"original": {
"owner": "libgit2",
"repo": "libgit2",
"type": "github"
}
},
"nix": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1712911606,
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.21",
"repo": "nix",
"type": "github"
}
},
"nix-alien": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_4",
"nix-filter": "nix-filter",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1726398642,
@ -364,6 +749,33 @@
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688870561,
"narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-index-database": {
"inputs": {
"nixpkgs": [
@ -385,6 +797,68 @@
"type": "github"
}
},
"nix_2": {
"inputs": {
"flake-compat": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"flake-compat"
],
"nixpkgs": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression_2"
},
"locked": {
"lastModified": 1712911606,
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.21",
"repo": "nix",
"type": "github"
}
},
"nix_3": {
"inputs": {
"flake-compat": [
"blink-cmp",
"devenv",
"flake-compat"
],
"flake-parts": "flake-parts",
"libgit2": "libgit2",
"nixpkgs": "nixpkgs_3",
"nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression_3",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1727438425,
"narHash": "sha256-X8ES7I1cfNhR9oKp06F6ir4Np70WGZU5sfCOuNBEwMg=",
"owner": "domenkozar",
"repo": "nix",
"rev": "f6c5ae4c1b2e411e6b1e6a8181cc84363d6a7546",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.24",
"repo": "nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1725634671,
@ -401,7 +875,99 @@
"type": "github"
}
},
"nixpkgs-23-11": {
"locked": {
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1727825735,
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-regression_2": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-regression_3": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1728067476,
"narHash": "sha256-/uJcVXuBt+VFCPQIX+4YnYrHaubJSx4HoNsJVNRgANM=",
@ -418,6 +984,70 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1692808169,
"narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9201b5ff357e781bf014d0330d18555695df7ba8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1717432640,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88269ab3044128b7c2f4c7d68448b2fb50456870",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1716977621,
"narHash": "sha256-Q1UQzYcMJH4RscmpTkjlgqQDX5yi1tZL0O345Ri6vXQ=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "4267e705586473d3e5c8d50299e71503f16a6fb6",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1716977621,
"narHash": "sha256-Q1UQzYcMJH4RscmpTkjlgqQDX5yi1tZL0O345Ri6vXQ=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "4267e705586473d3e5c8d50299e71503f16a6fb6",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1722073938,
"narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=",
@ -433,7 +1063,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_7": {
"locked": {
"lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
@ -449,7 +1079,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_8": {
"locked": {
"lastModified": 1726062873,
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
@ -465,7 +1095,7 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_9": {
"locked": {
"lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
@ -484,8 +1114,8 @@
"nixvim": {
"inputs": {
"devshell": "devshell_2",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_3",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
@ -526,7 +1156,7 @@
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_5",
"nixpkgs": [
"nixvim",
"nixpkgs"
@ -546,20 +1176,135 @@
"type": "github"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": "flake-utils",
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"blink-cmp",
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1692876271,
"narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "poetry2nix",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
"blink-cmp",
"devenv",
"nix"
],
"flake-utils": "flake-utils_2",
"gitignore": [
"blink-cmp",
"devenv",
"nix"
],
"nixpkgs": [
"blink-cmp",
"devenv",
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"blink-cmp",
"devenv",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712897695,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": [
"blink-cmp",
"devenv",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"blink-cmp",
"devenv",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1726745158,
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"ags": "ags",
"blink-cmp": "blink-cmp",
"devshell": "devshell",
"emacs-overlay": "emacs-overlay",
"hardware": "hardware",
"home-manager": "home-manager",
"nix-alien": "nix-alien",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_9",
"nixvim": "nixvim",
"nur": "nur"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1728064742,
"narHash": "sha256-tFvUGvqUZjES1yxYT2zEFiTAE0iQKYd+eWKX/6ZqeVw=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "5982d9c420d0dc90739171829f0d2e9c80d98979",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
@ -620,6 +1365,21 @@
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [

View File

@ -16,6 +16,7 @@
# NeoVim <3
nixvim.url = "github:nix-community/nixvim";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
blink-cmp.url = "github:saghen/blink.cmp";
# Nix User Repository (e.g. Firefox addons)
nur.url = "github:nix-community/NUR";

View File

@ -1,4 +1,6 @@
{
inputs,
system,
username,
hostname,
config,
@ -95,7 +97,7 @@ in {
performance.byteCompileLua = {
enable = true;
configs = true;
initLua = true; # When debugging init.lua turn this off
initLua = false; # When debugging init.lua turn this off
nvimRuntime = true;
plugins = true;
};
@ -119,10 +121,50 @@ in {
"luasnippets/tex.lua".text = builtins.readFile ./snippets_latex.lua;
};
highlight = {
# Manually define blink.cmp highlight groups until catpuccin supports it.
BlinkCmpMenu = {
bg = "#${color.hex.dark.base}";
};
BlinkCmpMenuBorder = {
bg = "#${color.hex.dark.base}";
fg = "#${color.hex.dark.blue}";
};
BlinkCmpMenuSelection = {
bg = "#${color.hex.dark.blue}";
fg = "#${color.hex.dark.crust}";
bold = true;
};
BlinkCmpLabel = {
bg = "#${color.hex.dark.base}";
fg = "#${color.hex.dark.text}";
bold = false;
};
};
# extraLuaPackages = with pkgs.lua51Packages; [];
# extraPython3Packages = p: [];
autoCmd = [
# TODO: This only works if neotree has been opened before...
# {
# desc = "Refresh neotree when closing lazygit";
# event = ["BufLeave"];
# pattern = ["*lazygit*"];
# callback.__raw = ''
# function()
# local manager = require("neo-tree.sources.manager")
# local renderer = require("neo-tree.ui.renderer")
# local state = manager.get_state("filesystem")
# local window_exists = renderer.window_exists(state)
# if window_exists then
# require("neo-tree.sources.filesystem.commands").refresh(state)
# end
# end
# '';
# }
{
desc = "Lint the file if autolint is enabled";
event = ["BufWritePost"];
@ -239,7 +281,7 @@ in {
event = ["InsertEnter"];
config = mkDefaultConfig name;
opts = {
# mapping = ["jk"]; # NOTE: Deprecated
# mapping = ["jk"]; # Deprecated but still the default
default_mappings = true;
timeout = 200; # In ms
};
@ -266,9 +308,9 @@ in {
light = "latte";
dark = "mocha";
};
default_integrations = false;
# https://github.com/catppuccin/nvim/tree/main?tab=readme-ov-file#integrations
default_integrations = true;
integrations = {
cmp = true;
dashboard = true;
diffview = true;
flash = true;
@ -335,174 +377,68 @@ in {
};
};
_cmp-async-path = {
name = "cmp-async-path";
pkg = pkgs.vimPlugins.cmp-async-path;
lazy = true;
};
_cmp-buffer = {
name = "cmp-buffer";
pkg = pkgs.vimPlugins.cmp-buffer;
lazy = true;
enabled = false; # Spams the completion window
};
_cmp-cmdline = {
name = "cmp-cmdline";
pkg = pkgs.vimPlugins.cmp-cmdline;
lazy = true;
enabled = false; # Using nui as : completion backend, not cmp
};
_cmp-emoji = {
name = "cmp-emoji";
pkg = pkgs.vimPlugins.cmp-emoji;
lazy = true;
};
_cmp-nvim-lsp = {
name = "cmp-nvim-lsp";
pkg = pkgs.vimPlugins.cmp-nvim-lsp;
lazy = true;
};
# _cmp-nvim-lsp-signature-help = {
# name = "cmp-nvim-lsp-signature-help";
# pkg = pkgs.vimPlugins.cmp-nvim-lsp-signature-help;
# lazy = true;
# };
_cmp-luasnip = {
name = "cmp_luasnip";
pkg = pkgs.vimPlugins.cmp_luasnip;
lazy = true;
};
_lspkind = {
name = "lspkind";
pkg = pkgs.vimPlugins.lspkind-nvim;
lazy = true;
};
cmp = rec {
name = "cmp";
pkg = pkgs.vimPlugins.nvim-cmp;
# TODO: Does not work with luasnips yet :(
# TODO: Check if plugin landed in repos
blink-cmp = rec {
name = "blink.cmp";
pkg = inputs.blink-cmp.packages.${system}.default;
lazy = true;
event = ["InsertEnter"];
dependencies = [
_cmp-async-path
_cmp-buffer
_cmp-cmdline
_cmp-emoji
_cmp-nvim-lsp
# _cmp-nvim-lsp-signature-help
_cmp-luasnip
_lspkind # Type symbols in completion
];
config = mkDefaultConfig name;
opts.__raw = let
sources = mylib.generators.toLuaObject [
{name = "async_path";}
{name = "emoji";}
{name = "nvim_lsp";}
{name = "luasnip";}
opts = {
sources = {
providers.__raw = ''
{
{ 'blink.cmp.sources.lsp', name = 'LSP' },
{ 'blink.cmp.sources.path', name = 'Path', score_offset = 3 },
{ 'blink.cmp.sources.snippets', name = 'Snippets', score_offset = -3 },
# {name = "nvim_lsp_signature_help";} # Already provided by something else (noice?)
# {name = "buffer";} # Too much noise
# {name = "cmdline";} # Using nui as cmdline completion backend
];
mapping = mylib.generators.toLuaObject {
"<Down>".__raw = "cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select })";
"<Up>".__raw = "cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select })";
"<C-e>".__raw = "cmp.mapping.abort()";
"<Esc>".__raw = "cmp.mapping.abort()";
"<C-Up>".__raw = "cmp.mapping.scroll_docs(-4)";
"<C-Down>".__raw = "cmp.mapping.scroll_docs(4)";
"<C-Space>".__raw = "cmp.mapping.complete({})";
"<CR>".__raw = ''
cmp.mapping(function(fallback)
if cmp.visible() then
if luasnip.expandable() then
luasnip.expand()
else
cmp.confirm({select = true})
end
else
fallback()
end
end)
'';
"<Tab>".__raw = ''
cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
else
fallback() -- This will call the intellitab <Tab> binding
end
end, { "i", "s" })
'';
"<S-Tab>".__raw = ''
cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" })
-- Disable the buffer completion because I don't like it
-- { 'blink.cmp.sources.buffer', name = 'Buffer', fallback_for = { 'LSP' } },
}
'';
};
in ''
function()
local cmp = require("${name}")
local luasnip = require("luasnip")
local lspkind = require("lspkind")
keymap = {
show = "<C-space>";
hide = "<C-e>";
accept = "<cr>";
select_prev = ["<Up>" "<C-p>"];
select_next = ["<Down>" "<C-n>"];
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
show_documentation = "<C-space>";
hide_documentation = "<C-space>";
scroll_documentation_up = "<C-b>";
scroll_documentation_down = "<C-f>";
return {
sources = cmp.config.sources(${sources}),
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
-- completion.border = "rounded",
-- documentation.border = "rounded",
},
formatting = {
format = lspkind.cmp_format({
mode = "symbol", -- Show only symbol annotations
maxwidth = 50,
ellipsis_char = "...",
show_labelDetails = true, -- show labelDetails in menu. Disabled by default
-- The function below will be called before any actual modifications from lspkind
before = function (entry, vim_item)
return vim_item
end
})
},
mapping = cmp.mapping.preset.insert(${mapping}),
}
end
'';
snippet_forward = "<Tab>";
snippet_backward = "<S-Tab>";
};
nerd_font_variant = "mono";
windows = {
autocomplete = {
border = "rounded";
draw = "reversed";
};
documentation = {
border = "rounded";
auto_show = true;
auto_show_delay_ms = 250;
};
signature_help = {
border = "rounded";
};
};
accept = {
auto_brackets = {
enabled = true;
};
};
trigger = {
signature_help = {
enabled = true;
};
};
};
};
# colorizer = rec {
@ -1052,7 +988,8 @@ in {
local __lspCapabilities = function()
capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = vim.tbl_deep_extend("force", capabilities, require("cmp_nvim_lsp").default_capabilities())
-- I don't remember where this came from, but without cmp it makes no sense
-- capabilities = vim.tbl_deep_extend("force", capabilities, require("cmp_nvim_lsp").default_capabilities())
return capabilities
end
@ -1387,12 +1324,17 @@ in {
bottom_search = false;
command_palette = true;
long_message_to_split = true;
inc_rename = true;
inc_rename = true; # TODO: Doesn't work as I expect (not for LSP rename)
lsp_doc_border = true;
};
lsp = {
progress.enabled = true;
hover.enabled = true;
signature.enabled = false; # Use blink for this
message.enabled = true;
documentation = {
view = "hover";
opts = {
lang = "markdown";
replace = true;
@ -1404,7 +1346,6 @@ in {
conceallevel = 3;
};
};
view = "hover";
};
override = {
@ -2037,18 +1978,21 @@ in {
better-escape # Escape to normal mode using "jk"
catppuccin # Colortheme (also add this here to access palettes)
cellular-automaton # Procrastinate better by watching animations
clangd-extensions
# blink-cmp # Auto completion popups # TODO: Try this instead of cmp
cmp # Auto completion popups
clangd-extensions # Improved clang LSP support
blink-cmp # Fast as fuck auto completion
# colorizer # Colorize color strings # TODO: Only colorize html/css/scss/sass/js
comment # Toggle line- or block-comments
conform # Auto formatting on save
# dadbod # Database interface # TODO:
# dadbod-ui # Dadbod UI # TODO:
dashboard # Dashboard when starting nvim
# dap # Debug adapter protocol # TODO:
# dap-ui # Debugger UI # TODO:
diffview # Git diff # TODO: Check the keybindings
direnv # Automatically load local environments
@ -2076,6 +2020,9 @@ in {
noice # Modern UI overhaul, e.g. floating cmdline
obsidian # Integration with Obsidian.md
oil # File manager
# overseer # Run tasks from within neovim (e.g. cargo) # TODO:
presence # Discord rich presence
quickfix-reflector # Make the quickfix list editable and saveable to apply changes
rainbow-delimiters # Bracket/Paren colorization
@ -2093,7 +2040,7 @@ in {
ufo # Code folding
vimtex # LaTeX support
wakatime # Time tracking
web-devicons
web-devicons # Icons for many plugins
which-key # Live keybinding help
winshift # Move windows around
yanky # Clipboard history

View File

@ -35,7 +35,7 @@
{
home-manager = {
# Values in "extraSpecialArgs" are propagated to all HM modules.
extraSpecialArgs = {inherit inputs hostname username mylib;};
extraSpecialArgs = {inherit inputs system hostname username mylib;};
# Use the "pkgs" from the system configuration.
# This disables "nixpkgs.*" options in HM modules.