Skip to content

Commit 0b9a693

Browse files
authored
chore(ruff): split into ruff-format and ruff-check (#213)
This fixes ./example.sh and `nix flake check`. They depends on having .enable options.
1 parent 070f834 commit 0b9a693

File tree

6 files changed

+76
-50
lines changed

6 files changed

+76
-50
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,8 @@ functions.
278278
* prettier
279279
* protolint
280280
* purs-tidy
281-
* ruff
281+
* ruff-check
282+
* ruff-format
282283
* rufo
283284
* rustfmt
284285
* scalafmt
File renamed without changes.

examples/formatter-ruff-format.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Example generated by ../examples.sh
2+
[formatter.ruff-format]
3+
command = "ruff"
4+
excludes = []
5+
includes = ["*.py", "*.pyi"]
6+
options = ["format"]

programs/ruff-check.nix

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{ lib, pkgs, config, ... }:
2+
let
3+
cfg = config.programs.ruff-check;
4+
in
5+
{
6+
meta.maintainers = [ ];
7+
8+
imports = [
9+
(lib.mkRenamedOptionModule [ "programs" "ruff" "check" ] [ "programs" "ruff-check" "enable" ])
10+
(lib.mkRenamedOptionModule [ "programs" "ruff" "enable" ] [ "programs" "ruff-check" "enable" ])
11+
];
12+
13+
options.programs.ruff-check = {
14+
enable = lib.mkEnableOption "ruff linter" // {
15+
description = ''
16+
Whether to enable the Ruff linter, an extremely fast Python linter
17+
designed as a drop-in replacement for Flake8 (plus dozens of plugins),
18+
isort, pydocstyle, pyupgrade, autoflake, and more.
19+
'';
20+
};
21+
22+
package = lib.mkPackageOption pkgs "ruff" { };
23+
};
24+
25+
config = lib.mkIf cfg.enable {
26+
settings.formatter.ruff-check = {
27+
command = cfg.package;
28+
options = lib.mkBefore [ "check" "--fix" ];
29+
includes = [
30+
"*.py"
31+
"*.pyi"
32+
];
33+
};
34+
};
35+
}

programs/ruff-format.nix

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{ lib, pkgs, config, ... }:
2+
let
3+
cfg = config.programs.ruff-format;
4+
in
5+
{
6+
meta.maintainers = [ ];
7+
8+
imports = [
9+
(lib.mkRenamedOptionModule [ "programs" "ruff" "format" ] [ "programs" "ruff-format" "enable" ])
10+
];
11+
12+
options.programs.ruff-format = {
13+
enable = lib.mkEnableOption "ruff formatter" // {
14+
description = ''
15+
Whether to enable the Ruff formatter, an extremely fast Python code formatter
16+
designed as a drop-in replacement for Black.
17+
'';
18+
};
19+
20+
package = lib.mkPackageOption pkgs "ruff" { };
21+
};
22+
23+
config = lib.mkIf cfg.enable {
24+
settings.formatter.ruff-format = lib.mkIf cfg.enable {
25+
command = cfg.package;
26+
options = lib.mkBefore [ "format" ];
27+
includes = [
28+
"*.py"
29+
"*.pyi"
30+
];
31+
};
32+
};
33+
}

programs/ruff.nix

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)