From 0a4c689657cdb62d13bf055b9e418e316836454e Mon Sep 17 00:00:00 2001 From: lelgenio Date: Thu, 26 Jan 2023 17:57:37 -0300 Subject: [PATCH] wip --- flake.lock | 35 +++++- flake.nix | 7 ++ pkgs/angular-lock/package-lock.json | 166 ++++++++++++++++++++++++++++ pkgs/angular-lsp.nix | 16 +++ pkgs/default.nix | 4 +- 5 files changed, 226 insertions(+), 2 deletions(-) create mode 100644 pkgs/angular-lock/package-lock.json create mode 100644 pkgs/angular-lsp.nix diff --git a/flake.lock b/flake.lock index eeb81cc..01e9f6b 100644 --- a/flake.lock +++ b/flake.lock @@ -386,6 +386,24 @@ "type": "github" } }, + "nix-npm-buildpackage": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1670813451, + "narHash": "sha256-v0IvQ35CMKtPreGlxWb1FvFUraJNZd144+MbiDwGoAA=", + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "rev": "ec0365cd14a3359a23b80a9e2531a09afc3488fc", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "nix-npm-buildpackage", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1665732960, @@ -450,6 +468,20 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1653917367, + "narHash": "sha256-04MsJC0g9kE01nBuXThMppZK+yvCZECQnUaZKSU+HJo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "437c8e6554911095f0557d524e9d2ffe1c26e33a", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1674407282, "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=", @@ -569,7 +601,8 @@ "material-wifi-icons": "material-wifi-icons", "nil-lsp": "nil-lsp", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_2", + "nix-npm-buildpackage": "nix-npm-buildpackage", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", "plymouth-themes": "plymouth-themes", diff --git a/flake.nix b/flake.nix index 07b3974..78e24a5 100644 --- a/flake.nix +++ b/flake.nix @@ -49,9 +49,16 @@ devenv.url = "github:cachix/devenv/v0.5"; devenv.inputs.nixpkgs.follows = "nixpkgs-unstable"; + nix-npm-buildpackage.url = "github:serokell/nix-npm-buildpackage"; + dzgui.url = "github:aclist/dztui/dzgui"; dzgui.flake = false; + inputs.nix-ld.url = "github:Mic92/nix-ld"; + # this line assume that you also have nixpkgs as an input + inputs.nix-ld.inputs.nixpkgs.follows = "nixpkgs"; + + # my stuff dhist = { url = "github:lelgenio/dhist"; diff --git a/pkgs/angular-lock/package-lock.json b/pkgs/angular-lock/package-lock.json new file mode 100644 index 0000000..73c87cd --- /dev/null +++ b/pkgs/angular-lock/package-lock.json @@ -0,0 +1,166 @@ +{ + "name": "@angular/language-server", + "version": "15.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@angular/language-server", + "version": "15.1.0", + "license": "MIT", + "dependencies": { + "@angular/language-service": "15.1.0", + "vscode-html-languageservice": "^4.2.5", + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver": "7.0.0", + "vscode-languageserver-textdocument": "^1.0.7", + "vscode-uri": "3.0.3" + }, + "bin": { + "ngserver": "bin/ngserver" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + } + }, + "node_modules/@angular/language-service": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.1.0.tgz", + "integrity": "sha512-+Hup4pCxHQ/QQzS5AIhztMUwVplT//zv5AlG2jtS60CdxhaT2DwYyFiJkF+amIh4cryVh7Hd/eQs/TH055vUhA==", + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.5.tgz", + "integrity": "sha512-dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==", + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.4", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.3" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" + }, + "node_modules/vscode-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", + "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==" + } + }, + "dependencies": { + "@angular/language-service": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.1.0.tgz", + "integrity": "sha512-+Hup4pCxHQ/QQzS5AIhztMUwVplT//zv5AlG2jtS60CdxhaT2DwYyFiJkF+amIh4cryVh7Hd/eQs/TH055vUhA==" + }, + "vscode-html-languageservice": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.5.tgz", + "integrity": "sha512-dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==", + "requires": { + "vscode-languageserver-textdocument": "^1.0.4", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.3" + } + }, + "vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==" + }, + "vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "requires": { + "vscode-languageserver-protocol": "3.16.0" + } + }, + "vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "requires": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + }, + "dependencies": { + "vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" + } + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + }, + "vscode-languageserver-types": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" + }, + "vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" + }, + "vscode-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz", + "integrity": "sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==" + } + } +} diff --git a/pkgs/angular-lsp.nix b/pkgs/angular-lsp.nix new file mode 100644 index 0000000..ac3cd74 --- /dev/null +++ b/pkgs/angular-lsp.nix @@ -0,0 +1,16 @@ +{ pkgs, fetchFromGithub, buildNpmPackage, symlinkJoin }: +let + source = pkgs.{ + url = "https://registry.npmjs.org/@angular/language-server/-/language-server-15.1.0.tgz"; + sha256 = "0v35gf8bd50fbdp02kp87qsmlhixb6wjb62817jpivadh0hmidy4"; + }; + lock = ./angular-lock; +in +buildNpmPackage { + src = symlinkJoin { + name = "angular-lsp-source"; + paths = [ source lock ]; + }; + npmBuild = "npm run build"; +} + diff --git a/pkgs/default.nix b/pkgs/default.nix index 5dd73d3..86b0171 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -5,5 +5,7 @@ dzgui = pkgs.callPackage ./dzgui.nix { }; plymouth-theme-red = pkgs.callPackage ./plymouth-theme-red.nix { inherit inputs; }; cargo-checkmate = pkgs.callPackage ./cargo-checkmate.nix { }; - angular-lsp = pkgs.callPackage ./angular-lsp { }; + angular-lsp = pkgs.callPackage ./angular-lsp.nix { + inherit (pkgs.callPackage inputs.nix-npm-buildpackage { }) buildNpmPackage; + }; }