diff --git a/.github/README.md b/.github/README.md index 22c56198..33304fdb 100644 --- a/.github/README.md +++ b/.github/README.md @@ -43,6 +43,7 @@
+[Features]: #features
[Get Started]: #get-started
[Documentation]: #documentation
[Help]: #help
@@ -50,6 +51,7 @@
[FAQ]: #faq
[Credits]: #credits
+**[
Features
][Features]**
**[
Get Started
][Get Started]**
**[
Documentation
][Documentation]**
**[
Help
][Help]**
@@ -60,6 +62,19 @@
---
+## Features
+
+- **Reproducible**: Your configuration will behave the same anywhere. No
+ surprises, promise!
+- **Portable**: nvf depends _solely_ on your Nix store, and nothing else. No
+ more global binaries! Works on all platforms, without hassle.
+- **Customizable**: There are _almost no defaults_ to annoy you. nvf is fully
+ customizable through the Nix module system.
+- **Well-documented**: Documentation is priority. You will never face
+ undocumented, obscure behaviour.
+- **Idiomatic**: nvf does things _the right way_. The codebase is, and will,
+ remain maintainable.
+
## Get Started
If you are not sold on the concepts of **nvf**, and would like to try out the
@@ -106,7 +121,7 @@ The _recommended_ way of installing **nvf** is using either the NixOS or the
Home-Manager module, though it is completely possible and no less supported to
install **nvf** as a standalone package, or a flake output.
-See the [**nvf** Manual] for detailed and up-to-date installation guides,
+See the [**nvf** manual] for detailed and up-to-date installation guides,
configurations, available options, release notes and more. Tips for installing
userspace plugins is also contained in the documentation.
diff --git a/configuration.nix b/configuration.nix
index 08b0f9b6..b21b26aa 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -19,6 +19,7 @@ isMaximal: {
lspsaga.enable = false;
trouble.enable = true;
lspSignature.enable = true;
+ otter-nvim.enable = isMaximal;
lsplines.enable = isMaximal;
nvim-docs-view.enable = isMaximal;
};
@@ -155,7 +156,7 @@ isMaximal: {
};
utility = {
- ccc.enable = isMaximal;
+ ccc.enable = false;
vim-wakatime.enable = false;
icon-picker.enable = isMaximal;
surround.enable = isMaximal;
diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md
index d93bb2c6..55746f2b 100644
--- a/docs/release-notes/rl-0.7.md
+++ b/docs/release-notes/rl-0.7.md
@@ -202,3 +202,5 @@ everyone.
[Soliprem](https://github.com/Soliprem)
- Add LSP and Treesitter support for R under `vim.languages.R`.
+- Add Otter support under `vim.lsp.otter` and an assert to prevent conflict with
+ ccc
diff --git a/flake.lock b/flake.lock
index 91fc5060..ecc02f27 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1373,6 +1373,22 @@
"type": "github"
}
},
+ "plugin-otter-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1724585935,
+ "narHash": "sha256-euHwoK2WHLF/hrjLY2P4yGrIbYyBN38FL3q4CKNZmLY=",
+ "owner": "jmbuhr",
+ "repo": "otter.nvim",
+ "rev": "ca9ce67d0399380b659923381b58d174344c9ee7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "jmbuhr",
+ "repo": "otter.nvim",
+ "type": "github"
+ }
+ },
"plugin-oxocarbon": {
"flake": false,
"locked": {
@@ -1861,6 +1877,7 @@
"plugin-obsidian-nvim": "plugin-obsidian-nvim",
"plugin-onedark": "plugin-onedark",
"plugin-orgmode-nvim": "plugin-orgmode-nvim",
+ "plugin-otter-nvim": "plugin-otter-nvim",
"plugin-oxocarbon": "plugin-oxocarbon",
"plugin-plenary-nvim": "plugin-plenary-nvim",
"plugin-project-nvim": "plugin-project-nvim",
diff --git a/flake.nix b/flake.nix
index c4996fcf..987e3e59 100644
--- a/flake.nix
+++ b/flake.nix
@@ -13,8 +13,8 @@
inherit inputs;
specialArgs = {inherit lib;};
} {
- # provide overridable systems
- # https://github.com/nix-systems/nix-systems
+ # Allow users to bring their own systems.
+ # «https://github.com/nix-systems/nix-systems»
systems = import inputs.systems;
imports = [
./flake/apps.nix
@@ -62,7 +62,6 @@
pkgs,
...
}: {
- formatter = pkgs.alejandra;
devShells = {
default = self'.devShells.lsp;
nvim-nix = pkgs.mkShell {packages = [config.packages.nix];};
@@ -70,6 +69,21 @@
packages = with pkgs; [nil statix deadnix alejandra];
};
};
+
+ # Provide the default formatter. `nix fmt` in project root
+ # will format available files with the correct formatter.
+ # P.S: Please do not format with nixfmt! It messes with many
+ # syntax elements and results in unreadable code.
+ formatter = pkgs.alejandra;
+
+ # Check if codebase is properly formatted.
+ # This can be initiated with `nix build .#checks.