diff --git a/modules/programs/zsh.nix b/modules/programs/zsh.nix index ddfee64..bf1259d 100644 --- a/modules/programs/zsh.nix +++ b/modules/programs/zsh.nix @@ -51,10 +51,11 @@ in }; }; - perSystem = { pkgs, ... }: { + perSystem = { system, pkgs, ... }: { packages.jsl-zsh = inputs.wrapper-modules.wrappers.zsh.wrap { inherit pkgs; extraPackages = with pkgs; [ + inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.neovim-min btop coreutils curl @@ -63,5 +64,115 @@ in zsh ]; }; + + packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration { + inherit pkgs; + modules = [ + { + # https://nvf.notashelf.dev/search.html + config.vim = { + options = { + number = true; + relativenumber = true; + expandtab = true; + shiftwidth = 4; + tabstop = 4; + softtabstop = 4; + + wrap = true; + linebreak = true; + }; + + syntaxHighlighting = true; + + # Enable custom theming options + theme.enable = true; + theme.name = "catppuccin"; + theme.style = "mocha"; + + git.enable = true; + # git.neogit.enable = true; + + # https://github.com/akinsho/toggleterm.nvim + terminal.toggleterm.enable = true; + terminal.toggleterm.lazygit.enable = true; + terminal.toggleterm.lazygit.direction = "float"; + terminal.toggleterm.lazygit.mappings.open = ""; + + utility.nix-develop.enable = true; + + filetree.neo-tree.enable = true; + + telescope = { + enable = true; + extensions = [ + { + name = "fzf"; + packages = [pkgs.vimPlugins.telescope-fzf-native-nvim]; + setup = {fzf = {fuzzy = true;};}; + } + ]; + }; + + languages = { + enableTreesitter = true; + enableFormat = true; + + markdown = { + enable = true; + extensions = { + markview-nvim.enable = true; + }; + }; + + bash.enable = true; + yaml.enable = true; + toml.enable = true; + nix.enable = true; + }; + + keymaps = [ + { + desc = "Edit key mappings"; + key = "ekm"; + mode = [ "n" ]; + silent = false; + action = ":edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix"; + } + { + desc = "Home Manager Switch"; + key = "nhms"; + mode = [ "n" ]; + silent = false; + action = ":TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float"; + } + { + desc = "Key Maps [Telescope]"; + key = "fkm"; + mode = "n"; + silent = false; + action = ":Telescope keymaps"; + } + { + desc = "Toggle Filesystem Tree [NeoTree]"; + key = ""; + mode = [ "n" "v" "t" ]; + silent = false; + action = ":Neotree toggle filesystem left action=show"; + } + { + key = ""; + mode = ["n" "v" "t"]; + silent = false; + action = ":ToggleTerm"; + } + ]; + }; + } + ]; + }).neovim).overrideAttrs (old: { + pname = "neovim-min"; + version = "custom"; + }); }; } \ No newline at end of file