y3owk1n / k92-nvim

Neovim configuration build using nixvim with stripped off LazyVim features that only matters to me.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

k92-nvim

Neovim configuration build using nixvim with stripped off LazyVim features that only matters to me.

Probably not using this for full time, until lazy loading is implemented and the issue can be found here 👉🏼 Lazy loading #421. In my opinion, everything i need can be configured within nixvim, but the startup time is still something concerning me.

Screenshot 2024-01-13 at 11 32 28 PM

Plugins included

  • cmp
  • codeium (vim version)
  • catppuccin
  • comment-nvim
  • conform
  • fidget
  • gitsigns
  • harpoon
  • inc-rename
  • lint
  • lsp
  • lualine
  • luasnip
  • neogen
  • neotree
  • nvim-cmp
  • surround
  • telescope
  • tmux-navigator
  • treesitter-context
  • treesitter-textobjects
  • treesitter
  • trouble
  • ts-autotag
  • ts-context-commentstring
  • undotree
  • which-key
  • yanky

This will also automatically install the following lsp servers

  • biome (auto detect biome.json or use prettierd for formatting)
  • eslint
  • jsonls
  • lua-ls
  • marksman
  • nil_ls
  • prismals
  • tailwindcss
  • tsserver
  • yamlls

This will also automatically install some linters and formatters

  • markdownlint-cli
  • yamllint
  • prettierd
  • nixfmt
  • nixpkgs-fmt
  • luajitPackages.luacheck
  • stylua
  • codespell
  • beautysh
  • shellcheck

How to Run

You can run this directly from the command line with:

nix run github:y3owk1n/k92-nvim

You can also plug this into a flake to include it into a system configuration.

{
  inputs = {
    k92.url = "github:y3owk1n/k92-nvim";
  };
}

This input can then be used as an overlay to replace the default neovim.

{ k92-nvim, ... }:
{
    overlays = (final: prev: {
      neovim = k92-nvim.packages.${prev.system}.default;
    });
}

The way that I am using this package

# flake.nix

{
  ...
  inputs = {
    ...other inputs (e.g. nixpkgs, home-manager, darwin, ...)

    k92-nvim.url = "github:y3owk1n/k92-nvim"; <- import this flake
  };

  outputs = inputs@{ nixpkgs, home-manager, darwin, k92-nvim, ... }:
  ...rest of outputs configuration
}

I'm using this with darwin configuration.

# modules/darwin.nix

{ pkgs, username, system, inputs, ... }: {
  ...imports

  environment.systemPackages = [ inputs.k92-nvim.packages.${system}.default ]; <- add it to system packages
}

About

Neovim configuration build using nixvim with stripped off LazyVim features that only matters to me.

License:MIT License


Languages

Language:Nix 100.0%