Compare commits

..

1 commit

Author SHA1 Message Date
raf
7a13ba9d8f
Merge fbe0d142e4 into e614860a12 2025-01-02 17:00:32 +00:00
21 changed files with 35 additions and 193 deletions

36
.github/README.md vendored
View file

@ -206,16 +206,6 @@ features.
## Credits ## Credits
### Co-Maintainers
Alongside myself, nvf is developed by those talented folk:
- [**@horriblename**](https://github.com/horriblename) - For actively
implementing planned features and quality of life updates.
- [**@Diniamo**](https://github.com/Diniamo)
([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting
pull requests, issues and assistance with maintenance of nvf.
### Contributors ### Contributors
[mnw]: https://github.com/gerg-l/mnw [mnw]: https://github.com/gerg-l/mnw
@ -223,19 +213,21 @@ Alongside myself, nvf is developed by those talented folk:
nvf would not be what it is today without the awesome people below. Special, nvf would not be what it is today without the awesome people below. Special,
heart-felt thanks to heart-felt thanks to
- [**@fufexan**](https://github.com/fufexan) - For the transition to flake-parts - [@fufexan](https://github.com/fufexan) - For the transition to flake-parts and
and invaluable Nix assistance. invaluable Nix assistance.
- [**@FlafyDev**](https://github.com/FlafyDev) - For getting Home-Manager module - [@FlafyDev](https://github.com/FlafyDev) - For getting home-manager module to
to work and Nix assistance. work and Nix assistance.
- [**@n3oney**](https://github.com/n3oney) - For making custom keybinds finally - [@n3oney](https://github.com/n3oney) - For making custom keybinds finally
possible, and other module additions. possible, and other module additions.
- [**@Yavko**](https://github.com/Yavko) - For the amazing **nvf** logo - [@horriblename](https://github.com/horriblename) - For actively implementing
- [**@FrothyMarrow**](https://github.com/FrothyMarrow) - For seeing mistakes planned features and quality of life updates.
that I could not. - [@Yavko](https://github.com/Yavko) - For the amazing **nvf** logo
- [**@Gerg-l**](https://github.com/gerg-l) 🐸 - For the modern Neovim wrapper, - [@FrothyMarrow](https://github.com/FrothyMarrow) - For seeing mistakes that I
[mnw], and occasional code improvements. could not.
- [**@Soliprem**](https://github.com/soliprem) - Rigorously implementing missing - [@Diniamo](https://github.com/Diniamo) - For actively submitting pull
features and excellent work on new language modules. requests, issues and assistance with maintenance of nvf.
- [@Gerg-l](https://github.com/gerg-l) - For the modern Neovim wrapper, [mnw],
and occasional code improvements.
and everyone who has submitted issues or pull requests! and everyone who has submitted issues or pull requests!

View file

@ -44,15 +44,12 @@ Followed by importing the home-manager module somewhere in your configuration.
}; };
outputs = { nixpkgs, home-manager, nvf, ... }: let outputs = { nixpkgs, home-manager, nvf, ... }: let
system = "x86_64-linux"; system = "x86_64-linux"; in {
pkgs = nixpkgs.legacyPackages.${system};
in {
# ↓ this is your home output in the flake schema, expected by home-manager # ↓ this is your home output in the flake schema, expected by home-manager
"your-username@your-hostname" = home-manager.lib.homeManagerConfiguration { "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration
inherit pkgs;
modules = [ modules = [
nvf.homeManagerModules.default # <- this imports the home-manager module that provides the options nvf.homeManagerModules.default # <- this imports the home-manager module that provides the options
./home.nix # <- your home entrypoint, `programs.nvf.*` may be defined here ./home.nix # <- your home entrypoint
]; ];
}; };
}; };

View file

@ -42,12 +42,13 @@ Followed by importing the NixOS module somewhere in your configuration.
nvf.url = "github:notashelf/nvf"; nvf.url = "github:notashelf/nvf";
}; };
outputs = { nixpkgs, nvf, ... }: { outputs = { nixpkgs, nvf, ... }: let
system = "x86_64-linux"; in {
# ↓ this is your host output in the flake schema # ↓ this is your host output in the flake schema
nixosConfigurations."your-hostname" = nixpkgs.lib.nixosSystem { nixosConfigurations."yourUsername»" = nixpkgs.lib.nixosSystem {
modules = [ modules = [
nvf.nixosModules.default # <- this imports the NixOS module that provides the options nvf.nixosModules.default # <- this imports the NixOS module that provides the options
./configuration.nix # <- your host entrypoint, `programs.nvf.*` may be defined here ./configuration.nix # <- your host entrypoint
]; ];
}; };
}; };

View file

@ -11,7 +11,6 @@ try-it-out.md
default-configs.md default-configs.md
installation.md installation.md
configuring.md configuring.md
tips.md
``` ```
```{=include=} chapters ```{=include=} chapters

View file

@ -1,6 +0,0 @@
# Helpful Tips {#ch-helpful-tips}
```{=include=} chapters
tips/debugging-nvf.md
tips/offline-docs.md
```

View file

@ -1,19 +0,0 @@
# Debugging nvf {#sec-debugging-nvf}
There may be instances where the your Nix configuration evaluates to invalid
Lua, or times when you will be asked to provide your built Lua configuration for
easier debugging by nvf maintainers. nvf provides two helpful utilities out of
the box.
**nvf-print-config** and **nvf-print-config-path** will be bundled with nvf as
lightweight utilities to help you view or share your built configuration when
necessary.
To view your configuration with syntax highlighting, you may use the
[bat pager](https://github.com/sharkdp/bat).
```bash
nvf-print-config | bat --language=lua
```
Alternatively, `cat` or `less` may also be used.

View file

@ -1,11 +0,0 @@
# Offline Documentation {#sec-offline-documentation}
[https://notashelf.github.io/nvf/options.html]: https://notashelf.github.io/nvf/options.html
The manpages provided by nvf contains an offline version of the option search
normally available at [https://notashelf.github.io/nvf/options.html]. You may
use the `man 5 nvf` command to view option documentation from the comfort of
your terminal.
Note that this is only available for NixOS and Home-Manager module
installations.

View file

@ -13,9 +13,6 @@
- Add [render-markdown.nvim] under - Add [render-markdown.nvim] under
`languages.markdown.extensions.render-markdown-nvim` `languages.markdown.extensions.render-markdown-nvim`
- Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table
in gitsigns configuration.
[amadaluzia](https://github.com/amadaluzia): [amadaluzia](https://github.com/amadaluzia):
[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
@ -28,9 +25,3 @@
- Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave` - Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave`
instead. instead.
[horriblename](https://github.com/horriblename):
[aerial.nvim](https://github.com/stevearc/aerial.nvim)
- Add [aerial.nvim]

View file

@ -156,22 +156,6 @@
"type": "sourcehut" "type": "sourcehut"
} }
}, },
"plugin-aerial-nvim": {
"flake": false,
"locked": {
"lastModified": 1736064692,
"narHash": "sha256-7YQtkUTACTMfAGoqoFDPmRrqtw+ypxDbeLCTB3sy4Us=",
"owner": "stevearc",
"repo": "aerial.nvim",
"rev": "b3ec25ca8c347fafa976484a6cace162239112e1",
"type": "github"
},
"original": {
"owner": "stevearc",
"repo": "aerial.nvim",
"type": "github"
}
},
"plugin-alpha-nvim": { "plugin-alpha-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -2106,7 +2090,6 @@
"nil": "nil", "nil": "nil",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nmd": "nmd", "nmd": "nmd",
"plugin-aerial-nvim": "plugin-aerial-nvim",
"plugin-alpha-nvim": "plugin-alpha-nvim", "plugin-alpha-nvim": "plugin-alpha-nvim",
"plugin-base16": "plugin-base16", "plugin-base16": "plugin-base16",
"plugin-bufdelete-nvim": "plugin-bufdelete-nvim", "plugin-bufdelete-nvim": "plugin-bufdelete-nvim",

View file

@ -730,10 +730,5 @@
url = "github:mrcjkb/haskell-tools.nvim"; url = "github:mrcjkb/haskell-tools.nvim";
flake = false; flake = false;
}; };
plugin-aerial-nvim = {
url = "github:stevearc/aerial.nvim";
flake = false;
};
}; };
} }

View file

@ -1,7 +1,7 @@
{ {
options,
config, config,
lib, lib,
pkgs,
... ...
}: let }: let
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
@ -11,7 +11,8 @@
inherit (lib.nvim.binds) pushDownDefault; inherit (lib.nvim.binds) pushDownDefault;
cfg = config.vim.filetree.nvimTree; cfg = config.vim.filetree.nvimTree;
inherit (options.vim.filetree.nvimTree) mappings; self = import ./nvimtree.nix {inherit pkgs lib;};
inherit (self.options.vim.filetree.nvimTree) mappings;
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim = { vim = {

View file

@ -7,7 +7,6 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding pushDownDefault; inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding pushDownDefault;
inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.git.gitsigns; cfg = config.vim.git.gitsigns;
@ -71,7 +70,7 @@ in {
}; };
pluginRC.gitsigns = entryAnywhere '' pluginRC.gitsigns = entryAnywhere ''
require('gitsigns').setup(${toLuaObject cfg.setupOpts}) require('gitsigns').setup{}
''; '';
}; };
} }

View file

@ -6,7 +6,6 @@
inherit (lib.options) mkEnableOption; inherit (lib.options) mkEnableOption;
inherit (lib.modules) mkRenamedOptionModule; inherit (lib.modules) mkRenamedOptionModule;
inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.binds) mkMappingOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in { in {
imports = [ imports = [
(mkRenamedOptionModule ["vim" "git" "gitsigns" "codeActions" "vim" "gitsigns" "codeActions"] ["vim" "git" "gitsigns" "codeActions" "enable"]) (mkRenamedOptionModule ["vim" "git" "gitsigns" "codeActions" "vim" "gitsigns" "codeActions"] ["vim" "git" "gitsigns" "codeActions" "enable"])
@ -14,7 +13,6 @@ in {
options.vim.git.gitsigns = { options.vim.git.gitsigns = {
enable = mkEnableOption "gitsigns" // {default = config.vim.git.enable;}; enable = mkEnableOption "gitsigns" // {default = config.vim.git.enable;};
setupOpts = mkPluginSetupOption "gitsigns" {};
codeActions.enable = mkEnableOption "gitsigns codeactions through null-ls"; codeActions.enable = mkEnableOption "gitsigns codeactions through null-ls";

View file

@ -1,6 +1,5 @@
{ {
imports = [ imports = [
./outline
./binds ./binds
./ccc ./ccc
./gestures ./gestures

View file

@ -1,14 +0,0 @@
{lib, ...}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
inherit (lib.nvim.binds) mkMappingOption;
in {
options.vim.utility.outline.aerial-nvim = {
enable = mkEnableOption "Aerial.nvim";
setupOpts = mkPluginSetupOption "aerial.nvim" {};
mappings = {
toggle = mkMappingOption "Toggle aerial window" "gO";
};
};
}

View file

@ -1,42 +0,0 @@
{
options,
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.binds) mkKeymap;
cfg = config.vim.utility.outline.aerial-nvim;
inherit (options.vim.utility.outline.aerial-nvim) mappings;
in {
config = mkIf cfg.enable {
vim = {
lazy.plugins.aerial-nvim = {
package = "aerial-nvim";
setupModule = "aerial";
inherit (cfg) setupOpts;
cmd = [
"AerialClose"
"AerialCloseAll"
"AerialGo"
"AerialInfo"
"AerialNavClose"
"AerialNavOpen"
"AerialNavToggle"
"AerialNext"
"AerialOpen"
"AerialOpenAll"
"AerialPrev"
"AerialToggle"
];
keys = [
(mkKeymap "n" cfg.mappings.toggle ":AerialToggle<CR>" {desc = mappings.toggle.description;})
];
};
};
};
}

View file

@ -1,6 +0,0 @@
{
imports = [
./aerial-nvim.nix
./config.nix
];
}

View file

@ -1,5 +0,0 @@
{
imports = [
./aerial-nvim
];
}

View file

@ -1,22 +1,18 @@
{ {
config, config,
pkgs,
lib, lib,
pkgs,
... ...
}: let }: let
inherit (lib.modules) mkIf; inherit (lib.modules) mkIf;
inherit (lib.meta) getExe;
cfg = config.vim.utility.vim-wakatime; cfg = config.vim.utility.vim-wakatime;
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim = { vim.startPlugins = [pkgs.vimPlugins.vim-wakatime];
startPlugins = [pkgs.vimPlugins.vim-wakatime];
# Wakatime configuration is stored as vim globals. vim.pluginRC.vim-wakatime = mkIf (cfg.cli-package != null) ''
globals = { vim.g.wakatime_CLIPath = "${cfg.cli-package}"
"wakatime_CLIPath" = mkIf (cfg.cli-package != null) "${getExe cfg.cli-package}"; '';
};
};
}; };
} }

View file

@ -1,4 +1,4 @@
{ _: {
imports = [ imports = [
./config.nix ./config.nix
./vim-wakatime.nix ./vim-wakatime.nix

View file

@ -1,24 +1,18 @@
{ {
pkgs,
lib, lib,
pkgs,
... ...
}: let }: let
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) nullOr package; inherit (lib.types) nullOr package;
in { in {
options.vim.utility.vim-wakatime = { options.vim.utility.vim-wakatime = {
enable = mkEnableOption '' enable = mkEnableOption "vim-wakatime: live code statistics";
automatic time tracking and metrics generated from your programming activity [vim-wakatime]
'';
cli-package = mkOption { cli-package = mkOption {
type = nullOr package; type = nullOr package;
default = pkgs.wakatime-cli; default = pkgs.wakatime;
example = null; description = "The package that should be used for wakatime-cli. Set as null to use the default path in `$XDG_DATA_HOME`";
description = ''
The package that should be used for wakatime-cli.
Set as null to use the default path in {env}`$XDG_DATA_HOME`
'';
}; };
}; };
} }