Compare commits

..

7 commits

Author SHA1 Message Date
raf
c4d80273aa
Merge pull request #994 from lackac/neogit-init
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
Build and deploy documentation / Check latest commit (push) Waiting to run
Build and deploy documentation / publish (push) Blocked by required conditions
git/neogit: module init
2025-07-08 21:57:07 +03:00
Laszlo Bacsi
72846557d5
docs: note which-key gitsigns group related breaking change 2025-07-08 20:26:04 +02:00
Laszlo Bacsi
af87edae84
Merge branch 'main' into neogit-init 2025-07-08 20:18:11 +02:00
raf
5d607f3aef
Merge pull request #991 from lackac/spellcheck-restore-programming-wordlist
spellcheck: restore configuration for vim-dirtytalk
2025-07-08 19:45:51 +03:00
László Bácsi
ec2c64e04d
Merge branch 'main' into spellcheck-restore-programming-wordlist 2025-07-08 17:40:47 +02:00
Laszlo Bacsi
94908ffb0a
git/neogit: module init 2025-07-06 15:40:17 +02:00
Laszlo Bacsi
045f098f0e
spellcheck: restore configuration for vim-dirtytalk 2025-07-05 19:47:51 +02:00
11 changed files with 93 additions and 5 deletions

View file

@ -15,6 +15,7 @@ isMaximal: {
spellcheck = { spellcheck = {
enable = true; enable = true;
programmingWordlist.enable = isMaximal;
}; };
lsp = { lsp = {
@ -162,6 +163,7 @@ isMaximal: {
enable = true; enable = true;
gitsigns.enable = true; gitsigns.enable = true;
gitsigns.codeActions.enable = false; # throws an annoying debug message gitsigns.codeActions.enable = false; # throws an annoying debug message
neogit.enable = isMaximal;
}; };
minimap = { minimap = {

View file

@ -24,6 +24,10 @@
module interface. You may set [](#opt-vim.clipboard.registers) appropriately module interface. You may set [](#opt-vim.clipboard.registers) appropriately
to configure Neovim to use the system clipboard. to configure Neovim to use the system clipboard.
- Changed which-key group used for gitsigns from `<leader>g` to `<leader>h` to
align with the "hunks" themed mapping and avoid conflict with the new [neogit]
group.
[NotAShelf](https://github.com/notashelf): [NotAShelf](https://github.com/notashelf):
[typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim
@ -433,10 +437,11 @@
[solarized.nvim]: https://github.com/maxmx03/solarized.nvim [solarized.nvim]: https://github.com/maxmx03/solarized.nvim
[smart-splits.nvim]: https://github.com/mrjones2014/smart-splits.nvim [smart-splits.nvim]: https://github.com/mrjones2014/smart-splits.nvim
[neogit]: https://github.com/NeogitOrg/neogit
- Add [solarized.nvim] theme with support for multiple variants - Add [solarized.nvim] theme with support for multiple variants
- Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes. - Add [smart-splits.nvim] for navigating between Neovim windows and terminal multiplexer panes.
Available at `vim.utility.smart-splits`. Available at `vim.utility.smart-splits`.
- Restore vim-dirtytalk plugin and fix ordering with spellcheck in generated config.
- Fix lualine separator options - Fix lualine separator options
- Add [neogit], an interactive and powerful Git interface for Neovim, inspired by Magit

View file

@ -38,7 +38,7 @@
"runner" "runner"
"session" "session"
"snippets" "snippets"
# "spellcheck" # FIXME: see neovim/init/spellcheck.nix "spellcheck"
"statusline" "statusline"
"tabline" "tabline"
"terminal" "terminal"

View file

@ -94,6 +94,8 @@ in {
Enabling this option will unconditionally set Enabling this option will unconditionally set
{option}`vim.spellcheck.enable` to true as vim-dirtytalk {option}`vim.spellcheck.enable` to true as vim-dirtytalk
depends on spellchecking having been set up. depends on spellchecking having been set up.
Run {command}`:DirtytalkUpdate` on first use to download the spellfile.
::: :::
''; '';
}; };

View file

@ -6,6 +6,7 @@ in {
./vim-fugitive ./vim-fugitive
./git-conflict ./git-conflict
./gitlinker-nvim ./gitlinker-nvim
./neogit
]; ];
options.vim.git = { options.vim.git = {

View file

@ -69,7 +69,7 @@ in {
}; };
binds.whichKey.register = pushDownDefault { binds.whichKey.register = pushDownDefault {
"<leader>g" = "+Gitsigns"; "<leader>h" = "+Gitsigns";
}; };
pluginRC.gitsigns = entryAnywhere '' pluginRC.gitsigns = entryAnywhere ''

View file

@ -0,0 +1,39 @@
{
options,
config,
lib,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.binds) pushDownDefault mkKeymap;
cfg = config.vim.git.neogit;
keys = cfg.mappings;
inherit (options.vim.git.neogit) mappings;
in {
config = mkIf cfg.enable {
vim = {
startPlugins = ["plenary-nvim"];
lazy.plugins.neogit = {
package = "neogit";
setupModule = "neogit";
inherit (cfg) setupOpts;
cmd = ["Neogit"];
keys = [
(mkKeymap "n" keys.open "<Cmd>Neogit<CR>" {desc = mappings.open.description;})
(mkKeymap "n" keys.commit "<Cmd>Neogit commit<CR>" {desc = mappings.commit.description;})
(mkKeymap "n" keys.pull "<Cmd>Neogit pull<CR>" {desc = mappings.pull.description;})
(mkKeymap "n" keys.push "<Cmd>Neogit push<CR>" {desc = mappings.push.description;})
];
};
binds.whichKey.register = pushDownDefault {
"<leader>g" = "+Git";
};
};
};
}

View file

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

View file

@ -0,0 +1,17 @@
{lib, ...}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.binds) mkMappingOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.git.neogit = {
enable = mkEnableOption "An Interactive and powerful Git interface [Neogit]";
setupOpts = mkPluginSetupOption "neogit" {};
mappings = {
open = mkMappingOption "Git Status [Neogit]" "<leader>gs";
commit = mkMappingOption "Git Commit [Neogit]" "<leader>gc";
pull = mkMappingOption "Git pull [Neogit]" "<leader>gp";
push = mkMappingOption "Git push [Neogit]" "<leader>gP";
};
};
}

View file

@ -17,7 +17,7 @@ in {
# like to append programming to spelllangs as soon as # like to append programming to spelllangs as soon as
# possible while the plugin is enabled and the state # possible while the plugin is enabled and the state
# directory can be found. # directory can be found.
pluginRC.vim-dirtytalk = entryAfter ["spellcheck"] '' luaConfigRC.vim-dirtytalk = entryAfter ["spellcheck"] ''
-- If Neovim can find (or access) the state directory -- If Neovim can find (or access) the state directory
-- then append "programming" wordlist from vim-dirtytalk -- then append "programming" wordlist from vim-dirtytalk
-- to spelllang table. If path cannot be found, display -- to spelllang table. If path cannot be found, display

View file

@ -1530,6 +1530,22 @@
"url": "https://github.com/IogaMaster/neocord/archive/2ebf3792a8100376bb65fd66d5dbf60f50af7529.tar.gz", "url": "https://github.com/IogaMaster/neocord/archive/2ebf3792a8100376bb65fd66d5dbf60f50af7529.tar.gz",
"hash": "1ycx26ppfb5djxji1mwamr7ra29z8sm0fs9a6hhwn0l69x06x353" "hash": "1ycx26ppfb5djxji1mwamr7ra29z8sm0fs9a6hhwn0l69x06x353"
}, },
"neogit": {
"type": "GitRelease",
"repository": {
"type": "GitHub",
"owner": "NeogitOrg",
"repo": "neogit"
},
"pre_releases": false,
"version_upper_bound": null,
"release_prefix": null,
"submodules": false,
"version": "v2.0.0",
"revision": "7f97dbfc5af3b898c6660d927c23e3a96a5bd069",
"url": "https://api.github.com/repos/NeogitOrg/neogit/tarball/v2.0.0",
"hash": "0nyv64ai3765if7bdfyx01a0xmsmhm8cjvxyvh2s40bzvkx8xy17"
},
"neorg": { "neorg": {
"type": "Git", "type": "Git",
"repository": { "repository": {