move neovim to separate module

This commit is contained in:
Julian Mutter 2024-01-30 09:27:02 +01:00
parent 34ea520910
commit 30948764c6
3 changed files with 63 additions and 52 deletions

View File

@ -43,6 +43,7 @@
./home-manager/modules/shell/zsh/default.nix
./home-manager/modules/shell/direnv.nix
./home-manager/modules/topgrade.nix
./home-manager/modules/neovim.nix
];
# Optionally use extraSpecialArgs

View File

@ -13,6 +13,7 @@
direnv.enable = true;
};
topgrade.enable = true;
neovim.enable = true;
};
home.packages = with pkgs; [
@ -39,58 +40,6 @@
# '')
];
programs = {
neovim = let
toLua = str: ''
lua << EOF
${str}
EOF
'';
in {
# https://www.youtube.com/watch?v=YZAnJ0rwREA
enable = true;
viAlias = true;
vimAlias = true;
# vimdiffAlias = true;
plugins = with pkgs.vimPlugins; [
{
plugin = dracula-nvim;
config = "colorscheme dracula";
}
{
plugin = comment-nvim;
config = toLua ''require("Comment").setup()'';
}
# nix file support
vim-nix
# Syntax highlighting
(nvim-treesitter.withPlugins (p: [
p.tree-sitter-nix
p.tree-sitter-vim
p.tree-sitter-bash
p.tree-sitter-lua
p.tree-sitter-python
p.tree-sitter-json
p.tree-sitter-cpp
p.tree-sitter-rust
]))
];
extraConfig = ''
set clipboard=unnamedplus
'';
extraLuaConfig = ''
vim.o.termguicolors = true
'';
};
};
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a

View File

@ -0,0 +1,61 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.modules.neovim;
in {
options.modules.neovim = { enable = mkOption { default = false; }; };
config = mkIf cfg.enable {
programs = {
neovim = let
toLua = str: ''
lua << EOF
${str}
EOF
'';
in {
# https://www.youtube.com/watch?v=YZAnJ0rwREA
enable = true;
viAlias = true;
vimAlias = true;
# vimdiffAlias = true;
plugins = with pkgs.vimPlugins; [
{
plugin = dracula-nvim;
config = "colorscheme dracula";
}
{
plugin = comment-nvim;
config = toLua ''require("Comment").setup()'';
}
# nix file support
vim-nix
# Syntax highlighting
(nvim-treesitter.withPlugins (p: [
p.tree-sitter-nix
p.tree-sitter-vim
p.tree-sitter-bash
p.tree-sitter-lua
p.tree-sitter-python
p.tree-sitter-json
p.tree-sitter-cpp
p.tree-sitter-rust
]))
];
extraConfig = ''
set clipboard=unnamedplus
'';
extraLuaConfig = ''
vim.o.termguicolors = true
'';
};
};
};
}