2 description = "A post-modern text editor.";
5 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
7 url = "github:oxalica/rust-overlay";
8 inputs.nixpkgs.follows = "nixpkgs";
10 nixCargoIntegration = {
11 url = "github:yusdacra/nix-cargo-integration";
12 inputs.nixpkgs.follows = "nixpkgs";
13 inputs.rustOverlay.follows = "rust-overlay";
22 nixCargoIntegration.lib.makeOutputs {
24 renameOutputs = {"helix-term" = "helix";};
25 # Set default app to hx (binary is from helix-term release build)
26 # Set default package to helix-term release build
37 crateOverrides = common: _: {
38 helix-term = prev: let
39 inherit (common) pkgs;
42 path = "${common.root}/${rel}";
45 grammars = pkgs.callPackage ./grammars.nix {};
46 runtimeDir = pkgs.runCommandNoCC "helix-runtime" {} ''
48 ln -s ${mkRootPath "runtime"}/* $out
50 ln -s ${grammars} $out/grammars
53 # disable fetching and building of tree-sitter grammars in the helix-term build.rs
54 HELIX_DISABLE_AUTO_GRAMMAR_BUILD = "1";
55 # link languages and theme toml files since helix-term expects them (for tests)
57 pkgs.lib.concatMapStringsSep
59 (path: "ln -sf ${mkRootPath path} ..")
60 ["languages.toml" "theme.toml" "base16_theme.toml"];
61 buildInputs = (prev.buildInputs or []) ++ [common.cCompiler.cc.lib];
62 nativeBuildInputs = [pkgs.makeWrapper];
65 if [ -f "$out/bin/hx" ]; then
66 wrapProgram "$out/bin/hx" --set HELIX_RUNTIME "${runtimeDir}"
71 shell = common: prev: {
75 with common.pkgs; [lld_13 lldb cargo-tarpaulin cargo-flamegraph rust-analyzer]
81 name = "HELIX_RUNTIME";
82 eval = "$PWD/runtime";
85 name = "RUST_BACKTRACE";
91 if common.pkgs.stdenv.isLinux
92 then "-C link-arg=-fuse-ld=lld -C target-cpu=native -Clink-arg=-Wl,--no-rosegment"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list