dev/list-plugins: make it a proper package

This commit is contained in:
Gaetan Lepage 2024-12-16 13:42:46 +01:00
parent 0fb43cbfb6
commit bc3b99c4d9
4 changed files with 34 additions and 8 deletions

View file

@ -1,7 +1,10 @@
{ lib, inputs, ... }:
{
imports =
[ ./devshell.nix ]
[
./devshell.nix
./list-plugins
]
++ lib.optional (inputs.git-hooks ? flakeModule) inputs.git-hooks.flakeModule
++ lib.optional (inputs.treefmt-nix ? flakeModule) inputs.treefmt-nix.flakeModule;

View file

@ -106,11 +106,6 @@
(cd "$doc_derivation"/share/doc && ${pkgs.lib.getExe pkgs.python3} ${./server.py})
'';
}
{
name = "list-plugins";
command = ''${pkgs.python3.interpreter} ${./list-plugins.py} "$@"'';
help = "List plugins and get implementation infos";
}
{
name = "locate-lsp-packages";
command = ''${pkgs.python3.interpreter} ${./locate-lsp-packages.py}'';

View file

@ -0,0 +1,30 @@
{
perSystem =
{
config,
lib,
inputs',
system,
pkgs,
...
}:
{
packages.list-plugins = pkgs.writers.writePython3Bin "list-plugins" {
# Disable flake8 checks that are incompatible with the ruff ones
flakeIgnore = [
# line too long
"E501"
# line break before binary operator
"W503"
];
} (builtins.readFile ./list-plugins.py);
devshells.default.commands = [
{
name = "list-plugins";
command = ''${lib.getExe config.packages.list-plugins} "$@"'';
help = "List plugins and get implementation infos";
}
];
};
}

View file

@ -1,5 +1,3 @@
#!/usr/bin/env python3
import glob
import re
from argparse import ArgumentParser, RawTextHelpFormatter