This repository contains my personal configuration NixVim, a Neovim configuration managed with Nix.
You can use this flake as an input:
{
inputs = {
nixvim.url = "github:dc-tec/nixvim"
};
}You can then install the package either normally or through home-manager.
environment.systemPackages = [
inputs.nixvim.packages.x86_64-linux.default
];home-manager.users.<user>.home.packages = [
inputs.nixvim.packages.x86_64-linux.default
];settings.nix: Contains general settings for Neovim.keymaps.nix: Defines key mappings.auto_cmds.nix: Sets up automatic commands.file_types.nix: Configures file type specific settings.
default.nix: Sets the default theme.
cmp.nix: Configures the cmp completion framework.lspkind.nix: Adds icons to lsp completion items.autopairs.nix: Adds the autopairs plugin.schemastore.nix: Adds the schemastore plugin for JSON and YAML schemas.
luasnip.nix: Configures the LuaSnip snippet engine.
neo-tree.nix: Configures the NeoTree file explorer.treesitter.nix: Configures the TreeSitter syntax highlighter.undotree.nix: Configures the UndoTree undo history visualizer.illuminate.nix: Configures the Illuminate plugin for highlighting other uses of the current word under the cursor.indent-blankline.nix: Configures the Indent Blankline plugin for displaying indentation levels.todo-comments.nix: Configures the Todo Comments plugin for highlighting TODO comments.navic.nix: Configures the Navic plugin, shows the current code context.
bufferline.nix: Configures the Bufferline plugin for enhanced buffer/tab display.lualine.nix: Configures Lualine with Git, Jujutsu, and configured-forge context.dashboard.nix: Configures a project-aware Snacks dashboard for review, task, and navigation workflows.
lsp.nix: Configures the Neovim LSP client.go.nix: Configures Go language support, formatting, tests, and debugging.ocaml.nix: Configures project-aware OCaml-LSP and OCamlFormat fallback support.nix.nix: Configures nixd and nixfmt.hcl.nix: Configures OpenTofu LSP/formatting while keeping generic HCL schema-neutral.yaml.nix: Configures SchemaStore-backed YAML and Helm language support.rust.nix: Configures Rustaceanvim, Neotest integration, and Rust-specific actions.conform.nix: Configures the Conform plugin for automatic code formatting.fidget.nix: Configures the Fidget plugin for displaying LSP diagnostics in the status line.
codediff.nix: Configures a read-only review workflow for working-tree, branch, and commit-history diffs.jj.nix: Configures Jujutsu commands and key mappings.lazygit.nix: Configures the LazyGit plugin for Git integration.gitsigns.nix: Configures GitSigns diff markers, hunk navigation, inline previews, blame, and word diffs.
trouble.nix: Provides persistent diagnostics, quickfix, location-list, and TODO triage views.overseer.nix: Runs bounded, repo-aware validation tasks while keeping persistent sessions in cmux.telescope.nix: Configures the Telescope plugin for fuzzy finding and picking.whichkey.nix: Configures the WhichKey plugin for displaying key mappings.extra_plugins.nix: Configures additional plugins.mini.nix: Configures the Mini plugin.obsidian.nix: Confiugres the Obsidian plugin, for note-taking purposes.markdown-preview.nix: Configures the Markdown Preview plugin.toggleterm.nix: Provides a floating scratch terminal; cmux owns persistent panes and sessions.
Please refer to the individual .nix files for more detailed configuration information.
This configuration has taken inspiration from the following contributors.
