diff --git a/flake.nix b/flake.nix index 34e140bb..35c98dd4 100644 --- a/flake.nix +++ b/flake.nix @@ -57,26 +57,6 @@ inherit system; config.allowUnfree = true; }; - extractRustAnalyzer = { - stdenv, - pkgs, - }: - stdenv.mkDerivation { - pname = "extract_rust_analyzer"; - version = "master"; - - dontUnpack = true; - dontBuild = true; - - buildInputs = [pkgs.python3]; - - installPhase = '' - ls -la - mkdir -p $out/bin - cp ${./helpers/extract_rust_analyzer.py} $out/bin/extract_rust_analyzer.py - ''; - }; - extractRustAnalyzerPkg = pkgs.callPackage extractRustAnalyzer {}; in { checks = (import ./tests { @@ -116,34 +96,13 @@ inherit (self.checks.${system}.pre-commit-check) shellHook; }; }; - packages = { - docs = pkgs-unfree.callPackage (import ./docs) { - modules = nixvimModules; - }; - runUpdates = - pkgs.callPackage - ({ - pkgs, - stdenv, - }: - stdenv.mkDerivation { - pname = "run-updates"; - inherit (pkgs.rust-analyzer) version src; - - nativeBuildInputs = with pkgs; [extractRustAnalyzerPkg alejandra]; - - buildPhase = '' - extract_rust_analyzer.py editors/code/package.json | - alejandra --quiet > rust-analyzer-config.nix - ''; - - installPhase = '' - mkdir -p $out/share - cp rust-analyzer-config.nix $out/share - ''; - }) - {}; - }; + packages = + { + docs = pkgs-unfree.callPackage (import ./docs) { + modules = nixvimModules; + }; + } + // (import ./helpers pkgs); legacyPackages = rec { makeNixvimWithModule = import ./wrappers/standalone.nix pkgs modules; makeNixvim = configuration: diff --git a/helpers/default.nix b/helpers/default.nix new file mode 100644 index 00000000..628d3117 --- /dev/null +++ b/helpers/default.nix @@ -0,0 +1,16 @@ +pkgs: rec { + rust-analyzer-config = pkgs.callPackage ./rust-analyzer {}; + autogenerated-configs = pkgs.callPackage ({stdenv}: + stdenv.mkDerivation { + pname = "autogenerated-configs"; + version = "master"; + + dontUnpack = true; + dontBuild = true; + + installPhase = '' + mkdir -p $out + cp ${rust-analyzer-config}/share/* $out + ''; + }) {}; +} diff --git a/helpers/rust-analyzer/default.nix b/helpers/rust-analyzer/default.nix new file mode 100644 index 00000000..586e2f8c --- /dev/null +++ b/helpers/rust-analyzer/default.nix @@ -0,0 +1,39 @@ +{ + stdenv, + python3, + rust-analyzer, + alejandra, +}: let + extract = stdenv.mkDerivation { + pname = "extract_rust_analyzer"; + version = "1"; + + src = ./extract.py; + + dontUnpack = true; + dontBuild = true; + + buildInputs = [python3]; + + installPhase = '' + mkdir -p $out/bin + cp $src $out/bin/extract_rust_analyzer.py + ''; + }; +in + stdenv.mkDerivation { + pname = "rust-analyzer-config"; + inherit (rust-analyzer) version src; + + nativeBuildInputs = [alejandra extract]; + + buildPhase = '' + extract_rust_analyzer.py editors/code/package.json | + alejandra --quiet > rust-analyzer-config.nix + ''; + + installPhase = '' + mkdir -p $out/share + cp rust-analyzer-config.nix $out/share + ''; + } diff --git a/helpers/extract_rust_analyzer.py b/helpers/rust-analyzer/extract.py similarity index 100% rename from helpers/extract_rust_analyzer.py rename to helpers/rust-analyzer/extract.py