Adding helix-cogs as a flake output

These are necessary for creating dev environments which use the plugin
system.  Making them a flake output makes it easy to get them without
having `cargo xtask code-gen` modify your ~/.config directory.
pull/8675/merge^2^2
Matt Rixman 2 months ago
parent dd2d562c14
commit 5b4a04718f

@ -74,6 +74,25 @@
# filter out unnecessary paths
filter = ignorePaths;
};
helix-cogs = craneLibStable.buildPackage (commonArgs // {
pname = "helix-cogs";
version = "0.1.0";
cargoArtifacts = craneLibStable.buildDepsOnly commonArgs;
buildPhase = ''
export HOME=$PWD/build_home # code-gen will write files relative to $HOME
cargoBuildLog=$(mktemp cargoBuildLogXXXX.json)
cargo run --package xtask -- code-gen --message-format json-render-diagnostics >"$cargoBuildLog"
'';
postInstall = ''
mkdir -p $out/cogs
cp -r build_home/.config/helix/* "$out/cogs"
'';
});
makeOverridableHelix = old: config: let
grammars = pkgs.callPackage ./grammars.nix config;
runtimeDir = pkgs.runCommand "helix-runtime" {} ''
@ -144,6 +163,7 @@
'';
});
helix = makeOverridableHelix self.packages.${system}.helix-unwrapped {};
helix-cogs = helix-cogs;
default = self.packages.${system}.helix;
};

@ -871,7 +871,10 @@ fn load_editor_api(engine: &mut Engine, generate_sources: bool) {
let mut target_directory = helix_runtime_search_path();
if !target_directory.exists() {
std::fs::create_dir(&target_directory).unwrap();
std::fs::create_dir_all(&target_directory).unwrap_or_else(|err| {
panic!("Failed to create directory {:?}: {}", target_directory, err)
});
eprintln!("Created directory: {:?}", target_directory);
}
target_directory.push("editor.scm");

Loading…
Cancel
Save