diff --git a/nixos/pkgs/default.nix b/nixos/pkgs/default.nix
index 3fba7c2c940f3855f3edc3269205c253f1814964..474cd5b4463bd09a3d117c6a9c85d5c949d65ed4 100644
--- a/nixos/pkgs/default.nix
+++ b/nixos/pkgs/default.nix
@@ -9,6 +9,7 @@ let
     #mypkg = haskell.packages.ghc865.callPackage ./mypkg { };
     dotnet-sdk = callPackage ./dotnet-sdk { };
     haskell-ide-engine = (import ./haskell-ide-engine { inherit pkgs; }).haskell-ide-engine;
+    neovim = (import ./neovim {inherit pkgs; }).neovim;
   };
 
 in newpkgs
diff --git a/nixos/pkgs/neovim/default.nix b/nixos/pkgs/neovim/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5c9e9f2a7ee335c976b4bbd32c4ab725e9b56963
--- /dev/null
+++ b/nixos/pkgs/neovim/default.nix
@@ -0,0 +1,22 @@
+{ pkgs }:
+{
+  neovim = pkgs.neovim.override {
+    configure = {
+      customRC = ''
+        inoremap fd <Esc>
+        vnoremap fd <Esc>
+
+        set shiftwidth=2
+        set expandtab
+        set shiftround
+
+        set smartindent
+        filetype plugin indent on
+      '';
+      packages.myVimPackage = with pkgs.vimPlugins; {
+        start = [ vim-sneak ];
+        opt = [ ];
+      };
+    };
+  };
+}
\ No newline at end of file