2024-07-06 15:15:37 +02:00
|
|
|
{
|
2024-07-07 23:45:18 +02:00
|
|
|
pkgs,
|
2024-07-06 17:14:45 +02:00
|
|
|
config,
|
2024-07-06 15:53:16 +02:00
|
|
|
lib,
|
2024-07-06 17:14:45 +02:00
|
|
|
inputs,
|
2024-07-06 15:53:16 +02:00
|
|
|
...
|
2024-07-06 15:15:37 +02:00
|
|
|
}: let
|
|
|
|
inherit (builtins) filter map toString elem;
|
|
|
|
inherit (lib.filesystem) listFilesRecursive;
|
|
|
|
inherit (lib.strings) hasSuffix;
|
2024-07-06 15:53:16 +02:00
|
|
|
inherit (lib.lists) concatLists;
|
2024-07-06 15:15:37 +02:00
|
|
|
|
2024-07-06 15:53:16 +02:00
|
|
|
mkNeovimModule = {
|
|
|
|
path,
|
2024-07-07 23:45:18 +02:00
|
|
|
ignoredPaths ? [./nvf.nix ./plugins/sources/default.nix ./plugins],
|
2024-07-06 15:15:37 +02:00
|
|
|
}:
|
|
|
|
filter (hasSuffix ".nix") (
|
|
|
|
map toString (
|
2024-07-07 23:45:18 +02:00
|
|
|
filter (path: path != ./default.nix && !elem path ignoredPaths) (listFilesRecursive path)
|
2024-07-06 15:53:16 +02:00
|
|
|
)
|
|
|
|
);
|
2024-07-06 15:15:37 +02:00
|
|
|
|
|
|
|
nvf = inputs.neovim-flake;
|
|
|
|
in {
|
2024-07-07 23:45:18 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
typstyle
|
|
|
|
];
|
|
|
|
imports = concatLists [
|
2024-07-06 15:15:37 +02:00
|
|
|
# neovim-flake home-manager module
|
2024-07-06 17:14:45 +02:00
|
|
|
[nvf.nixosModules.default]
|
2024-07-07 23:45:18 +02:00
|
|
|
# [./plugins/settings/ui.nix]
|
|
|
|
# [./plugins/settings/filetree.nix]
|
|
|
|
# [
|
|
|
|
# ./plugins/settings/autocomplete.nix
|
|
|
|
# ./plugins/settings/visuals.nix
|
|
|
|
# ./plugins/settings/autopairs.nix
|
|
|
|
# ./plugins/settings/binds.nix
|
|
|
|
# ./plugins/settings/comments.nix
|
|
|
|
# ./plugins/settings/dashboard.nix
|
|
|
|
# ./plugins/settings/debugger.nix
|
|
|
|
# ./plugins/settings/languages.nix
|
|
|
|
# ./plugins/settings/lsp.nix
|
|
|
|
# ./plugins/settings/telescope.nix
|
|
|
|
# ./plugins/settings/notes.nix
|
|
|
|
# ./plugins/settings/notify.nix
|
|
|
|
# ./plugins/settings/projects.nix
|
|
|
|
# ./plugins/settings/statusline.nix
|
|
|
|
# ./plugins/settings/tabline.nix
|
|
|
|
# ./plugins/settings/theme.nix
|
|
|
|
# ./plugins/settings/treesitter.nix
|
|
|
|
# ./plugins/settings/utility.nix
|
|
|
|
# ./plugins/settings/git.nix
|
2024-07-06 15:15:37 +02:00
|
|
|
# construct this entore directory as a module
|
|
|
|
# which means all default.nix files will be imported automtically
|
|
|
|
(mkNeovimModule {path = ./.;})
|
|
|
|
];
|
2024-07-06 15:53:16 +02:00
|
|
|
}
|