diff --git a/config/plugins/lsp/lsp.nix b/config/plugins/lsp/lsp.nix index 52c2ffe..6b1d122 100644 --- a/config/plugins/lsp/lsp.nix +++ b/config/plugins/lsp/lsp.nix @@ -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; diff --git a/flake.nix b/flake.nix index 84cb5f8..7d22bdf 100644 --- a/flake.nix +++ b/flake.nix @@ -30,8 +30,8 @@ perSystem = { - system, pkgs, + system, self', lib, ... diff --git a/pkgs/puppet-editor-services/Gemfile b/pkgs/puppet-editor-services/Gemfile new file mode 100644 index 0000000..3ea93be --- /dev/null +++ b/pkgs/puppet-editor-services/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'puppet-editor-services' diff --git a/pkgs/puppet-editor-services/Gemfile.lock b/pkgs/puppet-editor-services/Gemfile.lock new file mode 100644 index 0000000..ccd0fbb --- /dev/null +++ b/pkgs/puppet-editor-services/Gemfile.lock @@ -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 diff --git a/pkgs/puppet-editor-services/gemset.nix b/pkgs/puppet-editor-services/gemset.nix new file mode 100644 index 0000000..343fdcf --- /dev/null +++ b/pkgs/puppet-editor-services/gemset.nix @@ -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"; + }; +} diff --git a/pkgs/puppet-editor-services/package.nix b/pkgs/puppet-editor-services/package.nix new file mode 100644 index 0000000..0b353a4 --- /dev/null +++ b/pkgs/puppet-editor-services/package.nix @@ -0,0 +1,8 @@ +{ + bundlerApp, +}: +bundlerApp { + pname = "puppet-editor-services"; + gemdir = ./.; + exes = [ "puppet-languageserver" ]; +}