diff --git a/README.md b/README.md index 4f56083..0bab1f9 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,19 @@ Built using vim.pack and lots of mini plugins ## Installation -### Try with no install -Run the following command: +This config uses nix-wrapper-modules to forego needing to install dotfiles at all. This results in a cleaner, +more consistent experience across systems, in order to make it available to a dendritic nix environment. + +### Trying +To try the config: ```bash -nix run git+https://git.voidarc.co.uk/voidarc/nvim#remote +nix run git+https://git.voidarc.co.uk/voidarc/nvim ``` -This will use NVIM_APPNAME="nvim-remote", and pull config from the git repo without you having to install it to your system. -You will have to wait for the initial plugin install, so I advise just pressing "always" when prompted. Due to autocommands, -when the plugins have installed you will have to restart nvim with the same run command to enter the editor properly. -### Install into nix config without adding config +### Installing -You can add the repo to your flake like this: +Add the input to your flake: ```nix { inputs = { @@ -22,34 +22,20 @@ You can add the repo to your flake like this: } } ``` -And then add this to your package list: -```nix -inputs.nvim-voidarc.packages.${stdenv.hostPlatform.system}.remote -``` -I don't recommend making it follow the system nixpkgs as treesitter needs unstable in order to work properly. -### Install into nix config and add local config - -Clone this repo into your nvim config directory (make sure to back up beforehand): -``` -git clone https://git.voidarc.co.uk/voidarc/nvim ~/.config/nvim -``` -Then add that folder as an input to your flake: -```nix -{ - inputs = { - nvim-voidarc.url = "git+file:///home/username/.config/nvim"; - } -} -``` -Adjust the path and the username to what they are on your system. The input should be the path of the directory -that contains the flake, in this case the flake's path would be `/home/username/.config/nvim/flake.nix`. - -Then add the default package to your system package: +And then add the package to your system config: ```nix inputs.nvim-voidarc.packages.${stdenv.hostPlatform.system}.default ``` -Adding the remote package here will still work, but defeats the point of cloning it locally. +There is also a `minimal` output that doesn't install any lsps, only installing required pacakges so that the plugins +function correctly (ripgrep, luarocks, luajit, etc) + +### Editing and Developing + +You can clone this repo to `.config/nvim`, and then use a nix-shell to use a local config instead of the provided +bundled binary. This is useful if you want to make modifications to the config and don't want to wait for a push +and rebuild to see your changes. This is the only reason I kept the main config in lua, other than having to rewrite +it in general. ## Usage diff --git a/flake.nix b/flake.nix index 1e16806..1a22928 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,22 @@ runtimePkgs = pkgList; settings.config_directory = ./.; }; + minimal = inputs.wrappers.wrappers.neovim.wrap { + inherit pkgs; + env = { + "CONFIG_ROOT" = ./.; + "NVIM_APPNAME" = "nvim-voidarc-remote"; + }; + runtimePkgs = with pkgs; [ + lua5_1 + tree-sitter + ripgrep + gcc + fzf + luarocks + ]; + settings.config_directory = ./.; + }; } ); };