diff --git a/.editorconfig b/.editorconfig
index 64497f3ac3a13244bb1d5da70f70871e85af499d..ce8045a5e06d1c621debfcfebd83355589ee92a7 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -35,6 +35,9 @@ indent_size = 2
 
 [*.lua]
 
+[{Makefile,*.mk}]
+indent_style = unset
+
 [*.md]
 indent_style = space
 indent_size = 4
@@ -58,3 +61,7 @@ indent_size = 2
 [CMakeLists.txt]
 indent_style = space
 indent_size = 2
+
+[{docs,contrib/ci}/*site*/**/*.conf]
+indent_style = space
+indent_size = 2
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index ce830eff6d3dacfd6c12fbd1b79af888642e6c3e..a5ed4f0dc7465280c29e47d5458de972dba437fc 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -30,3 +30,25 @@ jobs:
         run: ln -s ./docs/site-example ./site
       - name: Lint shell code
         run: make lint-sh
+
+  editorconfig:
+    name: Editorconfig
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v1
+      - name: Install Dependencies
+        run: sudo apt install curl tar
+      - name: Install editorconfig-checker
+        env:
+          VERSION: 2.6.0
+          OS: linux
+          ARCH: amd64
+        run: |
+          curl -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz
+          tar xzf ec-$OS-$ARCH.tar.gz
+          sudo mv ./bin/ec-$OS-$ARCH /usr/bin/editorconfig-checker
+          sudo chmod +x /usr/bin/editorconfig-checker
+      - name: Install example site
+        run: ln -s ./docs/site-example ./site
+      - name: Lint editorconfig
+        run: make lint-editorconfig
diff --git a/Makefile b/Makefile
index 565a32a08d9579ac8ec3210b93e2389aef62b61d..695b1bc73cf43c0cdfb86d776f0f45d6883bfca2 100644
--- a/Makefile
+++ b/Makefile
@@ -151,7 +151,10 @@ list-targets: FORCE
 		echo "$$target"
 	done
 
-lint: lint-lua lint-sh
+lint: lint-editorconfig lint-lua lint-sh
+
+lint-editorconfig: FORCE
+	@scripts/lint-editorconfig.sh
 
 lint-lua: FORCE
 	@scripts/lint-lua.sh
diff --git a/contrib/docker/Dockerfile b/contrib/docker/Dockerfile
index f003bafbdba3645e33c6298c6bfc4db1074a8d9b..ffcd67deb1059ec60d156adede9c725262b9d0f8 100644
--- a/contrib/docker/Dockerfile
+++ b/contrib/docker/Dockerfile
@@ -24,6 +24,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
     && apt-get clean \
     && rm -rf /var/lib/apt/lists/*
 
+RUN mkdir /tmp/ec &&\
+    wget -O /tmp/ec/ec-linux-amd64.tar.gz https://github.com/editorconfig-checker/editorconfig-checker/releases/download/2.6.0/ec-linux-amd64.tar.gz &&\
+    tar -xvzf /tmp/ec/ec-linux-amd64.tar.gz &&\
+    mv bin/ec-linux-amd64 /usr/local/bin/editorconfig-checker &&\
+    rm -rf /tmp/ec
+
 RUN useradd -d /gluon gluon
 USER gluon
 
diff --git a/scripts/lint-editorconfig.sh b/scripts/lint-editorconfig.sh
new file mode 100755
index 0000000000000000000000000000000000000000..997ddd173c57d10ad9131bda6985103ced8850d1
--- /dev/null
+++ b/scripts/lint-editorconfig.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e
+
+editorconfig-checker .github contrib docs package scripts targets tests ./*.* .luacheckrc .editorconfig
diff --git a/targets/ramips-mt7621 b/targets/ramips-mt7621
index 536c932c60a404e8a905be1ac762e299208186ef..4e6e1cff320d961956e964c5c3db9566fcb1ff6d 100644
--- a/targets/ramips-mt7621
+++ b/targets/ramips-mt7621
@@ -66,7 +66,7 @@ device('ubiquiti-unifi-6-lite', 'ubnt_unifi-6-lite', {
 -- Wavlink
 
 device('wavlink-ws-wn572hp3-4g', 'wavlink_ws-wn572hp3-4g', {
-        factory = false,
+	factory = false,
 })
 
 -- Xiaomi