No description
Find a file
Roel de Cort 56740db4be
chore: Update flake, fix issues after updating and fix flake update action (#88)
Was running behind with the updating the config, all flake inputs have
been updated and produced error's and warnings have been fixed.

Also fixed the action to test the build and create an issue with the
results.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-07 22:29:43 +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: Update flake, fix issues after updating and fix flake update action (#88) 2025-03-07 22:29:43 +01:00
config chore: Update flake, fix issues after updating and fix flake update action (#88) 2025-03-07 22:29:43 +01:00
.envrc direnv: create .envrc and load the flake (#59) 2024-11-26 09:51:05 +01:00
.gitignore patch: update gitignore and fixed issue in flake.nix (#62) 2024-11-26 10:03:36 +01:00
flake.lock chore: Update flake, fix issues after updating and fix flake update action (#88) 2025-03-07 22:29:43 +01:00
flake.nix patch: update gitignore and fixed issue in flake.nix (#62) 2024-11-26 10:03:36 +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.