summaryrefslogtreecommitdiff
path: root/profiles/core
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2023-10-09 16:10:56 +0000
committerMike Vink <mike1994vink@gmail.com>2023-10-09 16:10:56 +0000
commit9f587b692460a14e5a3f3f1a289110dd2a1795b7 (patch)
tree0762d8be74cb07f9e2e21e3a794aa9e435ef449a /profiles/core
parentbf59bf60a2361c08488c0540628524265b4dd3ae (diff)
fixup
Diffstat (limited to 'profiles/core')
-rw-r--r--profiles/core/meta.nix8
-rw-r--r--profiles/core/neovim.nix89
2 files changed, 97 insertions, 0 deletions
diff --git a/profiles/core/meta.nix b/profiles/core/meta.nix
new file mode 100644
index 0000000..3f1d334
--- /dev/null
+++ b/profiles/core/meta.nix
@@ -0,0 +1,8 @@
+{inputs,lib,config, ...}: with lib; {
+ lib.meta = {
+ configPath = "${config.users.users.mike.home}/flake";
+ mkMutableSymlink = path:
+ config.hm.lib.file.mkOutOfStoreSymlink
+ (config.lib.meta.configPath + removePrefix (toString inputs.self) (toString path));
+ };
+}
diff --git a/profiles/core/neovim.nix b/profiles/core/neovim.nix
new file mode 100644
index 0000000..5cca7f0
--- /dev/null
+++ b/profiles/core/neovim.nix
@@ -0,0 +1,89 @@
+{
+ inputs,
+ config,
+ pkgs,
+ ...
+}: {
+ hm = {
+ xdg = {
+ configFile = with config.lib.meta; {
+ "nvim".source = mkMutableSymlink /mut/neovim;
+ };
+ };
+
+ editorconfig = {
+ enable = true;
+ settings = {
+ "*" = {
+ trim_trailing_whitespace = true;
+ insert_final_newline = true;
+ };
+ "*.yaml" = {
+ indent_style = "space";
+ indent_size = 2;
+ };
+ };
+ };
+
+ programs.neovim = {
+ enable = true;
+ package = pkgs.neovim-unwrapped;
+ viAlias = true;
+ vimAlias = true;
+ extraPackages = with pkgs; [
+ bashInteractive
+ sumneko-lua-language-server
+ pyright
+ gopls
+ fennel
+ fnlfmt
+ alejandra
+ statix
+ ];
+ plugins = with pkgs.vimPlugins; [
+ # highlighting
+ nvim-treesitter.withAllGrammars
+ nvim-treesitter-context
+ playground
+ gruvbox-material
+ kanagawa-nvim
+ lsp_lines-nvim
+ gitsigns-nvim
+ vim-helm
+
+ # external
+ vim-dirvish
+ vim-fugitive
+ vim-oscyank
+ venn-nvim
+ gv-vim
+
+ # Coding
+ plenary-nvim
+ telescope-nvim
+ nvim-lspconfig
+ null-ls-nvim
+ lsp_signature-nvim
+ nvim-dap
+ nvim-dap-ui
+ luasnip
+ vim-test
+ vim-rest-console
+
+ # cmp
+ nvim-cmp
+ cmp-cmdline
+ cmp-nvim-lsp
+ cmp-buffer
+ cmp-path
+ cmp_luasnip
+
+ # trying out lisp
+ conjure
+ vim-racket
+ nvim-parinfer
+ hotpot-nvim
+ ];
+ };
+ };
+}