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.rust-overlay.follows = "rust-overlay";
23 nixCargoIntegration.lib.makeOutputs {
25 renameOutputs = {"helix-term" = "helix";};
26 # Set default app to hx (binary is from helix-term release build)
27 # Set default package to helix-term release build
38 crateOverrides = common: _: {
39 helix-term = prev: let
40 inherit (common) pkgs;
43 path = "${common.root}/${rel}";
46 grammars = pkgs.callPackage ./grammars.nix config;
47 runtimeDir = pkgs.runCommandNoCC "helix-runtime" {} ''
49 ln -s ${mkRootPath "runtime"}/* $out
51 ln -s ${grammars} $out/grammars
54 # disable fetching and building of tree-sitter grammars in the helix-term build.rs
55 HELIX_DISABLE_AUTO_GRAMMAR_BUILD = "1";
56 # link languages and theme toml files since helix-term expects them (for tests)
58 pkgs.lib.concatMapStringsSep
60 (path: "ln -sf ${mkRootPath path} ..")
61 ["languages.toml" "theme.toml" "base16_theme.toml"];
62 buildInputs = (prev.buildInputs or []) ++ [common.cCompiler.cc.lib];
63 nativeBuildInputs = [pkgs.makeWrapper];
66 if [ -f "$out/bin/hx" ]; then
67 wrapProgram "$out/bin/hx" ''${makeWrapperArgs[@]} --set HELIX_RUNTIME "${runtimeDir}"
74 pkgs.lib.optionalAttrs
75 (config ? makeWrapperArgs)
76 {inherit (config) makeWrapperArgs;}
79 shell = common: prev: {
84 [lld_13 lldb cargo-flamegraph rust-analyzer] ++
85 (lib.optional (stdenv.isx86_64 && stdenv.isLinux) cargo-tarpaulin)
91 name = "HELIX_RUNTIME";
92 eval = "$PWD/runtime";
95 name = "RUST_BACKTRACE";
101 if common.pkgs.stdenv.isLinux
102 then "-C link-arg=-fuse-ld=lld -C target-cpu=native -Clink-arg=-Wl,--no-rosegment"
109 defaultOutputs = outputs {};
110 makeOverridableHelix = system: old:
116 (outputs args).packages.${system}.helix;
128 helix = makeOverridableHelix system packages.helix;
131 defaultOutputs.packages;
135 extra-substituters = ["https://helix.cachix.org"];
136 extra-trusted-public-keys = ["helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="];
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