Stanislav Asunkin
404e56066f
modules/performance: add ability to byte compile extraLuaPackages
...
This commit adds `performance.byteCompileLua.luaLib` options. When
enabled it byte-compiles lua packages from extraLuaPackages option.
2025-05-12 17:39:01 +03:00
Stanislav Asunkin
fac192c022
tests/modules/performance/byte-compile-lua: improve tests
...
* improve assert messages
* validate both byte-compiled and non-byte-compiled files are working
2025-05-12 17:39:01 +03:00
Stanislav Asunkin
d7475dd0fa
tests/modules/performance/byte-compile-lua: test with stub plugins
...
To reduce unexpected breakages due to changes in nixpkgs, replace the
tested plugins with specially crafted stub plugins.
2025-05-12 17:39:01 +03:00
Stanislav Asunkin
5b47c65705
tests/modules/performance/byte-compile-lua: improve bytecode detection
...
Previously, to determine if a file is byte-compiled, a simple binary
file detection was used, specifically checking if it contained any null
bytes. This commit updates the check to read the file header and compare
it with a known LuaJIT header.
2025-05-12 17:39:01 +03:00
Stanislav Asunkin
ddddd780e0
tests/fetch-tests: avoid unnecessary copy-to-store
...
Previously path was concatenated using string interpolation. This commit
switches from string interpolation to path interpolation.
The problem is nix will copy the "${directory}" to a new store
object, meaning anything outside its root won't be available.
From the nix manual:
> A path in an interpolated expression is first copied into the Nix
> store, and the resulting string is the store path of the newly created
> store object.
https://nix.dev/manual/nix/2.28/language/string-interpolation#interpolated-expression
2025-05-12 15:24:52 +01:00
github-actions[bot]
8dbd015500
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'home-manager':
'github:nix-community/home-manager/6991569cb7cdde9891f52b43abe9916779df45b0?narHash=sha256-tSEJ/8Tjtoy4yKbfMhIgKcSR/UJ4GjYlM4BT84%2BYKW8%3D' (2025-05-11)
→ 'github:nix-community/home-manager/fb061f555f821fe4fb49f8f6f2a0cc3d5728bd52?narHash=sha256-IDsM/9/tHQBlhG3tXI2fTM84AUN1uRa7JDPT1LMlGes%3D' (2025-05-12)
• Updated input 'treefmt-nix':
'github:numtide/treefmt-nix/4819332186ee7058f9973ab5c2f245d6936e9530?narHash=sha256-jCKoQycs5GB04JeGdj5kdpLJuKukJp%2B8H91EzJuMBlM%3D' (2025-05-11)
→ 'github:numtide/treefmt-nix/708ec80ca82e2bbafa93402ccb66a35ff87900c5?narHash=sha256-uoQ21EWsAhyskNo8QxrTVZGjG/dV4x5NM1oSgrmNDJY%3D' (2025-05-11)
2025-05-12 12:16:49 +00:00
Jalil David Salamé Messina
69266437be
plugins/hunk: init
...
Add support for [hunk.nvim][1], a plugin for splitting diffs.
Also add myself as a maintainer for it.
[1]: https://github.com/julienvincent/hunk.nvim
2025-05-12 08:42:08 +02:00
Jalil David Salamé Messina
b505a2aebd
maintainers: add jalil-salame
...
Adding myself as a maintainer
2025-05-12 08:41:31 +02:00
Matt Sturgeon
3212791972
flake: add overridable systems input
...
Users can specify which systems to use by having our `systems` input
follow a different file or flake:
```nix
{
inputs = {
# Here we list systems in a local file
inputs.systems.url = "path:./systems.nix";
inputs.systems.flake = false;
inputs.nixvim.url = "github:nix-community/nixvim";
# Here we override the list of systems with only our own
inputs.nixvim.inputs.systems.follows = "systems";
# ...
};
outputs = inputs: {
# ...
};
}
```
Alternatively, instead of users listing systems in a local file, they
can use an external flake, e.g.:
- github:nix-systems/default
- Exposes aarch64 and x86_64 for linux and darwin
- github:nix-systems/default-linux
- Exposes aarch64 and x86_64 for linux
- github:nix-systems/default-darwin
- Exposes aarch64 and x86_64 for darwin
- github:nix-systems/aarch64-darwin
- github:nix-systems/aarch64-linux
- github:nix-systems/x86_64-darwin
- github:nix-systems/x86_64-linux
See https://github.com/nix-systems/nix-systems
2025-05-12 03:56:19 +01:00
github-actions[bot]
02a85bd293
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'home-manager':
'github:nix-community/home-manager/e95a7c5b6fa93304cd2fd78cf676c4f6d23c422c?narHash=sha256-axfz/jBEH9XHpS7YSumstV7b2PrPf7L8bhWUtLBv3nA%3D' (2025-05-09)
→ 'github:nix-community/home-manager/6991569cb7cdde9891f52b43abe9916779df45b0?narHash=sha256-tSEJ/8Tjtoy4yKbfMhIgKcSR/UJ4GjYlM4BT84%2BYKW8%3D' (2025-05-11)
• Updated input 'treefmt-nix':
'github:numtide/treefmt-nix/29ec5026372e0dec56f890e50dbe4f45930320fd?narHash=sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4%3D' (2025-05-02)
→ 'github:numtide/treefmt-nix/4819332186ee7058f9973ab5c2f245d6936e9530?narHash=sha256-jCKoQycs5GB04JeGdj5kdpLJuKukJp%2B8H91EzJuMBlM%3D' (2025-05-11)
2025-05-11 12:14:01 +00:00
github-actions[bot]
e527939f79
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'home-manager':
'github:nix-community/home-manager/a51598236f23c89e59ee77eb8e0614358b0e896c?narHash=sha256-0364XVBdfEA8rWfqEPvsgBqGFfq5r9LAo9CS9tvT7tg%3D' (2025-05-08)
→ 'github:nix-community/home-manager/e95a7c5b6fa93304cd2fd78cf676c4f6d23c422c?narHash=sha256-axfz/jBEH9XHpS7YSumstV7b2PrPf7L8bhWUtLBv3nA%3D' (2025-05-09)
2025-05-10 12:13:54 +00:00
Matt Sturgeon
1b1e43a36e
plugins/oil-git-status: set signcolumn
sane default
2025-05-09 21:23:21 +01:00
Matt Sturgeon
17e13d478d
plugins/oil-git-status: improve signcolumn
warning
...
The warning should trigger when a valid value is configured that
restricts the sign column to less than 2 columns.
2025-05-09 21:23:06 +01:00
Matt Sturgeon
2797fd8b64
plugins/oil-git-status: update signcolumn
instructions
...
See:
- https://github.com/refractalize/oil-git-status.nvim#configuration
- https://neovim.io/doc/user/options.html#'signcolumn '
2025-05-09 19:26:36 +01:00
Matt Sturgeon
3556951d36
plugins/oil-git-status: fix whitespace in desc
2025-05-09 19:12:43 +01:00
github-actions[bot]
52db53cea2
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'home-manager':
'github:nix-community/home-manager/50894120e8ac792a5d3046d23e4e4c4ef32cf09c?narHash=sha256-mSqWQsJYMJBI3%2BX3opqaUqeNsGQxVdaNL5iUF7a6p50%3D' (2025-05-08)
→ 'github:nix-community/home-manager/a51598236f23c89e59ee77eb8e0614358b0e896c?narHash=sha256-0364XVBdfEA8rWfqEPvsgBqGFfq5r9LAo9CS9tvT7tg%3D' (2025-05-08)
• Updated input 'nix-darwin':
'github:lnl7/nix-darwin/760a11c87009155afa0140d55c40e7c336d62d7a?narHash=sha256-Y062AuRx6l%2BTJNX8wxZcT59SSLsqD9EedAY0mqgTtQE%3D' (2025-05-03)
→ 'github:lnl7/nix-darwin/6cb36e8327421c61e5a3bbd08ed63491b616364a?narHash=sha256-GeC99gu5H6%2BAjBXsn5dOhP4/ApuioGCBkufdmEIWPRs%3D' (2025-05-08)
2025-05-09 12:15:36 +00:00
Tran Minh Hieu
cacdb97365
config-examples: add cirius-nix ( #3307 )
2025-05-09 10:23:35 +00:00
Alison Jenkins
2d485ca1a2
colorschemes/bamboo: init
2025-05-09 08:20:57 +01:00
Heitor Augusto
a6eda59091
plugins/lz-n: update references to options
...
Update the extraConfig function to access settings through opts parameter
instead of direct import. Also remove the unused options import for cleaner code.
2025-05-09 01:14:36 +01:00
Heitor Augusto
4bd021d25f
plugins/lz-n: add tests for keymap(<plugin>).set API
2025-05-09 01:14:36 +01:00
Heitor Augusto
b1cfeb4f34
plugins/lz-n: add support for keymap(<plugin>).set API
...
Add a new `keymaps` option to the lz-n plugin that allows users to define
keymaps that use lz.n's keymap(<plugin>).set functionality. This enables
users to create keymaps that lazy-load plugins when specific keys are pressed,
using the familiar vim.keymap.set() API style.
The implementation:
- Adds a new `keymaps` option using mkMapOptionSubmodule with a custom plugin property
- Exposes a simple and consistent interface for configuring lazy-loaded keymaps
- Processes these keymaps to generate corresponding Lua code with require('lz.n').keymap().set()
- Cleanly separates plugin specs from keymap definitions while preserving their relationship
2025-05-09 01:14:36 +01:00
Heitor Augusto
bb2e1acf70
plugins/lz-n: add HeitorAugustoLN as a maintainer
2025-05-09 01:14:36 +01:00
Heitor Augusto
a9938e06ae
plugins/lz-n: remove with lib
2025-05-09 01:14:36 +01:00
FKouhai
aa1ae69b57
plugins/oil-git-status: init
2025-05-09 00:19:09 +02:00
github-actions[bot]
36d63a7c3e
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'home-manager':
'github:nix-community/home-manager/708074ae6db9e0468e4f48477f856e8c2d059795?narHash=sha256-Mp5Bbvb%2BYlFEZ76C/0wFS6C1lRfH3D60u465wFNlnS0%3D' (2025-05-07)
→ 'github:nix-community/home-manager/50894120e8ac792a5d3046d23e4e4c4ef32cf09c?narHash=sha256-mSqWQsJYMJBI3%2BX3opqaUqeNsGQxVdaNL5iUF7a6p50%3D' (2025-05-08)
2025-05-09 05:11:20 +10:00
Austin Horstman
c1fa5ee942
plugins/dap-view: disable controls test
...
Needs upstreamed plugin update for us to test it.
2025-05-08 13:35:47 -05:00
Austin Horstman
cca235aacf
plugins/dap-view: init module
2025-05-08 13:35:47 -05:00
Austin Horstman
324801b226
plugins/whitespace: init module
2025-05-08 13:33:11 -05:00
Austin Horstman
1158bb13f2
plugins/visual-whitespace: init module
2025-05-08 13:32:52 -05:00
Austin Horstman
e656464da4
flake-modules/new-plugin: add dry run argument
...
Just to see the generated output in console instead of having to go find
the file.
2025-05-08 13:04:38 -05:00
Austin Horstman
d22e7878ec
flake-modules/new-plugin: add maintainer argument
...
Automatically insert maintainer information
2025-05-08 13:04:38 -05:00
Austin Horstman
0754cdc51d
flake-modules/new-plugin: sync with plugins/TEMPLATE.nix
2025-05-08 13:04:38 -05:00
Austin Horstman
f7b3f64847
flake-modules/new-plugin: refactor input normalization
2025-05-08 13:04:38 -05:00
Austin Horstman
94298096e8
flake-modules/new-plugin: optionalize package name
...
New default behavior accepts just the upstream plugin name and performs
the same package name normalization from nixpkgs.
2025-05-08 13:04:38 -05:00
Austin Horstman
c3b04f76ec
flake-modules/new-plugin: tweak template
...
Update for more modern settingsExample focused approach where we declare
fewer options.
2025-05-08 13:04:38 -05:00
Matt Sturgeon
10f899d669
plugins/lsp: correct motivation for onAttach
alias impl
...
Previously I said we alias the definitions instead of the value to allow
`mkOrder` to work correctly. That is incorrect, as order-priorities are
already sorted in `<opt>.definitions`.
The actual reason to use the definitions instead of the final value is
to avoid inf-recursion. The "from" option's `apply` function would read
the "to" option's value, which is defined based on the "from" option's
value, which is set by the "from" option's apply function...
For a one-way binding, `mkDerivedConfig` is best. For a two-way binding,
`mkAliasAndWrapDefsWithPriority` is necessary.
2025-05-08 15:51:18 +01:00
Austin Horstman
5fed6b9363
plugins/claude-code: don't test on darwin
...
Currently failing on our CI, for some reason.
2025-05-08 10:51:26 +02:00
Austin Horstman
52c68b4da4
plugins/claude-code: add claude-code dependency
2025-05-08 10:35:31 +02:00
Austin Horstman
b17c801f2e
plugins/claude-code: init module
2025-05-08 10:35:31 +02:00
Gaetan Lepage
6597afe209
tests/lsp: disable ols test because odin is broken
...
https://github.com/NixOS/nixpkgs/pull/404919
2025-05-07 22:43:05 +02:00
github-actions[bot]
60f9ddf369
generated: Updated lspconfig-servers.json
2025-05-07 19:58:51 +00:00
github-actions[bot]
dfca942dbb
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'dev-nixpkgs':
'github:NixOS/nixpkgs/ed30f8aba41605e3ab46421e3dcb4510ec560ff8?narHash=sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX%2BGGtN9f/n4lU%3D' (2025-05-04)
→ 'github:NixOS/nixpkgs/b3582c75c7f21ce0b429898980eddbbf05c68e55?narHash=sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0%3D' (2025-05-07)
• Updated input 'git-hooks':
'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82?narHash=sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco%3D' (2025-03-22)
→ 'github:cachix/git-hooks.nix/fa466640195d38ec97cf0493d6d6882bc4d14969?narHash=sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS%2BnoCWo%3D' (2025-05-06)
• Updated input 'home-manager':
'github:nix-community/home-manager/8a318641ac13d3bc0a53651feaee9560f9b2d89a?narHash=sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20%3D' (2025-05-05)
→ 'github:nix-community/home-manager/708074ae6db9e0468e4f48477f856e8c2d059795?narHash=sha256-Mp5Bbvb%2BYlFEZ76C/0wFS6C1lRfH3D60u465wFNlnS0%3D' (2025-05-07)
2025-05-07 19:58:26 +00:00
github-actions[bot]
9b5e955b51
flake.lock: Update
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/ed30f8aba41605e3ab46421e3dcb4510ec560ff8?narHash=sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX%2BGGtN9f/n4lU%3D' (2025-05-04)
→ 'github:NixOS/nixpkgs/b3582c75c7f21ce0b429898980eddbbf05c68e55?narHash=sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0%3D' (2025-05-07)
2025-05-07 19:58:20 +00:00
Matt Sturgeon
5c52e8f9e4
plugins.lsp: alias onAttach
to new lsp.onAttach
...
This simplifies the impl by doing global on-attach logic in a
`LspAttach` autocmd instead of adding lua lines to each server's
individual `on_attach` callback.
This is effectively a `mkAliasOptionModule` alias, other than the alias
only being applied when `plugins.lsp.enable`.
2025-05-07 14:51:45 +01:00
Matt Sturgeon
c26f5c2e31
plugins/lsp-format: use lsp.onAttach
instead of an autoCmd
2025-05-06 14:08:03 +01:00
Matt Sturgeon
a45b5f372f
modules/lsp: add onAttach
option
...
Similar to `plugins.lsp.onAttach`, implement a "global" equivalent to
the per-server `on_attach` callback.
This is implemented using a `LspAttach` autoCmd.
2025-05-06 14:08:03 +01:00
github-actions[bot]
391e4fd093
flake/dev/flake.lock: Update
...
Flake lock file updates:
• Updated input 'dev-nixpkgs':
'github:NixOS/nixpkgs/6b1c028bce9c89e9824cde040d6986d428296055?narHash=sha256-VBmKSkmw9PYBCEGhBKzORjx%2BnwNZkPZyHcUHE21A/ws%3D' (2025-05-04)
→ 'github:NixOS/nixpkgs/ed30f8aba41605e3ab46421e3dcb4510ec560ff8?narHash=sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX%2BGGtN9f/n4lU%3D' (2025-05-04)
2025-05-06 12:17:30 +00:00
github-actions[bot]
1d0e4a0bb5
flake.lock: Update
...
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/6b1c028bce9c89e9824cde040d6986d428296055?narHash=sha256-VBmKSkmw9PYBCEGhBKzORjx%2BnwNZkPZyHcUHE21A/ws%3D' (2025-05-04)
→ 'github:NixOS/nixpkgs/ed30f8aba41605e3ab46421e3dcb4510ec560ff8?narHash=sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX%2BGGtN9f/n4lU%3D' (2025-05-04)
2025-05-06 12:17:25 +00:00
Matt Sturgeon
5308425718
modules/lsp/servers: move to dedicated file/dir
...
Move the code related to the `lsp.servers` option into a dedicated module,
cleaning up `modules/lsp/default.nix`.
2025-05-05 23:43:30 +01:00
Jeremy Fleischman
64cd675ece
Port lsp-format to use non-deprecated setup instructions
...
Upstream still documents the now-deprecated
`require("lspconfig").<name>.setup` mechanism. I believe the modern
alternative is to register a `LspAttach` autocmd. For more context, see:
- https://github.com/lukas-reineke/lsp-format.nvim/issues/98
- https://github.com/lukas-reineke/lsp-format.nvim/pull/99
2025-05-05 14:13:25 -07:00