diff options
author | tdro <tdro@users.noreply.github.com> | 2020-12-14 21:37:15 -0500 |
---|---|---|
committer | tdro <tdro@users.noreply.github.com> | 2020-12-14 21:40:07 -0500 |
commit | dceea6915aa54cb1e0b69c8c85a20e4b8bd2b85c (patch) | |
tree | b7a53282788d20ab78427237f7d86259974003e4 /.config | |
parent | f85adb0dc8728ffbf389901f65af8e7fcd8f30db (diff) | |
download | dotfiles-dceea6915aa54cb1e0b69c8c85a20e4b8bd2b85c.tar.gz dotfiles-dceea6915aa54cb1e0b69c8c85a20e4b8bd2b85c.tar.bz2 dotfiles-dceea6915aa54cb1e0b69c8c85a20e4b8bd2b85c.zip |
.vimrc: Add yaml round trip linter
Diffstat (limited to '.config')
-rw-r--r-- | .config/nixpkgs/config.nix | 11 | ||||
-rw-r--r-- | .config/nixpkgs/packages/ruamel.yaml.cmd/default.nix | 68 | ||||
-rw-r--r-- | .config/yamllint/config | 32 |
3 files changed, 109 insertions, 2 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix index 15dd1ac..8576a48 100644 --- a/.config/nixpkgs/config.nix +++ b/.config/nixpkgs/config.nix @@ -286,8 +286,7 @@ in Python = pkgs.buildEnv { name = "python"; paths = [ - (python38.withPackages - (ps: with ps; [ mypy bandit pylint pip2nix pyflakes ])) + (python38.withPackages (ps: with ps; [ mypy bandit pylint pip2nix pyflakes ])) ]; }; @@ -369,5 +368,13 @@ in csslint ]; }; + + YAML = pkgs.buildEnv { + name = "yaml"; + paths = [ + (callPackage ./packages/ruamel.yaml.cmd/default.nix {}) + python38Packages.yamllint + ]; + }; }; } diff --git a/.config/nixpkgs/packages/ruamel.yaml.cmd/default.nix b/.config/nixpkgs/packages/ruamel.yaml.cmd/default.nix new file mode 100644 index 0000000..f0ca9f6 --- /dev/null +++ b/.config/nixpkgs/packages/ruamel.yaml.cmd/default.nix @@ -0,0 +1,68 @@ +{ stdenv, python38 }: + +with python38.pkgs; + +let + + meta = with stdenv.lib; { + license = licenses.mit; + description = "Command line utility to manipulate YAML files"; + homepage = "https://sourceforge.net/p/ruamel-yaml-cmd/code/ci/default/tree"; + }; + + ruamel.std.argparse = buildPythonPackage rec { + pname = "ruamel.std.argparse"; + version = "0.8.3"; + src = fetchPypi { + inherit pname version; + sha256 = "0srv4g6jryyaz26csx315pbmfhm4rw8jhfsl7rq7krrglgqwjryi"; + }; + doCheck = false; + inherit meta; + }; + + ruamel.std.convert = buildPythonPackage rec { + pname = "ruamel.yaml.convert"; + version = "0.3.2"; + src = fetchPypi { + inherit pname version; + sha256 = "1i6919b5f5ygj7y7c4x0wi91n8y0mw4nf9f0bcfjk29i594xjph6"; + }; + propagatedBuildInputs = [ python-dateutil ruamel_yaml ]; + doCheck = false; + inherit meta; + }; + + ruamel.yaml.cmd = buildPythonPackage rec { + pname = "ruamel.yaml.cmd"; + version = "0.5.6"; + src = fetchPypi { + inherit pname version; + sha256 = "0zc2h6b721r8c05dm7y8zgrgbvifbgcm8jmqvns7ar4ajll3cvwv"; + }; + propagatedBuildInputs = [ configobj ruamel.std.argparse ruamel.std.convert ]; + doCheck = false; + dontWrapPythonPrograms = true; + inherit meta; + }; + +in buildPythonApplication rec { + + pname = ruamel.yaml.cmd.pname; + version = ruamel.yaml.cmd.version; + propagatedBuildInputs = [ ruamel.yaml.cmd ]; + pythonEnvironment = python38.withPackages (_: propagatedBuildInputs); + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp ${ruamel.yaml.cmd}/bin/yaml $out/bin + sed -i 's|^#!.*$|#!${pythonEnvironment}/bin/python3.8|' $out/bin/yaml + runHook postInstall + ''; + + dontUnpack = true; + dontBuild = true; + doCheck = false; + inherit meta; +} diff --git a/.config/yamllint/config b/.config/yamllint/config new file mode 100644 index 0000000..2e4932f --- /dev/null +++ b/.config/yamllint/config @@ -0,0 +1,32 @@ +--- +yaml-files: +- '*.yaml' +- '*.yml' +- .yamllint + +rules: + braces: enable + brackets: enable + colons: enable + commas: enable + comments: + level: warning + comments-indentation: + level: warning + document-end: disable + document-start: + level: warning + empty-lines: enable + empty-values: disable + hyphens: enable + indentation: disable + key-duplicates: enable + key-ordering: disable + line-length: enable + new-line-at-end-of-file: enable + new-lines: enable + octal-values: disable + quoted-strings: disable + trailing-spaces: enable + truthy: + level: warning |