Skip to content

Commit

Permalink
Rename options to avoid confusion with module options (nix-communit…
Browse files Browse the repository at this point in the history
  • Loading branch information
MattSturgeon authored Mar 29, 2024
1 parent acb917f commit 4f83bcf
Show file tree
Hide file tree
Showing 18 changed files with 33 additions and 43 deletions.
20 changes: 3 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -307,12 +307,12 @@ NeoVim has a lot of configuration options. You can find a list of them by doing
`:h option-list` from within NeoVim.

All of these are configurable from within NixVim. All you have to do is set the
`options` attribute:
`opts` attribute:

```nix
{
programs.nixvim = {
options = {
opts = {
number = true; # Show line numbers
relativenumber = true; # Show relative line numbers
Expand All @@ -323,21 +323,7 @@ All of these are configurable from within NixVim. All you have to do is set the
```

Please note that to, for example, disable numbers you would not set
`options.nonumber` to true, you'd set `options.number` to false.

### Caveats

If you are using `makeNixvimWithModule`, then options are treated as options for a module. To get around this, just wrap the options in a `config` set.

```nix
{
config = {
options = {
# ...
};
};
}
```
`opts.nonumber` to true, you'd set `opts.number` to false.

## Key mappings
It is fully possible to define key mappings from within NixVim. This is done
Expand Down
2 changes: 1 addition & 1 deletion example.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
# There is .normal, .insert, .visual, .operator, etc!

# We can also set options:
options = {
opts = {
tabstop = 4;
shiftwidth = 4;
expandtab = false;
Expand Down
2 changes: 1 addition & 1 deletion modules/clipboard.nix
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ in {
};

config = {
options.clipboard = mkIf (cfg.register != null) cfg.register;
opts.clipboard = mkIf (cfg.register != null) cfg.register;

extraPackages =
mapAttrsToList
Expand Down
2 changes: 1 addition & 1 deletion modules/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
./highlights.nix
./keymaps.nix
./lua-loader.nix
./options.nix
./opts.nix
./output.nix
./plugins.nix
./warnings.nix
Expand Down
16 changes: 13 additions & 3 deletions modules/options.nix → modules/opts.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@
}:
with lib; let
optionsAttrs = {
options = {
opts = {
prettyName = "options";
luaVariableName = "options";
luaApi = "opt";
description = "The configuration options, e.g. line numbers (`vim.opt.*`)";
};

globalOptions = {
globalOpts = {
prettyName = "global options";
luaVariableName = "global_options";
luaApi = "opt_global";
description = "The configuration global options (`vim.opt_global.*`)";
};

localOptions = {
localOpts = {
prettyName = "local options";
luaVariableName = "local_options";
luaApi = "opt_local";
Expand All @@ -47,6 +47,16 @@ in {
)
optionsAttrs;

# Added 2024-03-29 (do not remove)
imports =
mapAttrsToList
(old: new: mkRenamedOptionModule [old] [new])
{
options = "opts";
globalOptions = "globalOpts";
localOptions = "localOpts";
};

config = {
extraConfigLuaPre =
concatLines
Expand Down
2 changes: 1 addition & 1 deletion plugins/bufferlines/bufferline.nix
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ in {
cfg.package
nvim-web-devicons
];
options.termguicolors = true;
opts.termguicolors = true;
extraConfigLua = ''
require('bufferline').setup${helpers.toLuaObject setupOptions}
'';
Expand Down
2 changes: 1 addition & 1 deletion plugins/colorschemes/base16/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ with lib;
plugins.lualine.theme = mkIf cfg.setUpBar "base16";
plugins.lightline.colorscheme = null;

options.termguicolors = mkDefault true;
opts.termguicolors = mkDefault true;
}
(mkIf (isString cfg.colorscheme) {
colorscheme = "base16-${cfg.colorscheme}";
Expand Down
2 changes: 1 addition & 1 deletion plugins/colorschemes/catppuccin.nix
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ in {
config = mkIf cfg.enable {
colorscheme = "catppuccin";
extraPlugins = [cfg.package];
options = {termguicolors = true;};
opts.termguicolors = true;
extraConfigLuaPre = let
setupOptions = with cfg; {
inherit (cfg) flavour background styles integrations;
Expand Down
4 changes: 1 addition & 3 deletions plugins/colorschemes/dracula.nix
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@ in {
dracula_colorterm = mkIf (!cfg.colorterm) 0;
};

options = {
termguicolors = mkDefault true;
};
opts.termguicolors = mkDefault true;
};
}
4 changes: 1 addition & 3 deletions plugins/colorschemes/melange.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ in {
config = mkIf cfg.enable {
colorscheme = "melange";
extraPlugins = [cfg.package];
options = {
termguicolors = mkDefault true;
};
opts.termguicolors = mkDefault true;
};
}
2 changes: 1 addition & 1 deletion plugins/colorschemes/one.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ helpers.vim-plugin.mkVimPlugin config {
};

extraConfig = cfg: {
options.termguicolors = lib.mkDefault true;
opts.termguicolors = lib.mkDefault true;
};
}
4 changes: 1 addition & 3 deletions plugins/colorschemes/oxocarbon.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ in {
colorscheme = "oxocarbon";
extraPlugins = [cfg.package];

options = {
termguicolors = mkDefault true;
};
opts.termguicolors = mkDefault true;
};
}
2 changes: 1 addition & 1 deletion plugins/colorschemes/rose-pine.nix
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ in {
config = mkIf cfg.enable {
colorscheme = "rose-pine";
extraPlugins = [cfg.package];
options = {termguicolors = true;};
opts.termguicolors = true;
extraConfigLuaPre = let
setupOptions = with cfg; {
inherit groups;
Expand Down
2 changes: 1 addition & 1 deletion plugins/colorschemes/tokyonight.nix
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ in {
config = mkIf cfg.enable {
colorscheme = "tokyonight";
extraPlugins = [cfg.package];
options = {termguicolors = true;};
opts.termguicolors = true;
extraConfigLuaPre = let
setupOptions = with cfg; {
inherit (cfg) style transparent styles sidebars;
Expand Down
2 changes: 1 addition & 1 deletion plugins/git/gitgutter.nix
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ in {
mkIf cfg.enable {
extraPlugins = [cfg.package];

options = mkIf cfg.recommendedSettings {
opts = mkIf cfg.recommendedSettings {
updatetime = 100;
foldtext = "gitgutter#fold#foldtext";
};
Expand Down
2 changes: 1 addition & 1 deletion plugins/languages/treesitter/treesitter.nix
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ in {
]
++ optional (cfg.gccPackage != null) cfg.gccPackage;

options = mkIf cfg.folding {
opts = mkIf cfg.folding {
foldmethod = "expr";
foldexpr = "nvim_treesitter#foldexpr()";
};
Expand Down
2 changes: 1 addition & 1 deletion tests/modules/files.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
after = {
files."after/ftplugin/python.lua" = {
localOptions.conceallevel = 1;
localOpts.conceallevel = 1;

keymaps = [
{
Expand Down
4 changes: 2 additions & 2 deletions tests/test-sources/modules/options.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@
mousemodel = "extend"; # Mouse right-click extends the current selection
};

localOptions = {
localOpts = {
textwidth = 80;
sidescrolloff = 0;
};

globalOptions = {
globalOpts = {
textwidth = 110;
sidescrolloff = 10;
};
Expand Down

0 comments on commit 4f83bcf

Please sign in to comment.