a full-featured, self-contained, and fully nixed neovim configuration
you can actually run this configuration without installing it:
nix run github:redxtech/tuor 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.nvimcomes 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 efm-langserver as a wrapper for many formatters
- ui customization
dracula.nvim: my fork of the classic colorschemebufferline.nvimincline.nvim(winbar)lualine.nvimnoicenvim-notify
dashboard.nvimblink.pairs(rainbow delimiters & auto-pairs)
- git integration:
- neogit
- gitsigns
- 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, withnavicassistancetoggleterm.nvim: toggleable terminaloverseer.nvim: task runnerlive-rename.nvim: visual rename feedbacklightbulb.nvim: show icon when code actions are availablenix-develop.nvim: runnix developwithout restarting neovimmoveline.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
- 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.