feat: add puppet lsp package

Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
This commit is contained in:
Lander Van den Bulcke 2025-09-30 10:02:52 +02:00
parent 0f350e5188
commit 06bfb44459
Signed by: lander
GPG key ID: 0142722B4B0C536F
6 changed files with 459 additions and 2 deletions

View file

@ -65,7 +65,7 @@
};
puppet = {
enable = true;
package = pkgs.puppet-editor-services;
package = pkgs.callPackage ../../../pkgs/puppet-editor-services/package.nix { };
};
helm_ls = {
enable = true;

View file

@ -30,8 +30,8 @@
perSystem =
{
system,
pkgs,
system,
self',
lib,
...

View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'puppet-editor-services'

View file

@ -0,0 +1,71 @@
GEM
remote: https://rubygems.org/
specs:
concurrent-ruby (1.3.5)
deep_merge (1.2.2)
facter (4.10.0)
hocon (~> 1.3)
thor (>= 1.0.1, < 1.3)
fast_gettext (3.1.0)
prime
forwardable (1.3.3)
getoptlong (0.2.1)
hiera-eyaml (4.3.0)
highline (>= 2.1, < 4)
optimist (~> 3.1)
highline (3.1.2)
reline
hocon (1.4.0)
io-console (0.8.1)
locale (2.1.4)
molinillo (0.8.0)
multi_json (1.17.0)
optimist (3.2.1)
prime (0.1.4)
forwardable
singleton
puppet (8.10.0)
concurrent-ruby (~> 1.0)
deep_merge (~> 1.0)
facter (>= 4.3.0, < 5)
fast_gettext (>= 2.1, < 4)
getoptlong (~> 0.2.0)
locale (~> 2.1)
multi_json (~> 1.13)
puppet-resource_api (~> 1.5)
scanf (~> 1.0)
semantic_puppet (~> 1.0)
puppet-editor-services (2.0.4)
hiera-eyaml
molinillo
puppet-lint
puppet-strings
puppetfile-resolver
yard
puppet-lint (5.1.0)
puppet-resource_api (1.9.0)
hocon (>= 1.0)
puppet-strings (5.0.0)
puppet (>= 8.0.0)
rgen (~> 0.9)
yard (~> 0.9)
puppetfile-resolver (0.6.3)
molinillo (~> 0.6)
semantic_puppet (~> 1.0)
reline (0.6.2)
io-console (~> 0.5)
rgen (0.10.2)
scanf (1.0.0)
semantic_puppet (1.1.1)
singleton (0.3.0)
thor (1.2.2)
yard (0.9.37)
PLATFORMS
x86_64-linux
DEPENDENCIES
puppet-editor-services
BUNDLED WITH
2.6.6

View file

@ -0,0 +1,375 @@
{
concurrent-ruby = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
type = "gem";
};
version = "1.3.5";
};
deep_merge = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fjn4civid68a3zxnbgyjj6krs3l30dy8b4djpg6fpzrsyix7kl3";
type = "gem";
};
version = "1.2.2";
};
facter = {
dependencies = [
"hocon"
"thor"
];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "17d561xf4s5016fm9jkfkkafn6660g04fz1yp5xfvkb0j4xj32mp";
type = "gem";
};
version = "4.10.0";
};
fast_gettext = {
dependencies = [ "prime" ];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1i9anyxdsz3lxlg9cg2dcad1fwykz4lr45v2q3nwjp477b1q8k4w";
type = "gem";
};
version = "3.1.0";
};
forwardable = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1b5g1i3xdvmxxpq4qp0z4v78ivqnazz26w110fh4cvzsdayz8zgi";
type = "gem";
};
version = "1.3.3";
};
getoptlong = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
type = "gem";
};
version = "0.2.1";
};
hiera-eyaml = {
dependencies = [
"highline"
"optimist"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "02mb113yjzwb6jkckybzsiq803c688r9xpv4w1nxbckhkpma5sqr";
type = "gem";
};
version = "4.3.0";
};
highline = {
dependencies = [ "reline" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0jmvyhjp2v3iq47la7w6psrxbprnbnmzz0hxxski3vzn356x7jv7";
type = "gem";
};
version = "3.1.2";
};
hocon = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "106dmzsl1bxkqw5xaif012nwwfr3k9wff32cqc77ibjngknj6477";
type = "gem";
};
version = "1.4.0";
};
io-console = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1jszj95hazqqpnrjjzr326nn1j32xmsc9xvd97mbcrrgdc54858y";
type = "gem";
};
version = "0.8.1";
};
locale = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "107pm4ccmla23z963kyjldgngfigvchnv85wr6m69viyxxrrjbsj";
type = "gem";
};
version = "2.1.4";
};
molinillo = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg";
type = "gem";
};
version = "0.8.0";
};
multi_json = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "06sabsvnw0x1aqdcswc6bqrqz6705548bfd8z22jxgxfjrn1yn3n";
type = "gem";
};
version = "1.17.0";
};
optimist = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kp3f8g7g7cbw5vfkmpdv71pphhpcxk3lpc892mj9apkd7ys1y4c";
type = "gem";
};
version = "3.2.1";
};
prime = {
dependencies = [
"forwardable"
"singleton"
];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0pi2g9sd9ssyrpvbybh4skrgzqrv0rrd1q7ylgrsd519gjzmwxad";
type = "gem";
};
version = "0.1.4";
};
puppet = {
dependencies = [
"concurrent-ruby"
"deep_merge"
"facter"
"fast_gettext"
"getoptlong"
"locale"
"multi_json"
"puppet-resource_api"
"scanf"
"semantic_puppet"
];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fia3ji6isnqz4a31aq8k4nd8p7vkxn80hhgqfdc8kkrba7xxxgj";
type = "gem";
};
version = "8.10.0";
};
puppet-editor-services = {
dependencies = [
"hiera-eyaml"
"molinillo"
"puppet-lint"
"puppet-strings"
"puppetfile-resolver"
"yard"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kjah54y2byyqcvcc9vsn2r3kpvbk6qldrg45m5knv9yrypxlhir";
type = "gem";
};
version = "2.0.4";
};
puppet-lint = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "15ncdcl6q76qyxjw2w8k5ihfg2y0cl59qzgk805ml4b8fdkinmlh";
type = "gem";
};
version = "5.1.0";
};
puppet-resource_api = {
dependencies = [ "hocon" ];
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rxy5s7hl707x4sc1b4v2yqyii6pkym2gmsam3ri0f0xmmzyg0jb";
type = "gem";
};
version = "1.9.0";
};
puppet-strings = {
dependencies = [
"puppet"
"rgen"
"yard"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "12zsarq3pjxm71k7wj09a8rdqrbf0ssxkr67s10p972dmcfj54wz";
type = "gem";
};
version = "5.0.0";
};
puppetfile-resolver = {
dependencies = [
"molinillo"
"semantic_puppet"
];
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1kil8sbrl9c34ygrgm35893zygr4j6fjvfhbs4rs0b5n3cjrainm";
type = "gem";
};
version = "0.6.3";
};
reline = {
dependencies = [ "io-console" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ii8l0q5zkang3lxqlsamzfz5ja7jc8ln905isfdawl802k2db8x";
type = "gem";
};
version = "0.6.2";
};
rgen = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0wgk4brd1v63ivdh5nnlkynfxk8m7bac9q50ydgq3d50hx4ghy6r";
type = "gem";
};
version = "0.10.2";
};
scanf = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "000vxsci3zq8m1wl7mmppj7sarznrqlm6v2x2hdfmbxcwpvvfgak";
type = "gem";
};
version = "1.0.0";
};
semantic_puppet = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "15ksbizvakfx0zfdgjbh34hqnrnkjj47m4kbnsg58mpqsx45pzqm";
type = "gem";
};
version = "1.1.1";
};
singleton = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0y2pc7lr979pab5n5lvk3jhsi99fhskl5f2s6004v8sabz51psl3";
type = "gem";
};
version = "0.3.0";
};
thor = {
groups = [
"default"
"development"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
type = "gem";
};
version = "1.2.2";
};
yard = {
groups = [ "development" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "14k9lb9a60r9z2zcqg08by9iljrrgjxdkbd91gw17rkqkqwi1sd6";
type = "gem";
};
version = "0.9.37";
};
}

View file

@ -0,0 +1,8 @@
{
bundlerApp,
}:
bundlerApp {
pname = "puppet-editor-services";
gemdir = ./.;
exes = [ "puppet-languageserver" ];
}