diff --git a/config.nix b/config.nix index 414a68b..a732c0e 100644 --- a/config.nix +++ b/config.nix @@ -254,7 +254,7 @@ command = "sh"; args = [ "-c" - "set -o pipefail; ${gotools}/bin/goimports | ${gofumpt}/bin/gofumpt" + "set -o pipefail; ${lib.getExe' gotools "goimports"} | ${lib.getExe gofumpt}" ]; }; } @@ -262,7 +262,7 @@ name = "nix"; auto-format = true; formatter = { - command = "${nixfmt-rfc-style}/bin/nixfmt"; + command = "${lib.getExe nixfmt-rfc-style}"; args = [ "-q" ]; }; } @@ -270,13 +270,44 @@ name = "jsonnet"; auto-format = true; formatter = { - command = "${jsonnet}/bin/jsonnetfmt"; + command = "${lib.getExe' jsonnet "jsonnet"}"; args = [ "-" ]; }; } + { + name = "python"; + auto-format = true; + formatter = { + args = [ + "format" + "--stdin-filename" + "file.py" + "-" + ]; + command = "${lib.getExe ruff}"; + }; + language-servers = [ "pylsp" ]; + } ]; language-server = { nil.config.nil.nix.flake.autoEvalInputs = true; + pylsp.config.pylsp = { + plugins = { + flake8.enabled = false; + mypy = { + dmypy = true; + enabled = true; + report_progress = true; + }; + pycodestyle.enabled = false; + pyflakes.enabled = false; + ruff = { + enabled = true; + extendSelect = [ "I" ]; + format = [ "I" ]; + }; + }; + }; }; }; themes = { diff --git a/flake.nix b/flake.nix index d7cf81a..4b676d1 100644 --- a/flake.nix +++ b/flake.nix @@ -83,7 +83,9 @@ packages.x86_64-linux.default = pkgs.runCommand "hx" { - buildInputs = [ pkgs.makeWrapper ]; + buildInputs = with pkgs; [ + makeWrapper + ]; } '' mkdir $out @@ -112,7 +114,9 @@ mkdir -p $out/home/git ln -s ${ignoreFile} $out/home/git/ignore - makeWrapper ${pkgs.helix}/bin/hx $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime --set XDG_CONFIG_HOME $out/home + makeWrapper ${pkgs.helix}/bin/hx $out/bin/hx \ + --set HELIX_RUNTIME $out/lib/runtime \ + --set XDG_CONFIG_HOME $out/home \ ''; }; }