about summary refs log tree commit diff
diff options
context:
space:
mode:
authordevhell <devhell@mailfresser.de>2020-11-03 20:01:20 +0000
committerdevhell <devhell@mailfresser.de>2020-11-03 20:01:20 +0000
commit398b64dd7dea2dd3ed9ae3b71010b5c34bf12f68 (patch)
treeebabe710032cc5e7965c68db96e2ad5ae24afa48
parent9ac9166d6a9398bbf31b6e3d0f30a835226c854c (diff)
modules/programs: Add vim
This is in preparation of me leaving SpaceVim behind and not having to
rely on external sources for certain programs, such as Vim, when
installing a new machine.
-rw-r--r--machines/devhell/hildr.nix1
-rw-r--r--modules/module-list.nix1
-rw-r--r--modules/user/devhell/programs/vim/default.nix57
3 files changed, 59 insertions, 0 deletions
diff --git a/machines/devhell/hildr.nix b/machines/devhell/hildr.nix
index fb96b131..15102561 100644
--- a/machines/devhell/hildr.nix
+++ b/machines/devhell/hildr.nix
@@ -2,6 +2,7 @@
 
 {
   vuizvui.user.devhell.profiles.base.enable = true;
+  vuizvui.user.devhell.programs.vim.enable = false;
   vuizvui.system.kernel.bfq.enable = true;
 
   boot = {
diff --git a/modules/module-list.nix b/modules/module-list.nix
index 0122ce3d..ebca5157 100644
--- a/modules/module-list.nix
+++ b/modules/module-list.nix
@@ -29,6 +29,7 @@
   ./user/devhell/profiles/base.nix
   ./user/devhell/profiles/packages.nix
   ./user/devhell/profiles/services.nix
+  ./user/devhell/programs/vim
   ./user/openlab/base.nix
   ./user/openlab/labtops.nix
   ./user/openlab/speedtest.nix
diff --git a/modules/user/devhell/programs/vim/default.nix b/modules/user/devhell/programs/vim/default.nix
new file mode 100644
index 00000000..c21fed6a
--- /dev/null
+++ b/modules/user/devhell/programs/vim/default.nix
@@ -0,0 +1,57 @@
+{ config, pkgs, lib, ... }:
+
+let
+	cfg = config.vuizvui.user.devhell.programs.vim;
+
+  environment.variables = { EDITOR = "vim"; };
+
+  environment.systemPackages = with pkgs; [
+    (vim_configurable.override.customize {
+      name = "vim";
+      vimrcConfig.packages.myplugins = with pkgs.vimPlugins; {
+        start = [
+					awesome-color-scheme
+          calendar
+          delimitMate
+          goyo
+          i3config-vim
+          latex-box
+          lightline
+          limelight
+          vim-addon-nix
+          vim-nix
+          vim-signify
+          vim-sensible
+        ];
+        opt = [];
+      };
+      vimrcConfig.customRC = ''
+        set nocompatible
+        set showcmd
+        set showmatch
+        set ignorecase
+        set smartcase
+        set incsearch
+        set smarttab
+        set expandtab
+        set smartindent
+        set ruler
+        set tabstop = 4
+        set softtabstop = 4
+        set textwidth = 79
+        set background = dark
+        set history = 500
+        set backspace = indent,eol,start
+      '';
+    }
+  )];
+
+in {
+	options.vuizvui.user.devhell.programs.vim = {
+		enable = lib.mkEnableOption "devhell's Vim";
+	};
+
+	config = lib.mkIf cfg.enable {
+		environment.systemPackages = [ pkgs.vim ];
+	};
+}