{
pkgs,
lib,
...
}: {
imports = [
./autocmds
./clipboard
./files
./mappings
./options
./plugins
];
programs.nixvim = {
enable = true;
# source: https://www.patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=Neovim
extraConfigLuaPre = lib.mkBefore ''
---------------------------------------------------------------------------
--
-- ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
-- ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
-- ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
-- ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
-- ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
-- ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
--
---------------------------------------------------------------------------
'';
extraPackages = with pkgs; [
/*
These are mostly linters and formatters used for different file types.
Including them here is fine, as they are not necessarily sync able to different people.
*/
# nix
alejandra
statix
# yaml
yamllint
# shell
shellcheck
shfmt
];
};
}