Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tu

a full-featured, self-contained, and fully nixed neovim configuration

installation

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
    ];
}

features

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.

core

  • 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 line
      • blink.indent: fast version of indent-blankline
      • blink.tree: fast file tree, inspired by neo-tree
      • soon: blink.select: fast, simple, picker
  • 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 colorscheme
    • bufferline.nvim
    • incline.nvim (winbar)
    • lualine.nvim
    • noice
      • nvim-notify
    • dashboard.nvim
    • blink.pairs (rainbow delimiters & auto-pairs)
  • git integration:
    • neogit
    • gitsigns
  • code completion/predition with supermaven-nvim. it has been significantly better than copilot
  • 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, with navic assistance
    • toggleterm.nvim: toggleable terminal
    • overseer.nvim: task runner
    • live-rename.nvim: visual rename feedback
    • lightbulb.nvim: show icon when code actions are available
    • nix-develop.nvim: run nix develop without restarting neovim
    • moveline.nvim: move blocks of text
    • silicon.nvim: screenshots of code
    • even more!

languages

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

provided binaries

tu

the main tu binary, which has all the plugins enabled.

tu-dev

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.

tu-profile

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.

About

yipeeeeeeeeeeeeeeee

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages