ansible-language-server: init at 26.1.3

This commit is contained in:
dtvillafana
2026-02-17 10:48:50 -06:00
parent 36e6063a3b
commit a0cbcaad77
4 changed files with 119 additions and 1 deletions
+5
View File
@@ -7227,6 +7227,11 @@
name = "Tom van Dijk";
keys = [ { fingerprint = "D044 F07B 8863 B681 26BD 79FE 7A98 4C82 07AD BA51"; } ];
};
dtvillafana = {
github = "dtvillafana";
githubId = 82293276;
name = "David Villafaña";
};
dudeofawesome = {
email = "tourist-04.iced@icloud.com";
github = "dudeofawesome";
@@ -0,0 +1,110 @@
{
lib,
fetchFromGitHub,
pkgs,
}:
let
pname = "ansible-language-server";
version = "26.1.3";
src = fetchFromGitHub {
owner = "ansible";
repo = "vscode-ansible";
tag = "v${version}";
hash = "sha256-DsEW3xP8Fa9nwPuyEFVqG6rvAZgr4TDB6jhyixdvqt8=";
};
# Fixed-output derivation to fetch yarn berry dependencies
offlineCache = pkgs.stdenvNoCC.mkDerivation {
name = "${pname}-${version}-yarn-cache";
inherit src;
nativeBuildInputs = [
pkgs.yarn-berry
pkgs.nodejs
pkgs.cacert
];
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "sha256-NYbHhvlVoSL7lT1EdFkNJlmzRzQ0Gudo5pF0t6JtSic=";
buildPhase = ''
export HOME=$TMPDIR
export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
yarn config set enableTelemetry false
yarn config set enableGlobalCache false
yarn config set cacheFolder .yarn/cache
yarn install --mode=skip-build
mkdir -p $out
cp -r .yarn/cache/* $out/
cp .yarnrc.yml $out/ || true
'';
dontInstall = true;
};
in
pkgs.stdenvNoCC.mkDerivation {
inherit pname version src;
nativeBuildInputs = with pkgs; [
yarn-berry
nodejs
makeWrapper
];
buildPhase = ''
export HOME=$TMPDIR
# Set up yarn cache from our FOD
mkdir -p .yarn/cache
for f in ${offlineCache}/*; do
if [ "$(basename $f)" != ".yarnrc.yml" ]; then
cp -r "$f" .yarn/cache/
fi
done
yarn config set enableTelemetry false
yarn config set enableGlobalCache false
yarn config set cacheFolder .yarn/cache
yarn config set enableNetwork false
# Only install deps for ansible-language-server workspace
yarn workspaces focus @ansible/ansible-language-server
# Build ansible-language-server (exclude tests)
cd packages/ansible-language-server
rm -rf test
yarn run compile
'';
installPhase = ''
mkdir -p $out/lib/node_modules/ansible-language-server
cp -r out package.json $out/lib/node_modules/ansible-language-server/
# Copy node_modules (yarn berry installs them at workspace root)
# Use -L to dereference symlinks (yarn creates symlinks for workspace packages)
cd ../..
cp -rL node_modules $out/lib/node_modules/ansible-language-server/
mkdir -p $out/lib/node_modules/ansible-language-server/bin
cp packages/ansible-language-server/bin/ansible-language-server $out/lib/node_modules/ansible-language-server/bin/
mkdir -p $out/bin
makeWrapper ${pkgs.nodejs}/bin/node $out/bin/ansible-language-server \
--prefix PATH : ${pkgs.python3}/bin \
--add-flags "$out/lib/node_modules/ansible-language-server/out/server/src/server.js"
'';
meta = with lib; {
changelog = "https://github.com/ansible/vscode-ansible/releases/tag/v${version}";
description = "Ansible Language Server";
mainProgram = "ansible-language-server";
homepage = "https://github.com/ansible/vscode-ansible";
license = licenses.mit;
maintainers = with lib.maintainers; [ dtvillafana ];
};
}
-1
View File
@@ -295,7 +295,6 @@ mapAliases {
androidndkPkgs_26 = throw "androidndkPkgs_26 has been removed, as it is EOL"; # Added 2025-08-09
anew = throw "'anew' has been removed, as it has been unmaintained upstream since March 2022"; # Added 2026-01-01
anonymousPro = anonymous-pro-fonts; # Added 2026-02-08
ansible-language-server = throw "ansible-language-server was removed, because it was unmaintained in nixpkgs."; # Added 2025-09-24
ansible-later = throw "ansible-later has been discontinued. The author recommends switching to ansible-lint"; # Added 2025-08-24
ansible_2_16 = throw "ansible_2_16 has been removed, as it is EOL"; # Added 2025-11-10
ansible_2_17 = throw "ansible_2_17 has been removed, as it is EOL"; # Added 2025-11-10
+4
View File
@@ -5441,6 +5441,10 @@ with pkgs;
ansible = python3Packages.toPythonApplication python3Packages.ansible-core;
ansible-language-server =
callPackage ../development/tools/language-servers/ansible-language-server
{ };
ansible-builder = with python3Packages; toPythonApplication ansible-builder;
yakut = python3Packages.callPackage ../development/tools/misc/yakut { };