aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/nixpkgs/config.nix1
-rw-r--r--.config/nixpkgs/packages/stylelint/default.nix37
-rwxr-xr-x.local/bin/stylelint2
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" "$@";