0fie / Mika

My Neovim configuration using Nixvim.

Home Page:https://localhost

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I can't do this anymore.



















neovim-flake Logo

Nixvim config

Mika (not to be confused with Maika) is my Neovim config using Nixvim. It includes AI integration, offline spell & grammar checking, code completion, and all the usual stuff like debugging etc.

nvim

More Pics (click to expand)

Telescopenvim

Snippetsnvim

Offline spell & grammar checkingnvim

LSP* plugins for pictograms, emoji etc.nvim

Configuring

To start configuring, just add or modify the nix files in ./config. If you add a new configuration file, remember to add it to the config/default.nix file

Current plugins

Testing your new configuration

To test your configuration simply run the following command

nix run .

If you have nix installed, you can directly run my config from anywhere

You can try running mine with:

nix run 'github:0fie/Mika'

Installing into NixOS configuration

This nixvim flake will output a derivation that you can easily include in either home.packages for home-manager, or environment.systemPackages for NixOS. Or whatever happens with darwin?

You can add my nixvim configuration as an input to your NixOS configuration like:

{
 inputs = {
    nixvim.url = "github:0fie/Mika";
 };
}

Direct installation

With the input added you can reference it directly.

{ inputs, ... }:
{
  # NixOS
  environment.systemPackages = [ inputs.nixvim.packages.${pkgs.system}.default ];
  # home-manager
  home.packages = [ inputs.nixvim.packages.${pkgs.system}.default ];
}

The binary built by nixvim is already named as nvim, so you can call it just like you normally would.

Installing as an overlay

Another method is to overlay your custom build over neovim from nixpkgs.

This method is less straight-forward but allows you to install neovim like you normally would. With this method you would just install neovim in your configuration (home.packges = with pkgs; [ neovim ]), but you replace neovim in pkgs with your derivation from nixvim.

{
  pkgs = import inputs.nixpkgs {
    inherit system;
    overlays = [
      (final: prev: {
        neovim = inputs.nixvim.packages.${pkgs.system}.default;
      })
    ];
  }
}

Bonus lazy method

You can just straight up alias something like nix run "github:0fie/Mika" to nvim.

Credits

  • This is a fork of elythh/nixvim. Most of the files were directly copied from there.
  • yavko for the logo

back to top

About

My Neovim configuration using Nixvim.

https://localhost

License:MIT License


Languages

Language:Nix 100.0%