diff options
-rw-r--r-- | .config/nixpkgs/config.nix | 1 | ||||
-rw-r--r-- | .config/nixpkgs/packages/stylelint/default.nix | 37 | ||||
-rwxr-xr-x | .local/bin/stylelint | 2 |
3 files changed, 40 insertions, 0 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix index d8f9248..334c9a6 100644 --- a/.config/nixpkgs/config.nix +++ b/.config/nixpkgs/config.nix @@ -418,6 +418,7 @@ in name = "css"; paths = [ (callPackage ./packages/csstidy/default.nix {}) + (callPackage ./packages/stylelint/default.nix {}) csslint ]; }; diff --git a/.config/nixpkgs/packages/stylelint/default.nix b/.config/nixpkgs/packages/stylelint/default.nix new file mode 100644 index 0000000..5f9a3df --- /dev/null +++ b/.config/nixpkgs/packages/stylelint/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchgit, yarn, mkYarnPackage }: + +mkYarnPackage rec { + + pname = "stylelint"; + url = "https://github.com/stylelint/stylelint.git"; + version = "b01ed25dfa3e8231a976eef76bd5e81fb535b1e9"; + sha256 = "18v71nxxbfwqz5by9nq9921bdar3ww0z5z7h0y6rgnpi6iy5ck4x"; + rev = version; + src = fetchgit { inherit url rev sha256; }; + packageJSON = "${src}/package.json"; + yarnLock = "${yarn-lock}/yarn.lock"; + defaultYarnFlags = [ "--offline" "--frozen-lockfile" "--ignore-engines" "--ignore-scripts" ]; + + yarn-lock = stdenv.mkDerivation { + name = "${pname}-yarn.lock"; + src = fetchgit { inherit url rev sha256; }; + buildInputs = [ yarn ]; + installPhase = '' + runHook preInstall + export HOME=. + mkdir -p $out + yarn import --ignore-engines --ignore-scripts + cp yarn.lock $out + runHook postInstall + ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "0cz16mnhagm300sfgmc031mzhbbwagbz3agji4hwrinw7bg3195f"; + }; + + meta = with lib; { + homepage = url; + license = licenses.mit; + description = "A mighty, modern linter that helps you avoid errors and enforce conventions in your styles."; + }; +} diff --git a/.local/bin/stylelint b/.local/bin/stylelint new file mode 100755 index 0000000..d5cbf8b --- /dev/null +++ b/.local/bin/stylelint @@ -0,0 +1,2 @@ +#!/bin/sh -eu +$(which stylelint --all | grep -v "local/bin" | head -n 1) --config "$HOME/.config/stylelint/config.js" "$@"; |