about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authordevhell <devhell@mailfresser.de>2023-04-05 21:14:33 +0100
committerdevhell <devhell@mailfresser.de>2023-04-05 21:15:51 +0100
commit7cef6a096dd42440952f8e5edb6c5813dec28766 (patch)
tree6ffa62084f4eb9003417a14300f1f1774e3a75e5 /pkgs
parentd516484f47eaa3553e1f7812d32ef1ea633212a4 (diff)
pkgs/nvim: init
This is just a test for now. I'm sure the config is ridiculous, but
it'll do for the moment.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/devhell/default.nix1
-rw-r--r--pkgs/devhell/nvim/default.nix73
2 files changed, 74 insertions, 0 deletions
diff --git a/pkgs/devhell/default.nix b/pkgs/devhell/default.nix
index 90fe73d2..d32cf97a 100644
--- a/pkgs/devhell/default.nix
+++ b/pkgs/devhell/default.nix
@@ -2,4 +2,5 @@
 
 {
   vim = callPackage ./vim { };
+  nvim = callPackage ./nvim { };
 }
diff --git a/pkgs/devhell/nvim/default.nix b/pkgs/devhell/nvim/default.nix
new file mode 100644
index 00000000..9cc0dcdc
--- /dev/null
+++ b/pkgs/devhell/nvim/default.nix
@@ -0,0 +1,73 @@
+{ pkgs ? import <nixpkgs> {} }:
+
+pkgs.neovim-unwrapped.overrideAttrs (drv: {
+  vimrc = pkgs.vimUtils.vimrcFile {
+    packages.myplugins = with pkgs.vimPlugins; {
+      start = [
+        mini-nvim
+        ccc-nvim
+        tender-vim
+        vim-nix
+        vim-sleuth
+        swayconfig-vim
+        nvim-lastplace
+        delimitMate
+        gitsigns-nvim
+        zen-mode-nvim
+        twilight-nvim
+        nvim-web-devicons
+        indent-blankline-nvim
+      ];
+      opt = [ ];
+    };
+    customRC = ''
+     filetype plugin indent on
+     set termguicolors
+     set autoindent
+     set background=dark
+     set cc=80
+     set cursorline
+     set expandtab
+     set history=500
+     set hlsearch
+     set ignorecase
+     set incsearch
+     set modeline
+     set nocompatible
+     set number
+     set ruler
+     set laststatus=2
+     set signcolumn=number
+     set timeout timeoutlen=5000 ttimeoutlen=100
+     set shiftwidth=4
+     set showcmd
+     set showmatch
+     set smartcase
+     set smartindent
+     set smarttab
+     set softtabstop=4
+     set tabstop=4
+     set ttyfast
+     set signcolumn=auto
+     syntax on
+     colorscheme tender
+
+     lua require('mini.indentscope').setup()
+     lua require('mini.trailspace').setup()
+     lua require('mini.cursorword').setup()
+     lua require('mini.completion').setup()
+     lua require('mini.statusline').setup()
+     lua require('mini.surround').setup()
+     lua require('mini.pairs').setup()
+     lua require('mini.map').setup()
+     lua require('nvim-lastplace').setup()
+     lua require('nvim-web-devicons').setup()
+     lua require('gitsigns').setup()
+     lua require('ccc').setup()
+    '';
+  };
+
+  postInstall = (drv.postInstall or "") + ''
+    ln -sf "$vimrc" "$out/share/nvim/sysinit.vim"
+  '';
+})