diff --git a/package-lock.json b/package-lock.json
index 97be1ab6cac6097101a624706d224c9d9fba7932..a31f1062abcd27b1cc034a67c490f8a43f0a0dc5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -161,6 +161,14 @@
 			"integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
 			"dev": true
 		},
+		"agent-base": {
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+			"integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+			"requires": {
+				"es6-promisify": "^5.0.0"
+			}
+		},
 		"ajv": {
 			"version": "6.12.3",
 			"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
@@ -229,6 +237,10 @@
 			"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
 			"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
 		},
+		"b-language-server": {
+			"version": "https://github.com/SeeBasTStick/b-language-server/archive/v1.0.tar.gz",
+			"integrity": "sha512-wPj5YZ0IRJijQqvXZpM4kkq0+fy50G/uWl7dsEP3YHaDaezE7bNnyGg9tkMpJ7MpM3cmYWZsRYMlNV4xrResdA=="
+		},
 		"balanced-match": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -897,6 +909,49 @@
 			"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
 			"dev": true
 		},
+		"http-proxy-agent": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+			"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+			"requires": {
+				"agent-base": "4",
+				"debug": "3.1.0"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+					"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+				}
+			}
+		},
+		"https-proxy-agent": {
+			"version": "2.2.4",
+			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+			"integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+			"requires": {
+				"agent-base": "^4.3.0",
+				"debug": "^3.1.0"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "3.2.6",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+					"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				}
+			}
+		},
 		"ignore": {
 			"version": "4.0.6",
 			"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -1234,8 +1289,7 @@
 		"ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-			"dev": true
+			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 		},
 		"natural-compare": {
 			"version": "1.4.0",
@@ -1480,6 +1534,11 @@
 				"glob": "^7.1.3"
 			}
 		},
+		"run-script-os": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.1.tgz",
+			"integrity": "sha512-tM3mfchUIpo9WOFioO3eO/lTgRbtqcqBmSkkqfkjXmxn7vvhwykOXxOOKIXFP+ZConvLsS5KskM3yX+XBfDD4g=="
+		},
 		"safe-buffer": {
 			"version": "5.1.2",
 			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -1828,47 +1887,6 @@
 				"http-proxy-agent": "^2.1.0",
 				"https-proxy-agent": "^2.2.4",
 				"rimraf": "^2.6.3"
-			},
-			"dependencies": {
-				"agent-base": {
-					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
-					"integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
-					"requires": {
-						"es6-promisify": "^5.0.0"
-					}
-				},
-				"debug": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-					"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-					"requires": {
-						"ms": "2.0.0"
-					}
-				},
-				"http-proxy-agent": {
-					"version": "2.1.0",
-					"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
-					"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
-					"requires": {
-						"agent-base": "4",
-						"debug": "3.1.0"
-					}
-				},
-				"https-proxy-agent": {
-					"version": "2.2.4",
-					"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
-					"integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
-					"requires": {
-						"agent-base": "^4.3.0",
-						"debug": "^3.1.0"
-					}
-				},
-				"ms": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
-				}
 			}
 		},
 		"vscode-uri": {
diff --git a/package.json b/package.json
index 8b6a2aa1ce40345cb6ecebd1ab31e0f113a39df3..57fdf30fc9f9c36a8c91ac8c1f133c0c1752706a 100644
--- a/package.json
+++ b/package.json
@@ -113,8 +113,8 @@
 	"scripts": {
 		"vscode:prepublish": "tsc -p ./",
 		"compile": "tsc -watch -p ./",
-		"postinstall": "node ./node_modules/vscode/bin/install",
-		"test": "node ./node_modules/vscode/bin/test",
+		"install:nix": "./node_modules/b-language-server/gradlew shadowjar -p ./node_modules/b-language-server",
+		"install:windows": "./node_modules/b-language-server/gradlew.bat shadowjar -p ./node_modules/b-language-server",
 		"tslint": "gulp tslint"
 	},
 	"devDependencies": {
@@ -129,11 +129,13 @@
 		"@types/ndjson": "^1.5.0",
 		"@types/stream-to-array": "^2.3.0",
 		"@types/vscode": "^1.47.0",
+		"b-language-server": "https://github.com/SeeBasTStick/b-language-server/archive/v1.0.tar.gz",
 		"clean": "^4.0.2",
 		"error": "^10.4.0",
 		"mkdirp": "^1.0.4",
 		"ndjson": "^1.5.0",
 		"path": "^0.12.7",
+		"run-script-os": "^1.1.1",
 		"stream-to-array": "^2.3.0",
 		"ts-xor": "^1.0.8",
 		"vscode-api": "0.0.0",
diff --git a/src/extension.ts b/src/extension.ts
index 9ffcad7bf56ba8ff42443b272b7efc28eafcb578..d74b53cf0417bde029842f7a6e9fdf13c77c4fe3 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -21,7 +21,7 @@ export function activate(context: ExtensionContext) {
 
 	let serverOptions: ServerOptions = {
 		command: '/usr/bin/java',
-		args: [ "-jar", "/home/sebastian/IdeaProjects/b-language-server/build/libs/b-language-server-all.jar"]
+		args: [ "-jar", "./node_modules/b-language-server/build/libs/b-language-server-all.jar"]
 	};