Compare commits

..

No commits in common. "5589d1ff576e91d7479c739b5aa694036d46a0ac" and "a196e9610f0dec12e681fee2eeb86ecf73e144df" have entirely different histories.

33 changed files with 79 additions and 172 deletions

View file

@ -8,42 +8,23 @@
## Welcome
I'm glad you are thinking about contributing to nvf! If you're unsure about
anything, just ask - or submit the issue or pull request anyway. The worst that
can happen is you'll be politely asked to change something. Friendly
contributions are always welcome.
I'm glad you are thinking about contributing to neovim-flake! If you're unsure about anything, just ask - or submit the issue or pull request anyway. The worst that can happen is you'll be politely asked to change something. Friendly contributions are always welcome.
Before you contribute, I encourage you to read this project's CONTRIBUTING
policy (you are here) and its [LICENSE](../LICENSE) to understand how your
contributions are licensed.
Before you contribute, I encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md).
If you have any questions regarding those files, feel free to open an issue or
[shoot me an email](mailto:me@notashelf.dev). Discussions tab is also available
for more informal discussions.
If you have any questions regarding those files, feel free to open an issue or [shoot me an email](mailto:me@notashelf.dev). Discussions tab is also available for more informal discussions.
## Contributing
The contribution process is mostly documented in the
[pull request template](PULL_REQUEST_TEMPLATE/pull_request_template.md). You
will find a checklist of items to complete before submitting a pull request.
Please make sure you complete it before submitting a pull request. If you are
unsure about any of the items, please ask.
The contribution process is mostly documented in the [pull request template](pull_request_template.md). You will find a checklist of items to complete before submitting a pull request. Please make sure you complete it before submitting a pull request. If you are unsure about any of the items, please ask.
### Guidelines
We provide instructions on a healthy contribution to neovim-flake - including
styling, commit formats, how-to guides for adding new modules and options. You
are very well recommended to read the contributing guidelines over at
[the documentation](https://notashelf.github.io/nvf#hacking)
We provide instructions on a healthy contribution to neovim-flake - including styling, commit formats, how-to guides for adding new modules and options.
You are very well recommended to read the contributing guideliner over at [the documentation](https://notashelf.github.io/neovim-flake#hacking)
### Code of Conduct
This project does not quite have a code of conduct yet. And to be perfectly
honest, I'm not sure if I want one or if it will ever have one. I'm not
expecting this project to be a hotbed of activity, but I do want to make sure
that everyone who does contribute feels welcome and safe. As such, I will do my
best to make sure that those who distrupt the project are dealt with swiftly and
appropriately.
This project does not quite have a code of conduct yet. And to be honest, I'm not sure if I want one or if it will ever have one. I'm not expecting this project to be a hotbed of activity, but I do want to make sure that everyone who does contribute feels welcome and safe. As such, I will do my best to make sure that those who distrupt the project are dealt with swiftly and appropriately.
If you feel that you are not being treated with respect, please contact me
directly.
If you feel that you are not being treated with respect, please contact me directly.

View file

@ -6,7 +6,7 @@ or dependency in this section.
If your pull request aims to fix an open issue or a please bug, please also link the relevant issue
below this line. You may attach an issue to your pull request with `Fixes #<issue number>` outside
this comment, and it will be closed when your pull request is merged.
this comment.
-->
## Sanity Checking
@ -23,20 +23,20 @@ it above in your description.
[editorconfig]: https://editorconfig.org
[changelog]: https://github.com/NotAShelf/nvf/tree/main/docs/release-notes
- [ ] I have updated the [changelog] as per my changes
- [ ] I have tested, and self-reviewed my code
- [ ] I have updated the [changelog] as per my changes.
- [ ] I have tested, and self-reviewed my code.
- Style and consistency
- [ ] I ran **Alejandra** to format my code (`nix fmt`)
- [ ] My code conforms to the [editorconfig] configuration of the project
- [ ] My changes are consistent with the rest of the codebase
- [ ] I ran **Alejandra** to format my code (`nix fmt`).
- [ ] My code conforms to the [editorconfig] configuration of the project.
- [ ] My changes are consistent with the rest of the codebase.
- If new changes are particularly complex:
- [ ] My code includes comments in particularly complex areas
- [ ] I have added a section in the manual
- [ ] _(For breaking changes)_ I have included a migration guide
- [ ] I have added a section in the manual.
- [ ] _(For breaking changes)_ I have included a migration guide.
- Package(s) built:
- [ ] `.#nix` (default package)
- [ ] `.#maximal`
- [ ] `.#docs-html` (manual, must build)
- [ ] `.#docs-html`
- Tested on platform(s)
- [ ] `x86_64-linux`
- [ ] `aarch64-linux`

2
.github/typos.toml vendored
View file

@ -1,2 +0,0 @@
default.extend-ignore-words-re = ["(?i)(noice)", "befores", "annote", "viw"]

View file

@ -23,8 +23,8 @@ jobs:
uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v4
name: Checkout
- name: Set default git branch (to reduce log spam)
run: git config --global init.defaultBranch main
@ -42,16 +42,17 @@ jobs:
with:
name: "${{ matrix.package }}"
path: result/share/doc/nvf
flake-docs-linkcheck:
name: Validate hyperlinks in documentation sources
runs-on: ubuntu-latest
steps:
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Checkout
uses: actions/checkout@v4
flake-docs-linkcheck:
name: Validate hyperlinks in documentation sources
runs-on: ubuntu-latest
steps:
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Build documentation packages
run: nix build .#docs-linkcheck -Lv
- uses: actions/checkout@v4
name: Checkout
- name: Build documentation packages
run: nix build .#docs-linkcheck -Lv

View file

@ -15,7 +15,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api \
repos/notashelf/nvf/pulls/${{github.event.number}}/files --paginate \
repos/notashelf/neovim-flake/pulls/${{github.event.number}}/files --paginate \
| jq '.[] | select(.status != "removed") | .filename' \
> "$HOME/changed_files"

View file

@ -1,30 +0,0 @@
name: "Check for typos in the source tree"
permissions: read-all
on:
pull_request:
workflow_dispatch:
push:
jobs:
check-typos:
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check for typos
uses: crate-ci/typos@master
with:
config: .github/typos.toml
- name: Fail Gracefully
if: ${{ failure() }}
shell: bash
run: |
echo "::error:: Current codebase contains typos that were caught by the CI!"
echo "If those typos were intentional, please add them to the ignored regexes in .github/typos.toml"
echo "[skip ci] label may be used if this is a one-time issue"
exit 1

View file

@ -3,7 +3,6 @@
```{=include=} chapters
configuring/custom-package.md
configuring/custom-plugins.md
configuring/custom-inputs.md
configuring/languages.md
configuring/dags.md
configuring/dag-entries.md

View file

@ -1,53 +0,0 @@
# Custom Inputs {#ch-custom-inputs}
One of the greatest strengths of **nvf** is its ability to get plugins from
flake inputs and build them locally from any given source. For plugins that do
not require any kind of additional building step, this is a powerful method of
adding plugins to your configuration that are not packaged in nixpkgs, or those
you want to track from source without relying on nixpkgs.
The [additional plugins section](#sec-additional-plugins) details the addition
of new plugins to nvf under regular circumstances, i.e. while making a pull
request to the project. You may _override_ those plugin inputs in your own
`flake.nix` to change source versions, e.g., to use newer versions of plugins
that are not yet updated in **nvf**.
```nix
{
inputs = {
# ...
# The name here is arbitrary, you can name it whatever.
# This will add a plugin input called "your-neodev-input"
# that you can reference in a `follows` line.
your-neodev-input = {
url = "github:folke/neodev.nvim";
flake = false;
};
nvf = {
url = "github:notashelf/nvf";
# The name of the input must match for the follows line
# plugin-neodev-nvim is what the input is called inside nvf
# so you must match the exact name here.
inputs.plugin-neodev-nvim.follows = "your-neodev-input";
};
# ...
};
}
```
This will override the source for the `neodev.nvim` plugin that is used in nvf
with your own input. You can update your new input via `nix flake update` or
more specifically `nix flake update <name of your input>` to keep it up to date.
::: {.warning}
While updating plugin inputs, make sure that any configuration that has been
deprecated in newer versions is changed in the plugin's `setupOpts`. If you
depend on a new version, requesting a version bump in the issues section is a
more reliable option.
:::

View file

@ -11,11 +11,11 @@ configuration locally.
There are multiple ways of adding custom plugins to your **nvf** configuration.
You can use custom plugins, before they are implemented in the flake. To add a
plugin to the runtime, you need to add it to the [](#opt-vim.startPlugins) list
in your configuration.
plugin to the runtime, you need to add it to the `vim.startPlugins` list in your
configuration.
Adding a plugin to `startPlugins` will not allow you to configure the plugin
that you have added, but **nvf** provides multiple way of configuring any custom
that you have adeed, but **nvf** provides multiple way of configuring any custom
plugins that you might have added to your configuration.
```{=include=} sections

View file

@ -4,12 +4,12 @@ You, naturally, would like to start by forking the repository to get started. If
you are new to Git and GitHub, do have a look at GitHub's
[Fork a repo guide](https://help.github.com/articles/fork-a-repo/) for
instructions on how you can do this. Once you have a fork of **nvf**, you should
create a separate branch based on the most recent `main` branch. Give your
create a separate branch based on the msot recent `main` branch. Give your
branch a reasonably descriptive name (e.g. `feature/debugger` or
`fix/pesky-bug`) and you are ready to work on your changes
Implement your changes and commit them to the newly created branch and when you
are happy with the result, and positive that it fulfills our
are happy with the result, and positive that it fullfills our
[Contributing Guidelines](#sec-guidelines), push the branch to GitHub and
[create a pull request](https://help.github.com/articles/creating-a-pull-request).
The default pull request template available on the **nvf** repository will guide

View file

@ -93,10 +93,10 @@ the commit followed by the description:
```
languages/ruby: init module
Adds a language module for Ruby, adds appropriate formatters and Treesitter grammars
Adds a language module for Ruby, adds appropriate formatters and Treesitter grammers
```
Long description can be omitted if the change is too simple to warrant it. A
Long description can be ommitted if the change is too simple to warrant it. A
minor fix in spelling or a formatting change does not warrant long description,
however, a module addition or removal does as you would like to provide the
relevant context, i.e. the reasoning behind it, for your commit.

View file

@ -1,13 +1,13 @@
# Testing Changes {#sec-testing-changes}
Once you have made your changes, you will need to test them thoroughly. If it is
Once you have made your changes, you will need to test them throughly. If it is
a module, add your module option to `configuration.nix` (located in the root of
this project) inside `neovimConfiguration`. Enable it, and then run the maximal
configuration with `nix run .#maximal -Lv` to check for build errors. If neovim
opens in the current directory without any error messages (you can check the
output of `:messages` inside neovim to see if there are any errors), then your
changes are good to go. Open your pull request, and it will be reviewed as soon
as possible.
as posssible.
If it is not a new module, but a change to an existing one, then make sure the
module you have changed is enabled in the maximal configuration by editing

View file

@ -11,7 +11,7 @@ your formatting according to its own config (usually `.eslintrc.js`).
The issue there is your formatting is made via prettierd.
This results in auto-formatting relying on your prettier config, while your
This results in auto-formating relying on your prettier config, while your
eslint config diagnoses formatting
[which it's not supposed to](https://prettier.io/docs/en/comparison.html))

View file

@ -21,7 +21,7 @@ soon.
- which-key section titles have been fixed. This is to be changed once again in
a possible keybind rewrite, but now it should display the correct titles
instead of `+prefix`
instad of `+prefix`
- Most of `presence.nvim`'s options have been made fully configurable through
your configuration file.

View file

@ -61,9 +61,9 @@ Release notes for release 0.5
- LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically
enabled if navic is enabled)
- Added nvim-navic integration for Catppuccin theme
- Addeed nvim-navic integration for catppuccin theme
- Fixed mismatching Zig language description
- Fixed mismatching zig language description
- Added support for `statix` and `deadnix` through
[](#opt-vim.languages.nix.extraDiagnostics.types)
@ -79,9 +79,9 @@ Release notes for release 0.5
- Added bash LSP and formatter support
- Disabled Lualine LSP status indicator for Toggleterm buffer
- Disabled Lualine LSP status indicator for toggleterm buffer
- Added `nvim-docs-view`, a plugin to display LSP hover documentation in a side
- Added `nvim-docs-view`, a plugin to display lsp hover documentation in a side
panel
- Switched to `nixosOptionsDoc` in option documentation. To quote home-manager
@ -107,7 +107,7 @@ Release notes for release 0.5
- Removed redundant "Enable ..." in `mkEnableOption` descriptions
- Add options to modify LSP key bindings and add proper which-key descriptions
- Add options to modify LSP key bindings and add proper whichkey descriptions
- Changed type of `statusline.lualine.activeSection` and
`statusline.lualine.inactiveSection` from `attrsOf str` to

View file

@ -301,7 +301,7 @@ To migrate to `nixfmt`, simply change `vim.languages.nix.format.type` to
[Soliprem](https://github.com/Soliprem):
- Add LSP and Treesitter support for R under `vim.languages.R`.
- Add formatter support for R, with styler and formatR as options
- Add formatter suppoort for R, with styler and formatR as options
- Add Otter support under `vim.lsp.otter` and an assert to prevent conflict with
ccc
- Fixed typo in Otter's setupOpts

View file

@ -4,7 +4,7 @@
inherit (lib.nvim.types) mkPluginSetupOption;
in {
imports = [
(mkRemovedOptionModule ["vim" "autopairs" "nvim-compe"] "nvim-compe is deprecated and no longer supported.")
(mkRemovedOptionModule ["vim" "autopairs" "nvim-compe"] "nvim-compe is deprecated and no longer suported.")
];
options.vim.autopairs.nvim-autopairs = {

View file

@ -48,7 +48,7 @@ in {
A `deprio` function and a `kinds`
(`require("cmp.types").lsp.CompletionItemKind`) variable is provided
above `setupOpts`. By passing a type to the function, the returned
above `setupOpts`. By passing a type to the funcion, the returned
function will be a comparator that always ranks the specified kind the
lowest.
'';
@ -88,7 +88,7 @@ in {
```
'';
description = ''
The function used to customize the completion menu entries. This is
The function used to customize the completion menu entires. This is
outside of `setupOpts` to allow for an easier integration with
lspkind.nvim.

View file

@ -101,7 +101,7 @@ in {
customIndices = mkOption {
default = [];
description = "Specify a list of default characters to use instead of numbers";
description = "Specify a list of default charecters to use instead of numbers";
type = listOf str;
};

View file

@ -26,7 +26,7 @@ in {
};
mappings = {
continue = mkMappingOption "Continue" "<leader>dc";
continue = mkMappingOption "Contiue" "<leader>dc";
restart = mkMappingOption "Restart" "<leader>dR";
terminate = mkMappingOption "Terminate" "<leader>dq";
runLast = mkMappingOption "Re-run Last Debug Session" "<leader>d.";

View file

@ -32,7 +32,7 @@ in {
(entryAnywhere ''
vim.api.nvim_create_autocmd("BufEnter", {
group = vim.api.nvim_create_augroup("load_neo_tree", {}),
desc = "Loads neo-tree when opening a directory",
desc = "Loads neo-tree when openning a directory",
callback = function(args)
local stats = vim.uv.fs_stat(args.file)

View file

@ -46,7 +46,7 @@ in {
${optionalString (config.vim.lazy.enable && cfg.setupOpts.hijack_netrw && !cfg.openOnSetup) ''
vim.api.nvim_create_autocmd("BufEnter", {
group = vim.api.nvim_create_augroup("load_nvim_tree", {}),
desc = "Loads nvim-tree when opening a directory",
desc = "Loads nvim-tree when openning a directory",
callback = function(args)
local stats = vim.uv.fs_stat(args.file)

View file

@ -89,7 +89,7 @@ in {
};
package = mkOption {
description = "lldb package";
description = "lldb pacakge";
type = package;
default = pkgs.lldb;
};

View file

@ -22,7 +22,7 @@ in {
default_timeout = mkOption {
type = int;
default = 5000;
description = "Default timeout value, in milliseconds";
description = "Default timeout value, in miliseconds";
};
sources = mkOption {

View file

@ -31,7 +31,7 @@ in {
description = ''
if set to true, the filetype of the otterbuffers will be set. Other wide only
the autocommand of lspconfig that attaches the language server will be
executed without setting the filetype
executed without stting the filetype
'';
};
write_to_disk = mkOption {

View file

@ -12,7 +12,7 @@ in {
migration is required.
Please see neocord documentation and options page on the **nvf** manual
for more information
for mor einformation
'')
]
++ (map

View file

@ -105,7 +105,7 @@ in {
autosave_ignore_buftypes = mkOption {
type = types.listOf types.str;
default = [];
description = "All buffers of these buffer types will be closed before the session is saved";
description = "All buffers of these bufer types will be closed before the session is saved";
};
autosave_only_in_session = mkOption {

View file

@ -49,7 +49,7 @@ in {
type = bool;
default = true;
description = ''
Whether or not to allow highlight groups to be overridden.
Whether or not to allow highlight groups to be overriden.
While false, bufferline.nvim sets highlights as default.
'';
@ -101,7 +101,7 @@ in {
The indicatotor icon to use for the current buffer.
::: {.warning}
This **must** be omitted while style is not `icon`
This **must** be ommitted while style is not `icon`
:::
'';
};
@ -338,6 +338,17 @@ in {
description = "Whether or not the move command \"wraps\" at the first or last position";
};
seperator_style = mkOption {
type = either (enum ["thick" "thin" "slope" "slant"]) (listOf str);
default = [" " " "];
description = ''
Style of the buffer separator.
Can be either one of the suspported values, or a list containing
**at most** two elements for `focused` and `unfocused` respectively.
'';
};
separator_style = mkOption {
type = nullOr (either (enum ["slant" "padded_slant" "slope" "padded_slope" "thick" "thin"]) (listOf str));
default = "thin";

View file

@ -10,7 +10,7 @@
multilineThreshold = "multiline_threshold";
trimScope = "trim_scope";
mode = "mode";
separator = "separator";
seperator = "separator";
zindex = "z_index";
};

View file

@ -4,7 +4,7 @@
in {
options.vim.utility.motion.hop = {
mappings = {
hop = mkMappingOption "Jump to occurrences [hop.nvim]" "<leader>h";
hop = mkMappingOption "Jump to occurences [hop.nvim]" "<leader>h";
};
enable = mkEnableOption "Hop.nvim plugin (easy motion)";

View file

@ -134,7 +134,7 @@
default = ["absolute"];
};
set_env = mkOption {
description = "Set an environment for term_previewer";
description = "Set an envrionment for term_previewer";
type = attrsOf str;
default = {
COLORTERM = "truecolor";

View file

@ -62,7 +62,7 @@
if spec.load != null
then
mkLuaInline ''
function()
funcion()
${spec.load}
end
''

View file

@ -92,7 +92,7 @@ in {
::: {.warning}
All paths passed to this option must be valid. If Neovim cannot
resolve the path you are attempting to source, then your configuration
resolve the path you are attempting to sourcee, then your configuration
will error, and Neovim will not start. Please ensure that all paths
are correct before using this option.
:::