a full-featured, self-contained, and fully nixed neovim configuration
you can actually run this configuration without installing it:
nix run github:redxtech/tu
or you can install it with nix:
{
inputs.tu.url = "github:redxtech/tu";
...,
system.environmentPackages = [
tu.packages.${system}.default
];
}
tu
comes with a lot of features, as i'm a big fan of plugins. at some point, i
will make most of them optional, but for now, they are all enabled.
- completion with
blink.cmp
- new completion engine to replace
nvim-cmp
. uses a custom fuzzy searcher. performance is improved through use of good algorithms in rust. blink.nvim
comes with a couple other plugins:blink.chartoggle
: toggles;
and,
at end of lineblink.indent
: fast version of indent-blanklineblink.tree
: fast file tree, inspired byneo-tree
- soon:
blink.select
: fast, simple, picker
- new completion engine to replace
- language servers
- language servers for a large number of languages
- lsp progress notififications (fidget)
- rename, go to definition, and references, etc.
- preview definition/references in floating window
- better diagnostics ui, with trouble, diagflow, and lsp_lines
- linting and formatting
- uses conform as a wrapper for many formatters
- ui customization
dracula.nvim
: my fork of the classic colorschemebufferline.nvim
incline.nvim
(winbar)lualine.nvim
noice
nvim-notify
dashboard.nvim
rainbow-delimiters.nvim
- git integration:
- neogit
- gitsigns
- fugit2 (currenly disabled, behind the
fugit
category)
- code completion/predition with
supermaven-nvim
. it has been significantly better thancopilot
- session & project management with
neovim-project
&neovim-session-manager
- a bunch of utility plugins
- nix-reaver.nvim: my own plugin for updating
fetchFromGitHub
's rev and hash nvim-navbuddy
: navigate through buffer, withnavic
assistancetoggleterm.nvim
: toggleable terminaloverseer.nvim
: task runnerinc-rename.nvim
: visual renamelightbulb.nvim
: show icon when code actions are availablenix-develop.nvim
: runnix develop
without restarting neovimmarkview.nvim
: markdown previewmoveline.nvim
: move blocks of textsilicon.nvim
: screenshots of code- even more!
- nix-reaver.nvim: my own plugin for updating
support for a lot of languages is included by default:
- lua
- nix
- rust
- web
- javascript
- typescript
- jsx & tsx
- json
- html
- css
- json
- graphql
- vue
- svelte
- shell
- python
- deno
- go
- c(pp)
- markdown
- docker
- yaml
- toml
- terraform
- protobuf
the main tu
binary, which has all the plugins enabled.
a development version of tu
, which has all the plugins installed, but reads
config from ~/.config/tu
, which allows you to change the lua configuration without
having to rebuild the entire package.
this is useful for when you're testing changes to the lua configuration, as you can quickly test changes without waiting.
plugins are still installed with lazy.nvim
if they aren't provided by nix, so you
can try out new plugins without having to add the plugin package to the nix config.
this is the base tu
binary, but with the profile.nvim
plugin enabled. it will
start profiling as soon as you start neovim, and will stop profiling when you
press <leader>q
.
if you don't use nix, you can still use tu
via the appimage!
it's quite large, but it has everything you need. language servers, binaries, everything.
you can download the latest appimage from the releases page.