No description
Find a file
Wael Nasreddine 879977be4b
flake: fix the check (#61)
The flake is missing nixvimLib, and the [simple template][tmpl] upstream
has changed since this repository was created. Align it with upstream to
fix the nix flake issue.

(cherry picked from commit 97facc071fd3408809bf74d32926ac9f14b550b7)

Co-authored-by: Roel de Cort <63876068+dc-tec@users.noreply.github.com>
2024-11-26 09:50:34 +01:00
.docs/images feat: add toggleterm, markdown preview keymaps, lualine switch filename and navic (#23) 2024-08-20 00:03:30 +02:00
.github/workflows chore(deps): update renovatebot/github-action action to v41 (#55) 2024-11-26 09:47:17 +01:00
config Git: ignore pre-commit configuration and nix build results (#58) 2024-11-26 09:48:25 +01:00
.gitignore Git: ignore pre-commit configuration and nix build results (#58) 2024-11-26 09:48:25 +01:00
flake.lock deps: update flake.lock (#51) 2024-11-13 00:47:10 +01:00
flake.nix flake: fix the check (#61) 2024-11-26 09:50:34 +01:00
LICENSE Initial commit 2024-04-13 00:16:30 +02:00
README.md feat: add schemastore (#26) 2024-09-01 02:05:10 +02:00
renovate.json5 patch: fix renovate config (#27) 2024-09-01 21:14:54 +02:00

NixVim Configuration

This repository contains my personal configuration NixVim, a Neovim configuration managed with Nix.

Neovim

How to use

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.

Normal:

environment.systemPackages = [
    inputs.nixvim.packages.x86_64-linux.default
];

Home-Manager

home-manager.users.<user>.home.packages = [
    inputs.nixvim.packages.x86_64-linux.default
];

Plugins

General Configuration

  • 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.

Themes

  • default.nix: Sets the default theme.

Completion

  • cmp.nix: Configures the cmp completion framework.
  • cmp-copilot.nix: Adds GitHub Copilot support to cmp.
  • 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.

Snippets

  • luasnip.nix: Configures the LuaSnip snippet engine.

Editor Plugins and Configurations

  • 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.
  • copilot-chat.nix: Configures the Copilot Chat plugin for interacting with GitHub Copilot.
  • navic.nix: Configures the Navic plugin, shows the current code context.

UI Plugins

  • bufferline.nix: Configures the Bufferline plugin for enhanced buffer/tab display.
  • lualine.nix: Configures the Lualine status line plugin.
  • startup.nix: Configures the startup screen.

LSP

  • lsp.nix: Configures the Neovim LSP client.
  • conform.nix: Configures the Conform plugin for automatic code formatting.
  • fidget.nix: Configures the Fidget plugin for displaying LSP diagnostics in the status line.

Git

  • lazygit.nix: Configures the LazyGit plugin for Git integration.
  • gitsigns.nix: Configures the GitSigns plugin for displaying Git diff information.

Utils

  • 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: Configures Terminal plugin.

Please refer to the individual .nix files for more detailed configuration information.

References

This configuration has taken inspiration from the following contributors.