about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--machines/devhell/gunnr.nix1
-rw-r--r--machines/devhell/hildr.nix1
-rw-r--r--modules/user/devhell/profiles/packages.nix2
-rw-r--r--pkgs/default.nix1
-rw-r--r--pkgs/devhell/default.nix5
-rw-r--r--pkgs/devhell/vim/default.nix80
6 files changed, 87 insertions, 3 deletions
diff --git a/machines/devhell/gunnr.nix b/machines/devhell/gunnr.nix
index 07d214c9..d016eef0 100644
--- a/machines/devhell/gunnr.nix
+++ b/machines/devhell/gunnr.nix
@@ -2,7 +2,6 @@
 
 {
   vuizvui.user.devhell.profiles.base.enable = true;
-  vuizvui.user.devhell.programs.vim.enable = true;
   vuizvui.system.kernel.bfq.enable = true;
 
   boot = {
diff --git a/machines/devhell/hildr.nix b/machines/devhell/hildr.nix
index 980f8510..cf68098f 100644
--- a/machines/devhell/hildr.nix
+++ b/machines/devhell/hildr.nix
@@ -2,7 +2,6 @@
 
 {
   vuizvui.user.devhell.profiles.base.enable = true;
-  vuizvui.user.devhell.programs.vim.enable = true;
   vuizvui.system.kernel.bfq.enable = true;
 
   boot = {
diff --git a/modules/user/devhell/profiles/packages.nix b/modules/user/devhell/profiles/packages.nix
index f0f653ce..93db4409 100644
--- a/modules/user/devhell/profiles/packages.nix
+++ b/modules/user/devhell/profiles/packages.nix
@@ -167,7 +167,6 @@ in {
       ncmpcpp
       neofetch
       neomutt
-      neovim
       nethack
       nethogs
       netrw
@@ -242,6 +241,7 @@ in {
       usbutils
       valgrind
       vanilla-dmz
+      vuizvui.devhell.vim
       virt-viewer
       virtmanager
       vit
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 070ae786..bb2e9531 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -25,6 +25,7 @@ let
     taalo-build = callPackage ./taalo-build { };
 
     aszlig = callPackageScope ./aszlig;
+    devhell = callPackageScope ./devhell;
     openlab = callPackageScope ./openlab;
     profpatsch = callPackageScope ./profpatsch;
     sternenseemann = callPackageScope ./sternenseemann;
diff --git a/pkgs/devhell/default.nix b/pkgs/devhell/default.nix
new file mode 100644
index 00000000..90fe73d2
--- /dev/null
+++ b/pkgs/devhell/default.nix
@@ -0,0 +1,5 @@
+{ callPackage, vim_configurable }:
+
+{
+  vim = callPackage ./vim { };
+}
diff --git a/pkgs/devhell/vim/default.nix b/pkgs/devhell/vim/default.nix
new file mode 100644
index 00000000..968a5ee4
--- /dev/null
+++ b/pkgs/devhell/vim/default.nix
@@ -0,0 +1,80 @@
+{ pkgs ? import <nixpkgs> {} }:
+
+pkgs.vim_configurable.overrideAttrs (drv: {
+  vimrc = pkgs.vimUtils.vimrcFile {
+    packages.myplugins = with pkgs.vimPlugins; {
+      start = [
+        ale
+        awesome-vim-colorschemes
+        delimitMate
+        goyo-vim
+        i3config-vim
+        indentLine
+        lightline-vim
+        limelight-vim
+        sleuth
+        tabular
+        vim-lastplace
+        vim-nix
+        vim-signify
+      ];
+      opt = [ vimtex ];
+    };
+    customRC = ''
+      set nocompatible
+      set showcmd
+      set showmatch
+      set ignorecase
+      set smartcase
+      set incsearch
+      set modeline
+      set smarttab
+      set expandtab
+      set smartindent
+      set ruler
+      set tabstop=4
+      set softtabstop=4
+      set shiftwidth=4
+      set textwidth=79
+      set background=dark
+      set history=500
+      set backspace=indent,eol,start
+      set nu
+      set cursorline
+      set laststatus=2
+      set signcolumn=number
+      set timeout timeoutlen=5000 ttimeoutlen=100
+
+      filetype plugin indent on
+      colorscheme tender
+
+      " signify Settings
+      set updatetime=100
+
+      " indentLine Settings
+      let g:indentLine_char_list = ['|', '¦', '┆', '┊']
+      let g:indentLine_setColors = 1
+      let g:indentLine_fileTypeExclude = ['help', 'main', 'vimfiler', 'json']
+      let g:better_whitespace_filetypes_blacklist = ['diff', 'gitcommit',
+      \ 'help', 'markdown', 'leaderGuide']
+
+      " goyo Settings
+      autocmd! User GoyoEnter Limelight
+      autocmd! User GoyoLeave Limelight!
+
+      " lightline Settings
+      let g:lightline = {'colorscheme': 'deus'}
+      set noshowmode
+
+      " vimtex Settings
+      let g:tex_flavor = 'latex'
+
+      " Autoload
+      autocmd FileType tex :packadd vimtex
+    '';
+  };
+
+  postInstall = (drv.postInstall or "") + ''
+    ln -sf "$vimrc" "$out/share/vim/vimrc"
+  '';
+})